In the example below, the Italian syllable la' is incorrectly positioned. Reason is that
\set associatedVoice' fails if applied to the second syllable.
\version "2.13.31"
<< \new Staff << \context Voice = "german" \relative c { \autoBeamOff \clef bass r16 f \voiceOne f32 f \oneVoice g16 a8 a a a16 a bes8 c }
\context Voice = "italian" \relative c {
\clef bass
s8 f16
}
>>
\new Lyrics \lyricsto "german" { die Toch -- ter ver -- füh -- ren und ih -- ren Va -- ter }
\new Lyrics \lyricsto "german" { \set associatedVoice = "italian" Sfor -- \set associatedVoice = "german" zar la fi -- glia, ed am -- maz -- zar il } >>
- associatedVoice.png 18.39KB
Comment #1
Posted on Oct 21, 2010 by Helpful DogReinhold comments:
[...] the reason for this is not a design decision, but a bug in the code (which is unfortunately hard to fix): The \set is evaluated by the context Engraver_group (see lily/engraver- group.cc), while the distribution of lyrics syllables to voices is done in an iterator, which comes way before contexts do their job. So the \set commands that appear in any given moment (note that a \set right before a syllable belongs to the same moment as the syllable!) do not yet have any effect on that timestep, as they have not been processed at that time... I ran into the same problem with the part combiner a few weeks ago, and the only solution was not to use context properties, but a dedicated music event that is available in the iterator already.
Comment #2
Posted on Oct 25, 2010 by Happy Rhino(No comment was entered for this change.)
Comment #3
Posted on Dec 31, 2012 by Helpful DogWalking over older bug reports issued by me, I wonder how a proper fix for this particular problem could look like. That `\set associatedVoice' must be written one syllable earlier is a pain in the neck IMHO. It would be great if this peculiarity could be replaced with a solution which better fits lilypond.
My knowledge of lilypond's internals is far too restricted to say something useful, but it seems to me that this issue is a really deep problem...
Status: Accepted
Labels:
Type-Defect
Priority-Medium