Re: Setting the width of system-starter curly braces
David Nalesnik writes: > Hi Ádám, > > > Unfortunately the curly brace created for these four instruments > is way too wide. Is there a way to shrink the vertical size of the > curly brace for the GrandStaff (so that it would have the same > width as the curly brace of a GrandStaff consisting of only two > instruments)? > > > Another solution would be to scale the brace like so: > > \override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob) > (ly:stencil-scale (ly:system-start-delimiter::print grob) 0.75 > 1)) > > Here the brace is scaled horizontally to 0.75. Scalings that change the aspect ratio significantly tend do cause inconsistent widths of curves. So they are more or less a last resort if there is no other way to ask for the respective glyphs with a different aspect ratio. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi David, On 2012.03.19., at 1:34, David Nalesnik wrote: > Hi Ádám, > > this is quite weird. This code compiles fine. However, in my original score >> it doesn't work. After some more experimenting, I figured out that the >> problem is, that I have the \RemoveEmptyStaves in the \Staff context. After >> removing that, it compiled just fine. Maybe it's some bug. Anyway, the >> \RemoveEmptyStaves is not that important for this particular score, so I >> disabled it. >> > > Could you try this with your original file? (I can't think of an example > with \RemoveEmptyStaves to check it with.) The function ly:stencil-scale > needs a stencil to work with (hence the error you were getting), and this > variant checks to see if we have one before calling it. > > \override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob) > (let ((brace (ly:system-start-delimiter::print grob))) > (if (ly:stencil? brace) > (ly:stencil-scale brace 0.75 1 > > Hope this helps! > > -David Thanks a lot!!! It works like a charm! Best, Ádám ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi Ádám, this is quite weird. This code compiles fine. However, in my original score > it doesn't work. After some more experimenting, I figured out that the > problem is, that I have the \RemoveEmptyStaves in the \Staff context. After > removing that, it compiled just fine. Maybe it's some bug. Anyway, the > \RemoveEmptyStaves is not that important for this particular score, so I > disabled it. > Could you try this with your original file? (I can't think of an example with \RemoveEmptyStaves to check it with.) The function ly:stencil-scale needs a stencil to work with (hence the error you were getting), and this variant checks to see if we have one before calling it. \override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob) (let ((brace (ly:system-start-delimiter::print grob))) (if (ly:stencil? brace) (ly:stencil-scale brace 0.75 1 Hope this helps! -David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi MacMillan, On 2012.03.19., at 1:09, Kieren MacMillan wrote: > Hi Siska, > >> thank you indeed for the reply. Unfortunately I can't get this code to work > > Here's a snippet, using David's lovely mod — hope it helps. > Kieren. > _ > > \version "2.15.32" > > theMusic = \relative c' { \repeat "unfold" 16 c4 } > > \new GrandStaff << > \set GrandStaff.instrumentName = #"Corni" > \set GrandStaff.shortInstrumentName = #"Cor." > \new Staff { > \set Staff.instrumentName = #"I" > \set Staff.shortInstrumentName = #"I" > \theMusic > } > \new Staff { > \set Staff.instrumentName = #"II" > \set Staff.shortInstrumentName = #"II" > \theMusic > } > \new Staff { > \set Staff.instrumentName = #"III" > \set Staff.shortInstrumentName = #"III" > \theMusic > } > \new Staff { > \set Staff.instrumentName = #"IV" > \set Staff.shortInstrumentName = #"IV" > \theMusic > } >>> > > \layout { > \context { >\GrandStaff >\override SystemStartBrace #'stencil = #(lambda (grob) > (ly:stencil-scale (ly:system-start-delimiter::print grob) 0.75 1)) > } > } this is quite weird. This code compiles fine. However, in my original score it doesn't work. After some more experimenting, I figured out that the problem is, that I have the \RemoveEmptyStaves in the \Staff context. After removing that, it compiled just fine. Maybe it's some bug. Anyway, the \RemoveEmptyStaves is not that important for this particular score, so I disabled it. Thank you for your help, Ádám ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi Siska, > thank you indeed for the reply. Unfortunately I can't get this code to work Here's a snippet, using David's lovely mod — hope it helps. Kieren. _ \version "2.15.32" theMusic = \relative c' { \repeat "unfold" 16 c4 } \new GrandStaff << \set GrandStaff.instrumentName = #"Corni" \set GrandStaff.shortInstrumentName = #"Cor." \new Staff { \set Staff.instrumentName = #"I" \set Staff.shortInstrumentName = #"I" \theMusic } \new Staff { \set Staff.instrumentName = #"II" \set Staff.shortInstrumentName = #"II" \theMusic } \new Staff { \set Staff.instrumentName = #"III" \set Staff.shortInstrumentName = #"III" \theMusic } \new Staff { \set Staff.instrumentName = #"IV" \set Staff.shortInstrumentName = #"IV" \theMusic } >> \layout { \context { \GrandStaff \override SystemStartBrace #'stencil = #(lambda (grob) (ly:stencil-scale (ly:system-start-delimiter::print grob) 0.75 1)) } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi David, thank you indeed for the reply. Unfortunately I can't get this code to work; I'm getting the following error during compiling: Drawing systems...ERROR: In procedure ly:stencil-scale: ERROR: Wrong type argument in position 1 (expecting Stencil): # Unfortunately I don't know Scheme, so although I tried all the little syntactic modifications I could imagine (changing parentheses or adding # symbols here or there randomly), I couldn't make it work. Could you please have a look at this error message and suggest me how to proceed? Thank you again, Ádám On 2012.03.18., at 23:09, David Nalesnik wrote: > Hi Ádám, > >> Unfortunately the curly brace created for these four instruments is way >> too wide. Is there a way to shrink the vertical size of the curly brace for >> the GrandStaff (so that it would have the same width as the curly brace of >> a GrandStaff consisting of only two instruments)? >> > > Another solution would be to scale the brace like so: > > \override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob) > (ly:stencil-scale (ly:system-start-delimiter::print grob) 0.75 1)) > > Here the brace is scaled horizontally to 0.75. > > -David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi Ádám, > Unfortunately the curly brace created for these four instruments is way > too wide. Is there a way to shrink the vertical size of the curly brace for > the GrandStaff (so that it would have the same width as the curly brace of > a GrandStaff consisting of only two instruments)? > Another solution would be to scale the brace like so: \override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob) (ly:stencil-scale (ly:system-start-delimiter::print grob) 0.75 1)) Here the brace is scaled horizontally to 0.75. -David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setting the width of system-starter curly braces
Hi Siska, > Unfortunately the curly brace created for these four instruments is way too > wide. Is there a way to shrink the vertical size of the curly brace for the > GrandStaff (so that it would have the same width as the curly brace of a > GrandStaff consisting of only two instruments)? You could (e.g.) \override SystemStartBrace #'font-size = #-10 and then stretch the brace. Hope this helps! Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Setting the width of system-starter curly braces
Dear List, I have four horns playing in an orchestra like this: \new GrandStaff << \set GrandStaff.instrumentName = #"Corni" \set GrandStaff.shortInstrumentName = #"Cor." \new Staff { \set Staff.instrumentName = #"I" \set Staff.shortInstrumentName = #"I" \corI } \new Staff { \set Staff.instrumentName = #"II" \set Staff.shortInstrumentName = #"II" \corII } \new Staff { \set Staff.instrumentName = #"III" \set Staff.shortInstrumentName = #"III" \corIII } \new Staff { \set Staff.instrumentName = #"IV" \set Staff.shortInstrumentName = #"IV" \corIV } >> Unfortunately the curly brace created for these four instruments is way too wide. Is there a way to shrink the vertical size of the curly brace for the GrandStaff (so that it would have the same width as the curly brace of a GrandStaff consisting of only two instruments)? Thank you, Ádám ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user