[EMAIL PROTECTED] writes:
> >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."

horizontalNoteShift does not set shifting itself.

Notes that are likely to collide, are grouped into a Collision
object.  Colliding notes within the collision are then grouped based
on their stem direction and horizontalNoteShift setting, like this:

                         |
                         | | 
                        0u |  |
                          1u  |
                             2u


                2d
                |  1d
                |  |  0d
                   |  |
                      |

(0,1,2, ..  = horizontalNoteShift value.  u,d = stem up / stem down)

Only then the seperate groups are shifted horizontally.  When
collision is done with this shifting, any forceHorizontalShift
settings will override the default shifts.


This scheme makes sense, because you only have to set
horizontalNoteShift once in each voice.  (Otherwise you'd have to set
and unset it for each collision in a score.)

-- 

Han-Wen Nienhuys, [EMAIL PROTECTED] ** GNU LilyPond - The Music Typesetter 
      http://www.cs.uu.nl/people/hanwen/lilypond/index.html 

Reply via email to