>From the Lily refman:

"horizontalNoteShift 
Enable LilyPond to shift notes horizontally if they collide with
other notes. This is useful when typesetting many voices on one
staff. The identifier \shift is defined to enable this.
Traditionally, the outer chords (the upmost and downmost voices),
should have no horizontalNoteShift."

However, at present (1.2.0), hNS is being applied by default when
there are only two voices active in a measure - i.e. to the two
outside parts. When there are 3 or more voices active, it is not
applied by default to any of them. But, the true default value seems
to be 'off', in that forceHorizontalShift commands are ineffective
unless hNS is explicitly turned on.

hNS works if a different value of hNS is specified for each part.
However, the shifts are almost twice as much as is required for the
note heads to clear, so polyphonic music becomes almost unreadable
when this is done.

When the new rush of students have settled down, could this be made
more consistent? Some suggestions:
1. either make hNS on by default or off, not (as seems to be the
   case) half way in between,
2. allow the default value for the note shift to be set by the user,
3. when a note is shifted, leave extra space between it and the next
   note,
4. select the note shift so as to minimize the movement of notes
   horizontally - e.g. given 
     a''2.
     g''8 g'' f'' e''
   move the a'', not the g''8 which then requires the g'' f'' e'' to
   be moved to avoid piling them on top of each other.

A simpler coding alternative would be to default hNS off (really
off!), and allow fHS to always work (hNS on or off) - then the user
could take responsibility for note shifts. I'd be perfectly happy
with this option, given the complexity of Scarlatti.

John

Reply via email to