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: Keith OHara
Subject: Re: clef change confuses manual key signature
Date: Thu, 16 Aug 2012 07:15:15 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Mats Bengtsson <mats.bengtsson <at> ee.kth.se> writes:

> needed the feature while trying to typeset some of the Mystery sonatas 
> by Biber, which are written in scordatura, i.e. a violin with a 
> non-standard tuning. In these pieces, the notation reflects how you 
> should press the fingers, not what it should sound like. Therefore, the 
> key signatures look very weird and actually do differ from octave to 
> octave, see for example Sonata III at 
> http://imslp.org/wiki/Special:ImagefromIndex/48908.

So Biber really needs key signatures that apply only to one octave.
Thankfully he include lots of extra accidentals to help us remember that.
LilyPond handles that (and after David's patch is done it won't crash on 
clef changes).

We can even print an extra e-flat if we want
  \set Staff.keySignature = #`((2 . ,FLAT) (6 . ,FLAT) ((0 . 2) . ,FLAT))

On Aug 15, 2012, at 12:18 PM, james wrote:

>  \set Staff.keySignature = #`(((-1 . -3) . ,SHARP) ((-1 . -4) . ,SHARP))

>  \set Staff.keySignature = #`((9 . ,FLAT))

The strange behavior you noticed was due to the scale steps being out of 
range: 0 1 2 3 4 5 6 .  Instead of (-1 . -3) you have to say (-2 . 4).

> I would find it a perfectly acceptable solution to have key signatures be 
> consistent for all octaves, regardless with display method is chosen 
> [...] make my life a lot easier.

The simple forms  \set Staff.keySignature =#`(2 . ,FLAT)   \key d\minor
apply to all octave, but always print the key signatures in the 
traditional positions.

The traditional positioning groups the sharps and flats, and the code
uses the concept of the highest-flat or -sharp, which is different for
each clef based on tradition. 

I suggest we add a property of the KeySignature graphical object, to
let us choose for ourselves the range of staff-positions where the
sharps and flat should go  <http://codereview.appspot.com/6461085/>

Then to put the sharps at the third position above centerline 
(e-sharp on treble clef) or lower, we could do
  { \override Staff.KeySignature #'highest-sharp-positions = ##(3)
    \key e\major fis'1 }
with the key signature affecting all octaves as usual, if that looks useful.




reply via email to

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