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: Sun, 27 Dec 2009 07:15:59 +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.
In a similar vein, having a chord of dotted notes across voices, with a second in one voice, results in the dot in the other voice asking for a divorce. Though in this case I don't know what the convention for engraving is. The example I have in a 19th century score (Mertz's transcription of Schuberts Ständchen for guitar) corresponds to the 2nd chord in the example below, where the dot has been moved back to where it would normally be with a single note.

\version "2.13.9"

\relative c'' {
    \new Staff
<<
    \new Voice { \voiceOne <e d>4. <e d>4. }
\new Voice { \voiceTwo e,4. \once \override Dots #'extra-offset = #'(-1 . 0) e4. }
>>
}

Attachment: test.preview.png
Description: PNG image


reply via email to

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