Re: print change of clef after barline
On 31 May 2014, at 22:12, Thomas Morley wrote: 2014-05-31 20:05 GMT+02:00 Damian leGassick damianlegass...@mac.com: thanks Harm I found a way...though I don't understand how or why the vector works for break-align-orders Damian Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders Please specify whats not clear there and how to improve the description. Cheers, Harm what is not clear is this bit: The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. the override in this: \version 2.18.0 musicRH = { \override Staff.Clef.full-size-change = ##t \set Staff.printKeyCancellation = ##f \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) \key fis \major s1 \bar || \set Staff.forceClef = ##t \key es \major s \bar || \set Staff.forceClef = ##t \key a \major } \layout { ragged-right = ##f } \score { \new PianoStaff \new Staff {\musicRH} \new Staff {\musicRH} } has only one order, suggesting that it acts on end-of-line only, but it also affects middle of line and also changes the spacing at start of line I couldn't work out form the docs how to do the override just for middle of line (which is what I want), or how to do a vector with a different orders for end/middle/start respectively thanks Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
Damian leGassick damianlegass...@mac.com writes: On 31 May 2014, at 22:12, Thomas Morley wrote: Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders what is not clear is this bit: The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) has only one order, No. -- Scheme Procedure: make-vector len [fill] -- C Function: scm_make_vector (len, fill) Return a newly allocated vector of LEN elements. If a second argument is given, then each position is initialized to FILL. Otherwise the initial contents of each position is unspecified. suggesting that it acts on end-of-line only, but it also affects middle of line and also changes the spacing at start of line I couldn't work out form the docs how to do the override just for middle of line (which is what I want), or how to do a vector with a different orders for end/middle/start respectively By specifying three different vectors instead of creating one vector with three equal elements. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-06-01 10:23 GMT+02:00 David Kastrup d...@gnu.org: Damian leGassick damianlegass...@mac.com writes: On 31 May 2014, at 22:12, Thomas Morley wrote: Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders what is not clear is this bit: The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) has only one order, No. -- Scheme Procedure: make-vector len [fill] -- C Function: scm_make_vector (len, fill) Return a newly allocated vector of LEN elements. If a second argument is given, then each position is initialized to FILL. Otherwise the initial contents of each position is unspecified. suggesting that it acts on end-of-line only, but it also affects middle of line and also changes the spacing at start of line I couldn't work out form the docs how to do the override just for middle of line (which is what I want), or how to do a vector with a different orders for end/middle/start respectively By specifying three different vectors instead of creating one vector with three equal elements. -- David Kastrup @Damian David explained it already, though, here a bit more demonstrative: Look at: guile (use-modules (ice-9 pretty-print)) guile (pretty-print (make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature))) It returns: #((span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) Now it should be clear why this affects end-of-line, middle of line and start-of-line in the same manner. To get different settings you can't use (make-vector 3 '( ... )), but you have to specify each entry in the vector differently. @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
On 01/06/14 10:29, Thomas Morley wrote: 2014-06-01 10:23 GMT+02:00 David Kastrup d...@gnu.org: Damian leGassick damianlegass...@mac.com writes: On 31 May 2014, at 22:12, Thomas Morley wrote: Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders what is not clear is this bit: The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) has only one order, No. -- Scheme Procedure: make-vector len [fill] -- C Function: scm_make_vector (len, fill) Return a newly allocated vector of LEN elements. If a second argument is given, then each position is initialized to FILL. Otherwise the initial contents of each position is unspecified. suggesting that it acts on end-of-line only, but it also affects middle of line and also changes the spacing at start of line I couldn't work out form the docs how to do the override just for middle of line (which is what I want), or how to do a vector with a different orders for end/middle/start respectively By specifying three different vectors instead of creating one vector with three equal elements. -- David Kastrup @Damian David explained it already, though, here a bit more demonstrative: Look at: guile (use-modules (ice-9 pretty-print)) guile (pretty-print (make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature))) It returns: #((span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) Now it should be clear why this affects end-of-line, middle of line and start-of-line in the same manner. To get different settings you can't use (make-vector 3 '( ... )), but you have to specify each entry in the vector differently. @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? Yes, even I could follow that. We could use this example and one that shows how to write it for specifying different vectors. I assume from reading this it would be ((make-vector 1 '( ... )), (make-vector 2 '( ... )), (make-vector 3 '( ... )),) Or something - but then again, I am not the target audience for the IR :) James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-06-01 11:32 GMT+02:00 James pkx1...@gmail.com: On 01/06/14 10:29, Thomas Morley wrote: 2014-06-01 10:23 GMT+02:00 David Kastrup d...@gnu.org: Damian leGassick damianlegass...@mac.com writes: On 31 May 2014, at 22:12, Thomas Morley wrote: Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders what is not clear is this bit: The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) has only one order, No. -- Scheme Procedure: make-vector len [fill] -- C Function: scm_make_vector (len, fill) Return a newly allocated vector of LEN elements. If a second argument is given, then each position is initialized to FILL. Otherwise the initial contents of each position is unspecified. suggesting that it acts on end-of-line only, but it also affects middle of line and also changes the spacing at start of line I couldn't work out form the docs how to do the override just for middle of line (which is what I want), or how to do a vector with a different orders for end/middle/start respectively By specifying three different vectors instead of creating one vector with three equal elements. -- David Kastrup @Damian David explained it already, though, here a bit more demonstrative: Look at: guile (use-modules (ice-9 pretty-print)) guile (pretty-print (make-vector 3 '( span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature))) It returns: #((span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature) (span-bar breathing-sign staff-bar clef key-cancellation key-signature time-signature)) Now it should be clear why this affects end-of-line, middle of line and start-of-line in the same manner. To get different settings you can't use (make-vector 3 '( ... )), but you have to specify each entry in the vector differently. @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? Yes, even I could follow that. We could use this example and one that shows how to write it for specifying different vectors. I assume from reading this it would be ((make-vector 1 '( ... )), (make-vector 2 '( ... )), (make-vector 3 '( ... )),) Not exactly. Here some crazy settings for time-signature: #( ;; end of line: time-signature right before key-signature (span-bar breathing-sign staff-bar clef key-cancellation time-signature key-signature) ;; middle of line: time-signature right before staff-bar (span-bar breathing-sign time-signature staff-bar clef key-cancellation key-signature) ;; start of line: time-signature right before clef (span-bar breathing-sign staff-bar time-signature clef key-cancellation key-signature)) Though, applying this would return warnings: No spacing entry from TimeSignature to `clef' No spacing entry from TimeSignature to `key-signature' which can be resolved with additional overrides for TimeSignature.space-alist Here a compilable snippet: \version 2.19.6 { \override Score.BreakAlignment #'break-align-orders = ##( ;; end of line: time-signature right before key-signature (span-bar breathing-sign staff-bar clef key-cancellation time-signature key-signature) ;; middle of line: time-signature before staff-bar (span-bar breathing-sign time-signature staff-bar clef key-cancellation key-signature) ;; start of line: time-signature before clef (span-bar breathing-sign staff-bar time-signature clef key-cancellation key-signature)) \override Score.TimeSignature.space-alist.clef = #'(extra-space . 1) \override Score.TimeSignature.space-alist.key-signature = #'(extra-space . 1) \key c \minor \time 2/2 c''1 \key cis \minor \time 4/4 d'' \break \key c \minor \time 8/8 e'' } Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
Thomas Morley thomasmorle...@gmail.com writes: make-vector @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? I don't think that we can reasonably explain stuff like make-vector in our manuals. The best we can do is to avoid it in elementary examples. That may mean spelling three identical lists out, or using (let ((breaklst ...)) (vector breaklst breaklst breaklst)) It's probably most straightforward to spell the lists out three times. That leaves the user with a tedious but reliable and easy to understand recipe. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-06-01 12:09 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: make-vector @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? I don't think that we can reasonably explain stuff like make-vector in our manuals. The best we can do is to avoid it in elementary examples. That may mean spelling three identical lists out, or using (let ((breaklst ...)) (vector breaklst breaklst breaklst)) It's probably most straightforward to spell the lists out three times. That leaves the user with a tedious but reliable and easy to understand recipe. -- David Kastrup Agreed. I'll go for a patch. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-06-01 12:19 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2014-06-01 12:09 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: make-vector @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? I don't think that we can reasonably explain stuff like make-vector in our manuals. The best we can do is to avoid it in elementary examples. That may mean spelling three identical lists out, or using (let ((breaklst ...)) (vector breaklst breaklst breaklst)) It's probably most straightforward to spell the lists out three times. That leaves the user with a tedious but reliable and easy to understand recipe. -- David Kastrup Agreed. I'll go for a patch. Cheers, Harm Well, I have a problem: I assume the entries in IR 3.1.22 BreakAlignment -break-align-orders Or NR A.17 Layout properties -break-align-orders are generated from define-grob-properties.scm Correct? We have already: http://www.lilypond.org/doc/v2.19/Documentation/snippets/pitches#pitches-separating-key-cancellations-from-key-signature-changes Therefore I think refering to that snippet would be sufficient. Is it feasible to reference it from inside define-grob-properties.scm If yes, how to do it? Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
On 1 Jun 2014, at 12:26, David Kastrup wrote: Thomas Morley thomasmorle...@gmail.com writes: 2014-06-01 12:19 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2014-06-01 12:09 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: make-vector @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? I don't think that we can reasonably explain stuff like make-vector in our manuals. The best we can do is to avoid it in elementary examples. That may mean spelling three identical lists out, or using (let ((breaklst ...)) (vector breaklst breaklst breaklst)) It's probably most straightforward to spell the lists out three times. That leaves the user with a tedious but reliable and easy to understand recipe. -- David Kastrup Agreed. I'll go for a patch. Cheers, Harm Well, I have a problem: I assume the entries in IR 3.1.22 BreakAlignment -break-align-orders Or NR A.17 Layout properties -break-align-orders are generated from define-grob-properties.scm Correct? Values from define-grobs.scm. We have already: http://www.lilypond.org/doc/v2.19/Documentation/snippets/pitches#pitches-separating-key-cancellations-from-key-signature-changes Therefore I think refering to that snippet would be sufficient. Is it feasible to reference it from inside define-grob-properties.scm If yes, how to do it? Judging from other manual entries, by putting the following at the end of the documentation string: @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {separating-key-cancellations-from-key-signature-changes.ly} -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user hi all yes, a link to that snippet would have enabled me to hack it out; searching the LSR it was not apparent that that snippet held all the answers for 'normal but adventurous' users I wouldn't worry about examples in the manual being 'tedious but reliable' - I use a lot of the internals tweaks every day without really understanding how they work - the one's i've got to grips with quickest are the ones with the fullest examples. thanks for all the help - I really appreciate it Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-06-01 13:26 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: 2014-06-01 12:19 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2014-06-01 12:09 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: make-vector @David If an experienced user like Damian stumbles across it, it might be worth clearifying it in NR/IR. What do you think? I don't think that we can reasonably explain stuff like make-vector in our manuals. The best we can do is to avoid it in elementary examples. That may mean spelling three identical lists out, or using (let ((breaklst ...)) (vector breaklst breaklst breaklst)) It's probably most straightforward to spell the lists out three times. That leaves the user with a tedious but reliable and easy to understand recipe. -- David Kastrup Agreed. I'll go for a patch. Cheers, Harm Well, I have a problem: I assume the entries in IR 3.1.22 BreakAlignment -break-align-orders Or NR A.17 Layout properties -break-align-orders are generated from define-grob-properties.scm Correct? Values from define-grobs.scm. We have already: http://www.lilypond.org/doc/v2.19/Documentation/snippets/pitches#pitches-separating-key-cancellations-from-key-signature-changes Therefore I think refering to that snippet would be sufficient. Is it feasible to reference it from inside define-grob-properties.scm If yes, how to do it? Judging from other manual entries, by putting the following at the end of the documentation string: @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {separating-key-cancellations-from-key-signature-changes.ly} -- David Kastrup https://codereview.appspot.com/96650050/ ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: (was: print change of clef after barline) scm vectors in frescobaldi
Op Sun, 01 Jun 2014 22:56:15 +0200 Simon Albrecht simon.albre...@mail.de schreef: Looking at this code, I notice that Frescobaldi doesn’t seem to recognise Scheme vectors. It would be nice (if also rarely important) to have them correctly highlighted. Best, Simon Fixed! Thanks, Wilbert -- Wilbert Berendsen (http://www.wilbertberendsen.nl) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
print change of clef after barline
Hi all I need a change of clef to appear after a double barline, not before it (for a theory worksheet) any clues much appreciated Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
Damian leGassick damianlegass...@mac.com writes: Hi all I need a change of clef to appear after a double barline, not before it (for a theory worksheet) There are some properties determining the order of elements, but one can also cheat: { c'1 \grace { \bar || s4 } \clef bass c1 } -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-05-31 18:51 GMT+02:00 Damian leGassick damianlegass...@mac.com: Hi all I need a change of clef to appear after a double barline, not before it (for a theory worksheet) any clues much appreciated Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user look for 'break-align-orders and maybe additionally 'space-alist -Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
On 31 May 2014, at 18:00, David Kastrup wrote: Damian leGassick damianlegass...@mac.com writes: Hi all I need a change of clef to appear after a double barline, not before it (for a theory worksheet) There are some properties determining the order of elements, but one can also cheat: { c'1 \grace { \bar || s4 } \clef bass c1 } -- David Kastrup Hi David the cheat fails with this layout \version 2.18.0 musicRH = { c'1 \grace { \bar || s1 } \clef bass c1 } \layout { ragged-right = ##f } \new Staff {\musicRH} Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
thanks Harm I found a way...though I don't understand how or why the vector works for break-align-orders Damian On 31 May 2014, at 18:14, Thomas Morley wrote: 2014-05-31 18:51 GMT+02:00 Damian leGassick damianlegass...@mac.com: Hi all I need a change of clef to appear after a double barline, not before it (for a theory worksheet) any clues much appreciated Damian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user look for 'break-align-orders and maybe additionally 'space-alist -Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: print change of clef after barline
2014-05-31 20:05 GMT+02:00 Damian leGassick damianlegass...@mac.com: thanks Harm I found a way...though I don't understand how or why the vector works for break-align-orders Damian Did you look into IR 3.1.22 BreakAlignment -break-align-orders ? Or NR A.17 Layout properties -break-align-orders Please specify whats not clear there and how to improve the description. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user