Jump at Volta End makes last measure not skipped
Reported version
3.5
Priority
P2 - Medium
Type
Functional
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
Using the test file from https://musescore.org/en/node/313743
Expected Result: After the D.C. playback should use the "final playthrough" and skip the first volta
Actual Result: The D.C. breaks the volta interpretation, leaving m6 to be included in "final playthrough".
Underlying reason: Jumps break up voltas, which makes sense in the case where the Jump is trailing an open ended volta (the intended code path here). But it doesn't make sense when the Jump is enclosed within the volta's notated anchor point (be it open or closed).
Solution: Just as with overlapping voltas, it is required to duplicate and split the volta here. (istr there's already a TODO hook in the code for this)
Fix version
3.6.0
Comments
Root cause is different from depicted above:
It's the combination of Volta end anchor with Jump and end repeat at the same point. The Jump closed the Volta (but was correctly enclosed in it), leading to the end repeat not being enclosed by it.
Unrolling then wrongly processes the end-repeat after the volta was skipped, leading to the erroneous inclusion of the measure containing it.
see https://github.com/musescore/MuseScore/pull/6971
and https://github.com/musescore/MuseScore/pull/6972
Fixed in branch 3.x, commit 190d179ac8
fix #313751 jump at volta end and end repeat parsing order
Fixed in branch master, commit 336d9312fa
fix #313751 jump at volta end and end repeat parsing order
Automatically closed -- issue fixed for 2 weeks with no activity.