David,
I've been playing around with your Devnull workaround, and
it's great! An independent "aligner" voice works as long as
there are NoteColumns in the printed voices that it can line
up with, though this is still really useful. (I'm willing
to put aside the "averaging NoteColumn X-positions" thing
for the moment, and explore this direction.)
Anyway, I had to add the Slur_engraver to your Devnull
context in order to get the melismas to work right, but
already this method solves a long-standing problem: getting
all the lyric extenders to print properly when the melismas
happen at different times in different voices:
********************
sopranoNotes = \relative e' { e8( f g a) g2 | e1 }
altoNotes = \relative c' { c2 e8( d c b) | c1 }
alignerNotes = { c8( c c c) c( c c c) | c1 }
words = \lyricmode { one __ two __ three }
<<
\new Staff \with {
\accepts "Devnull"
printPartCombineTexts = ##f
} <<
\new Voice { \partcombine \sopranoNotes \altoNotes }
\new Devnull = "aligner" \with {
\consists "Slur_engraver"
} { \alignerNotes }
>>
\new Lyrics \lyricsto "aligner" \words
********************
However, I can't get it to work with ties, even when adding
the Tie_engraver and Tie_performer to the Devnull context.
At this point I'm stabbing in the dark. Any ideas?
********************
sopranoNotes = \relative e' { e4. e8~ e4 e }
altoNotes = \relative e' { c4. c8~ c4 c }
alignerNotes = \sopranoNotes
words = \lyricmode { one two __ three }
<<
\new Staff \with {
\accepts "Devnull"
printPartCombineTexts = ##f
} <<
\new Voice { \partcombine \sopranoNotes \altoNotes }
\new Devnull = "aligner" \with {
\consists "Slur_engraver"
\consists "Tie_engraver"
\consists "Tie_performer"
} { \alignerNotes }
>>
\new Lyrics \lyricsto "aligner" \words
********************
Thanks.
- Mark
https://codereview.appspot.com/11328043/
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel