lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Custom key signature stencils, differentiating major and minor keys


From: Paul Morris
Subject: Re: Custom key signature stencils, differentiating major and minor keys
Date: Tue, 13 Nov 2012 11:49:57 -0500

On Nov 13, 2012, at 7:26 AM, MING TSANG <address@hidden> wrote:

> Hi, Paul: I apply the change, it pushes the display above the staff. However 
> I notice (1) that the distance is not constant from system to system - it 
> diminishes;

That is expected.  It sets the padding (distance) between the top of the 
highest accidental in the key signature and the bottom of the text.  So that is 
constant.  But when the top of the highest accidental falls below the top of 
the staff, and at different vertical positions below the top of the staff, then 
the distance between the text and the top of the _staff_ will be different.  

Ideally it would set the padding from the top of the staff _or_ the top of the 
highest accidental.  A better approach to achieve this would be: instead of 
combining the text and the key signature symbol into one graphical stencil / 
grob, add the text as a rehearsal mark centered on the key signature.  Then it 
would inherit all of the usual smart spacing for rehearsal marks.

Here's how you can do that by hand:

\version "2.16.0"
\new Staff {
  \clef bass
  \once \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
  \key f \major 
  \mark \markup \magnify #.7 {F Major} 
  c1
  \clef treble
  \once \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
  \key cis \major
  \mark \markup \magnify #.7 {C\raise #.4 {\sharp} Major} 
  c'1
}

As described here:
http://lilypond.org/doc/v2.16/Documentation/notation/writing-text#text-marks
Under: Selected Snippets > Aligning marks with various notation objects

So there should be a way to get my custom key signature script to automatically 
add such rehearsal marks to the key signature.  But this would require 
reworking it.


> (2) that after key change from F Major to C Major, it display at the point 
> where it changes, but disappear on the next system onward.

Hmmm...  it looks like if the key is C Major or A Minor then no key signature 
is printed, not even an "empty" one, and so the name does not get printed 
either.  Not sure how to work around that.

-Paul


> 
> Here is the .png and .ly file.
> 
> Thank you again.
>  
> Blessing in+,
> Ming.
> From: Paul Morris <address@hidden>
> To: MING TSANG <address@hidden> 
> Sent: Monday, November 12, 2012 10:54:56 PM
> Subject: Re: Custom key signature stencils, differentiating major and minor 
> keys
> 
> Hi Ming, 
> Yes, I saw that too...  There is a padding setting that sets the distance 
> between the top of the key signature and the name above it.  So you could 
> increase this until it no longer overlapped in the bass clef, but this might 
> create too much space in other places?  
> 
> For example change the .5 in this:
> 
> (ly:stencil-scale (grob-interpret-markup grob key-name) .7 .7)
> .5 ))
> 
> To 1.1 like so:
> 
> (ly:stencil-scale (grob-interpret-markup grob key-name) .7 .7)
> 1.1 ))
> 
> That pushes the name up above the bass staff, but it also increases the 
> distance in all the other places as well.  
> 
> Cheers,
> -Paul
> 
> PS. Sorry for resending my previous message.  I realized I did not send it to 
> the lily-user list before.
> 
> 
> On Nov 12, 2012, at 10:33 PM, MING TSANG <address@hidden> wrote:
> 
>> Hi, Paul:
>> 
>> Thank you for the sample placement of the "\consists 
>> \Custom_key_sig_engraver".
>> 
>> One minor drawback:  The alternative key signature on Bass is on the staff 
>> line, not above the staff.  How can I adjust it?
>> 
>>  
>> Blessing in+,
>> Ming.
>> From: Paul Morris <address@hidden>
>> To: MING TSANG <address@hidden> 
>> Sent: Monday, November 12, 2012 9:53:31 PM
>> Subject: Re: Custom key signature stencils, differentiating major and minor 
>> keys
>> 
>> 
>> On Nov 12, 2012, at 2:42 PM, MING TSANG <address@hidden> wrote:
>> 
>>> Hi, Paul:
>>> 
>>> I try to use custon-key-signature in my lilypond score and I did not get 
>>> the alternative key printed above the traditional key signature.  What is 
>>> missing in the code below?  I have "\Staff \consists 
>>> \Custom_key_sig_engraver" in \layout as seen in your sample.
>> 
>> Hi Ming,  It looks like you need to just put \consists 
>> \Custom_key_sig_engraver in the \with block for each of the three staves in 
>> your score as shown below.  Then you don't need it in the layout block.  The 
>> following changes below got it to work for me.
>> 
>> Cheers,
>> -Paul
>> 
>> [...]
>> 
>> sopranoVoicePart = \new Staff \with { \consists #numbr
>> \consists \Custom_key_sig_engraver
>> instrumentName = "Soprano"
>> %midiInstrument = "choir aahs"
>> } { \sopranoVoiceI }
>> \addlyrics { \verseSopranoVoiceI }
>> pianoPart = \new PianoStaff \with {
>> instrumentName = "Piano"
>> } <<
>> \new Staff = "right" \with {
>> \consists \Custom_key_sig_engraver
>> midiInstrument = "acoustic grand"
>> } \right
>> \new Staff = "left" \with {
>> \consists \Custom_key_sig_engraver
>> midiInstrument = "acoustic grand"
>> } { \clef bass \left }
>> >>
>> \score {
>> <<
>> \sopranoVoicePart
>> \pianoPart
>> >>
>> \layout {
>> \context {
>> \RemoveEmptyStaffContext
>> \override VerticalAxisGroup #'remove-first = ##t
>> }
>> }
>> }
>> 
>> 
>> 
>> 
> 
> 
> 
> <2012-11-13_071549.png><christmas-favorites-medley_SATB.ly>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]