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

Reply via email to