melisma underscore going backwards in multi-voice context

• Jan 18, 2019 - 09:02
Reported version
P1 - High
S3 - Major

User's description:
I've updated to 3.1, and I deleted the words in question, quit, and restarted musescore to make sure I was working in that version, and the problem was the same. I isolated a measure with the problem for you. I enter the word for the lyrics in the second voice, and then press underscore for a melisma. It gives a short melisma and then the entry box jumps underneath the second note of the 2 tied notes the lyric is for. I want the melisma to continue through the second note of the tie, to show that the word is held through until after the other voices enter, but when I press underscore a second time (which should extend the melisma through the end of the 2nd tied note), the melisma glitches, staying short and jumping backward through the word that it's extending.

Attachment Size
Melisma_measure.mscz 7.33 KB


It seems to be related to voices, here the lyrics are in voice 2, with the notes in voice 1 having a different rythm.
Swapping voices and deleting voice 2 and the melisma looks OK

Severity S2 - Critical S3 - Major

May I add, that the "underscore going backwards" problem also shows up, when trying to shorten space used by tied notes or melismas using negative values in "Inspector/Segment /Leading Space" for notes or bars (for the latter, the value actually is unfortunately not saved by the way) as shown in the attached file.
This has been a long time problem for me as I tend to generate compact scores with large text. Omitting the underscore continuation is no good solution, because when I reformat the score, it might be needed again.
So I would suggest for the code to just ignore underscore continuations that are of negative length... (shouldn't be too difficult - or is it?)

Attachment Size
MuseScore_LeftSpaceOfBar_not_saved1.png 125.21 KB
Priority P0 - Critical P1 - High

Regarding the originally reported example, interestingly, this exact same case fails in the exact same way in 2.3.2:


So, if you haven't discovered this already, going back to 2.3.2 wouldn't have helped here.

In both MuseScore 2 & 3, it takes a very specific set of circumstance to trigger this, which is why it doesn't get reported every day. If the voice 1 note in the example is a half note, or a whole note, there is no problem. See #257131: Melisma bug: line drawn in reverse when syllable overlaps next note which is probably the same and contains a plausible hypothesis.

The second example is also the same in 2.x. Probably it would be easy to just suppress the melisma line in this case.

Investigating fixes.

I believe we can trace this back four years, to this commit:…

I don't see any reference to the issue being fixed, but I actually think I remember (!) - we wanted to be able to write a line of lyric like

"one____ two"

where "one" is in voice on, "two" in voice 2, and not have the melisma line for "one" overlap the "two". Or, to make sure it displayed at all. Jojo, I kind of think this was an issue you submitted.

I'm doing some more testing, but I think I can probably fix the original issue without breaking the one at hand. Hopefully there is nothing else to worry about, though...

Status active PR created

There are two separate bugs here, I've left this issue as the one specific to multiple voices, and #257131: Melisma bug: line drawn in reverse when syllable overlaps next note as the one for long syllables that overlap the next note (as shown in the attachment for and reported in the forum as per The PR here fixes both problems, which are actually not really related.

Fix version