MuseScore
MuseScore copied to clipboard
[MU4 Task] (Re-)Implement playback for multi-measure repeats
Task description
The new MPE playback rendering system does not yet support playback for multi-measure repeats (single-measure repeats do work). The old MIDI rendering system did (before it was replaced for playback; it is still used for MIDI export nowadays).

It has nothing to do with MusePlaybackEvents. See notes from PlaybackModelTests_Repeat_Last_Measure which is intentionally disabled until the fix
@vpereverzev Actually, I think there are some significant differences between "measure repeats" and other kinds of repeats:
- measure repeats apply only to the staves on which they appear, while other repeats apply to all staves
- other repeats are about jumping through the score (as in, the playback cursor should jump), while in the case of measure repeats, the normal playback flow just goes on, and you only hear the music from previous measures being "echoed".
Do you really think that RepeatSegment/RepeatList should be extended for this?
RepeatSegments are entirely not foreseen for this type of logic and indeed act as a playback roadmap for entire measures. I'd rather expect the equivalent of the old renderPlayEvents(element) to do the substitution here. (just my 2cents)
I should point out that in the latest nightly, regular repeats aren't working. Don't know if this has also been intentionally switched off for now, or not.
Also, the element for multimeasure repeats is not in any palette anymore.
Moving this to Post Beta. For this release we only strictly need to get ordinary repeats working.
Now that the beta is out I hope this pull request gets reviewed soon. 🙃
@RobFog Unfortunately, there are performance issues with this PR. It turns out to be tough to find a good solution that is not a completely awful hack and doesn't affect performance badly. Other team members have looked at it too, but haven't found the perfect solution either. So I highly doubt that this will be merged soon. However, you're right that this maybe deserves a friendly bump :)
@vpereverzev FYI :)
fixed in https://github.com/musescore/MuseScore/pull/14395
@RomanPudashkin - I don't believe we implemented fixes for multi-measure repeats, only for regular "last bar" repeats, so this issue should stay open, I think.
I also do not think we should attempt to implement multi-measure repeats for 4.0.
Reopened and updated to represent the current situation: single-measure repeats are working now, but multi-measure repeats are not, whereas they used to work with the old playback system in MS4 before it was replaced with the MPE system.
bump on this issue?
The issue is on the list for the very next update, and a fix is already pending. So unless someone decides that the fix is not nice, or for some other reason decides that we shouldn't fix this right now, the fix will be in 4.1.
The issue is on the list for the very next update, and a fix is already pending. So unless someone decides that the fix is not nice, or for some other reason decides that we shouldn't fix this right now, the fix will be in 4.1.
Has @bkunda or @DmitryArefiev tested the implementation yet? If not, I can also take a look.
Ignore this if the fix isn't ready for testing yet.