Better control of repeats and jumps for playback

• Jan 10, 2011 - 13:16
Reported version
2.1
Type
Functional
Severity
S5 - Suggestion
Status
closed
Project

Currently, MuseScore offers several facilities to manage repeats and jumps.

  • Repeats bar and measure repeat count (measure properties -> Measure count)
  • Alternate endings or Voltas
  • Jump and markers : Coda, Segno, DS al coda etc...

Still, a lot of use cases are not well handled on playback/midi output/audio output. More and more people use MuseScore as tool to rehearse and it's more important for them to have a good repeat support than detailed and humanized playback.

Several users propose to implement a solution to define for each measure and for each pass which measure should be played next, a kind of generalisation of the Jump -> Marker algorithm.
Apparently Sibelius is using this kind of settings.


Comments

I suggest postponing this feature request until the playback bugs are fixed. (And we can re-evaluate what is needed at that time). Customization as a substitute for correct default behavior is a recipe for bad UI design.

Just to make it clearer, my main concern was that MuseScore file format may need to be adapted to handle more complex cases.

I have no objections to changes in the file format. I was worried about implementing a user interface that unnecessarily duplicated the music notation on the score, instead of programming MuseScore to read the music notation for alternate endings (volta brackets) correctly.

Somehow it's already the case. As you know playback of alternate endings relies on the list of numbers defined in the Volta properties dialog and on the repeat count of each measure. I'm not sure these two parameters are enough to define when each endings should be played, especially if we consider the nesting with DS/ Segno or DC.

So in this feature request, I advocate an unification of the UI to be able to change a default behavior. The default behavior would be dictated by the music notation if possible, and the user could change the default in an interface which list "pass" and "next measure". Does it make sense?

Caution
This was translated in google translate Japanese.

Can not jump to coda.
This is a serious problem to the performance.
Can you fix it as soon as possible?

Original of Japanese
codaへジャンプしません。
これは演奏に重大な問題です。
なるべく早く修正してもらえますか?

Jump to coda does work in general. If you have a specific case where it does not using the current nightly build, please submit a separate bug report with a sample file showing that specific problem. But you might want to post to the forum first to see if you are simply using the feature incorrectly. For instance, you have to use the actual "To Coda" marking, not the simlle coda sign, to perform the jump.

And in any event, you should realize that the primary purpose of MuseScore is notation, not playback. So feature requests or bug reports involving playback are never considered "critical". Even when it comes to bugs in basic notation, "critical" is reserved for bugs that actually crash the program or other cause corrupt scores or loss of data.

Personally, I think that would be useful (at least for the developers) to have a dialog (similar to the inspector) with the list of all the measure being played in the real order.

Here's an example of what could be listed :
1
2
3
4
5 : repeat bar, first ending (1)
1
2
3
4 : jump to second ending (6)
6 : second ending
7
8 : DC al coda (1)
1
2
3 : To coda (9)
9

This way everyone could see in which order the measure are going to be played.

Maybe I should fill a feature request for that?

Status (old) patch (code needs review) fixed
Status fixed

Fixed in branch master, commit dd2050e2f1

fix #8604, fix #4525, fix #6091, fix #48456, fix #148276, fix #230531, fix #267778: improve volta playback
unwindSection using RepeatList as how a human will notate the volta: using the n-th time a startRepeat is taken, also slightly modified the jump detection logic to have it check for jumps only upon the last passage of a measure

Status (old) patch (code needs review) fixed
Status fixed

Fixed in branch 2.2, commit aaf88ffeb6

fix #8604, fix #4525, fix #6091, fix #48456, fix #148276, fix #230531, fix #267778: improve volta playback
unwindSection using RepeatList as how a human will notate the volta: using the n-th time a startRepeat is taken, also slightly modified the jump detection logic to have it check for jumps only upon the last passage of a measure

I was looking to do this, too. From the conversation, I still don't know how to have nested repeats. Can maybe someone tell me how to specify to musescore to repeat a repeat inside a repeat.
It concerns "La-haut sur la montagne -- pot-pourri" from Pierre Kaelin (Édition Labatiaz CL 3186) (sung, e.g., by incantanti and cantus firmus on youtube) where one has the design:
A :|| B :||
at the beginning of the song. For humans, it's quite understandable (because the first sentence is repeated), that it should be sung as:
AABAAB
, but musescore plays it as
AABAB
. Can I have this as AABAAB in musescore? Basically, I need a tutorial... :D I even think this would be worth uploading a video tutorial to yt.