lilypond-user
[Top][All Lists]
Advanced

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

Re: clef change confuses manual key signature


From: james
Subject: Re: clef change confuses manual key signature
Date: Wed, 15 Aug 2012 12:18:08 +0200

On Aug 15, 2012, at 9:54 AM, David Kastrup wrote:

> Keith OHara <address@hidden> writes:
> 
>> David Kastrup <dak <at> gnu.org> writes:
>> 
>>> That image does not make sense to me at all.  Notes appear in key 
>>> signature (though in a different octave) and still carry an accidental. 
>>> How do you distinguish a normal key signature (valid across all octaves) 
>>> from a restricted-octave one (valid only in one octave)?  They look the 
>>> same.
>> 
>> Lilypond docs do not seem to explain any way to print the key signature
>> accidentals on different lines than standard, except for this crazy method
>> where the alterations count for just one octave.
>> 
>> <speculation>
>> There was no way to alter the printing of the key signature, 
>> someone needed to do so, found the data structure for the local key 
>> signature that tracks transient accidentals, including octave, used
>> that as a way to serve his need, and posted to the snippets list.
>> <end speculation>
> 
> And composers all over the land adopted "this notation".  Sounds like a
> Microsoft success story.
> 
>> It would be better to use standard key signatures with custom scales
>>  wholetone = #`((0 . ,NATURAL) (1 . ,NATURAL) (2 . ,NATURAL)
>>      (3 . ,SHARP) (-3 . ,NATURAL) (-2 . ,FLAT) (-1 . ,FLAT) )
>>  { \key d\wholetone  bes1 }
>> and adapt the print routine
>>  key-signature-interface::alteration-position
>> to allow for more flexible printing.
> 
> No idea.  At any rate, I am going for the "valid in all octaves even if
> octave is given" angle.  Of course that is incompatible with current
> behavior, but current behavior is incompatible with common sense or
> logic.  It is not even possible to guess the pitches one is supposed to
> play.

Honestly, I don't know what the original intent of lilypond's behavior was 
supposed to be. It wasn't very consistent. If the goal is, now that this isn't 
working, to change this behavior, I think that's a wonderful idea, and here is 
a test case that shows some of the problems of the previous behavior.
\include "deutsch.ly"
\version "2.12.3"
\score {
        <<
                \new Staff <<
                        \relative c'{
                                \set Staff.keySignature = #`(((0 . 2) . ,FLAT))
                                %% note e-flat in this octave %%
                                c8 d es f g a h c
                                %% and e-natural in this octave %%
                                c d e f g a h c
                                c h a g f e d c c h a g f es d c
                        }
                >>
                \new Staff <<
                        \relative c, {
                                %% why is this f-natural and g-natural? %%
                                a8 h c d e f g a a h c d e f g a
                                %% here, it kind of makes sense that it's 
f-natural g-natural
                                a'' g f e d c h a
                                %% and here, that it should be g-sharp and 
f-sharp
                                a gis fis e d c h a
                        }
                        {       %%      Key Signatures
                                \clef bass
                                \set Staff.keySignature = #`(((-1 . -3) . 
,SHARP) ((-1 . -4) . ,SHARP))
                                s1*2
                                \clef treble
                                \set Staff.printKeyCancellation = ##f
                                \set Staff.keySignature = #`(((0 . 4) . ,SHARP) 
((0 . 3) . ,SHARP))
                        }
                >>
        >>
}

\score {
        <<
                \new Staff << 
                        \relative c'{
                                \set Staff.keySignature = #`((9 . ,FLAT))
                                %% here, the key signature is persistant across 
all octaves %%
                                c8 d es f g a h c c d es f g a h c c h a g f es 
d c c h a g f es d c
                        }
                >>
                \new Staff <<
                        \relative c, {
                                %% here, the key signature is persistant across 
all octaves %%
                                a8 h c d e fis gis a a h c d e fis gis a a'' 
gis fis e d c h a a gis fis e d c h a
                        }
                        {       %%      Key Signatures
                                \clef bass
                                \set Staff.keySignature = #`((4 . ,SHARP) (3 . 
,SHARP))
                                s1*2
                                \clef treble
                                \set Staff.printKeyCancellation = ##f
                                \set Staff.keySignature = #`((4 . ,SHARP) (3 . 
,SHARP))
                        }
                >>
        >>
}

Attachment: key signatures_2.12.pdf
Description: Adobe PDF document


reply via email to

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