]> git.donarmstrong.com Git - lilypond.git/commit
Fix Issue 770: Lyrics attached to a voice-derived context are off by 1
authorReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 2 Jul 2011 11:14:34 +0000 (13:14 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Sun, 10 Jul 2011 20:48:40 +0000 (22:48 +0200)
commit1c25a897e494282ce0c89c4c5df3c9647d272995
treeab07dbba2091dbf0177cc81df8e2914767fafa5a
parent40b0e2041fc67f6dca2b2d70717ac424919e89f7
Fix Issue 770: Lyrics attached to a voice-derived context are off by 1

The Lyric_combine_music_iterator had an explicit check if the CreateContext
event was really for a context of type "Voice". Unfortunately, that
check fails if the lyrics are supposed to be attached to a CueVoice
context (or some self-defined Voice-derived context!), because
"CueVoice"!="Voice".

Unfortunately, I don't know how to check whether a context "CVoice"
(identified only by a the context type string; we don't have any
Context* object!) is an alias for Voice. If we had the Context* object,
we could use is_alias, but we only have the string "CVoice" and need to
check if a context of that type is an alias for "Voice".

However, I don't think that check is necessary at all. It simply prevents
find_voice from being called in cases when no Voice is generated (and thus
no new context to possibly attach the lyrics to). If that check is removed,
find_voice will also be called for any other context created while
waiting for a voice to attach the lyrics to, but it will not find an
appropriate voice anyway.
input/regression/lyric-combine-derived-voice.ly [new file with mode: 0644]
lily/lyric-combine-music-iterator.cc