Am Donnerstag, 21. Oktober 2010, um 14:14:03 schrieb Trevor Daniels: > Yes, and one syllable earlier than "zar" is "Sfor", so the > \set assoicatedVoice should go before "Sfor", which is the > first syllable, and there is the problem. The setting of > associatedVoice does not affect the immediately following > syllable but the one after that. (It is not sensible, I > agree, but that's what it does and that's what the > documentation says it does.)
Yes, 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. Cheers, Reinhold -- ------------------------------------------------------------------ Reinhold Kainhofer, [email protected], http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org _______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
