Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
backwards melisma #4946
There are a few situations where we draw melisma lines backwards or otherwise incorrectly, this PR should fix them.
The first fix is a very simple change that should prevent any and all backwards melisma lines, leaving the zero length instead. The second change is bit more involved, it fundamentally changes the calculation of the end element for melisma lines. As such, it definitely warrants further review/testing. In the basic cases it should always result in the same thing, but it's the overlapping voices where it changes, hopefully always for the better.
I updated the PR just to add some comments & fix a debug message. I tried making the lyricsline tick2 same as the lyrics, but it just isn't designed to work that way - the lyricsline tick2 is for the next note, same as for all other lines. So I do need to continue to use lyrics tick2.
Meanwhile, I added a vtest to show the two cases that are wrong. Attempts to use findCRinStaff() with an appropriate tick value can fix one but not the other, depending on what tick you pass in.