Re: Setting the width of system-starter curly braces

2012-03-19 Thread David Kastrup
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

2012-03-18 Thread Siska Ádám
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

2012-03-18 Thread David Nalesnik
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

2012-03-18 Thread Siska Ádám
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

2012-03-18 Thread Kieren MacMillan
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

2012-03-18 Thread Siska Ádám
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

2012-03-18 Thread David Nalesnik
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

2012-03-18 Thread Kieren MacMillan
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