lilypond-user
[Top][All Lists]
Advanced

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

Re: NoteColumn shift in one voice affects dot position in another voice


From: Nick Payne
Subject: Re: NoteColumn shift in one voice affects dot position in another voice
Date: Sat, 26 Dec 2009 22:36:30 +1100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-GB; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0

On 26/12/09 20:46, David Kastrup wrote:
Nick Payne<address@hidden>  writes:

See below. When I shift the first note in voiceTwo to avoid a
collision with the note in voiceFour, the dot on the rest that begins
voiceOne gets separated from the rest and pretty much disappears under
the following accidental. It looks to me as though Lilypond is trying
to keep the dots for the rest in voiceOne and the A in voiceFour
vertically aligned, regardless of whether the rest and the A are
vertically aligned. You can see this quite clearly by setting the
hshift value to something larger such as #2.
I guess that this sort of thing needs some accounting and/or linear
programming in order to arrive at a good solution.  You go down the note
column and put all "natural" dot columns in one list.  Then you assign
the best columns overall.  Opening a new column in the total is
expensive (but less so if the vertical distance to the last column is
large), displacing a dot from its note costs corresponding to the
displacement, least total cost is taken.  Something like that.
Well, I can fix the output by doing:

\version "2.13.9"

\relative c'' {
    \time 3/4
    \new Staff
<<
\new Voice { \voiceOne \once \override NoteColumn #'force-hshift = #0.1 \once \override Dots #'extra-offset = #'(-0.9 . 0) r8. <fis d>16 e2 } \new Voice { \voiceTwo \once \override NoteColumn #'force-hshift = #-0.4 e,4 cis'8 e, <a cis> e } \new Voice { \voiceFour \once \override NoteColumn #'force-hshift = #0.1 a,2. }
>>
}

but that's a rather nasty hack, especially when it has to be repeated quite a number of times through a score. I've also found that the problem only happens with a dotted rest. If I replace the dotted rest in voiceOne with a dotted note, then the dot doesn't get divorced from the note in the way that it does from the rest.

Nick




reply via email to

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