Hyphen connects wrong syllables with lyrics in multiple voices
Ubuntu Studio 14.04, GIT commit: d9bf96b
1) open attached score
2) look at lyric "E-LE-VEN"
Result: the hyphen between the first two syllables overlaps the second syllable
This happens because searchNextLyrics() is finding the wrong next lyric - it is trying to connect the "E" to "VEN" instead of to "LE". The code appears to skip up on a segment if the first CR found (eg, in voice 1) has lyrics but nothing for the current verse. It only checks CR's in other voices if the first CR found has no lyrics at all. So basically, we are breaking out of the loop prematurely here:
https://github.com/musescore/MuseScore/blob/master/libmscore/system.cpp…
This is easy to fix - only break if nll->value(verse - but I guess I do wonder if there is some reason for the current behavior. That is, is there some use case in which we *should* ignore syllables in voices > 1? I am inclined to doubt it, but thought I should open it up for discussion.
FWIW, I came upon this working on #31901: Lyrics attached to voices > 1 in 1.3 scores reassigned to voice 1. Once I fixed the basic problem with the track tags being ignored for Lyrics elements, and added a fallback for cases where the track tag referred to a voice with no elements, I still found the sample score didn't render quite correctly, as some hyphens were misplaced. I then ascertained that this same problem occurs with a score created from scratch in 2.0 (the attached score is such an example).
Attachment | Size |
---|---|
lyric-voice-20.mscx | 12.1 KB |
Comments
Here's my proposed fix:
https://github.com/MarcSabatella/MuseScore/commit/84fa467088c77361a9c3d…
It's currently a second commit on the same branch as my proposed fix for #31901: Lyrics attached to voices > 1 in 1.3 scores reassigned to voice 1
Fixed in 84fa467088
Automatically closed -- issue fixed for 2 weeks with no activity.