Hi Erik,
As I see it you create the two voices as if nothing special was
needed.
Then create a third voice, with identical notes as the second voice.
These remain hidden, but the ties are visible.
Am I correct?
Essentially, with one [very small] correction: the third Voice
context doesn't usually/always have "identical notes as the second
voice"... For example, in the first bar of your snippet, we have
\new Voice { \voiceTwo d,4 <d fs> }
\new Voice { \tieVoice d8 _~ fs _~ <d fs>4 }
which clearly aren't "identical notes".
The problem is ties that [visually] cross Voice contexts — Lilypond
can't [yet?] handle that. So my solution is
1. If a tie [visually] joins two notes within the same Voice
context, engrave as normal.
2. If a tie [visually] joins two notes across different Voice
contexts, create a third Voice context containing [invisible copies
of] the notes that require joining, and tie them instead.
The other tweaks (e.g., \shiftOff) are there to make sure that the
regular note collision algorithms don't kick in and misalign/offset
the "tie Voice elements" (i.e., the ties themselves, plus the hidden
notes).
Makes sense?
Kieren.
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user