|
From: | Kieren MacMillan |
Subject: | Re: slurs and ties |
Date: | Sat, 7 Nov 2009 08:46:57 -0500 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |