Play n times stops at 20-something?

I’m using “play n times” to repeat some bars as Dorico currently doesn’t have loop selection feature.

I have the repeat set to 99 times, but Dorico stops at 20-something (I think I counted 22). Bug?

It would help if you sent a sample file that demonstrates the problem. Zip it before posting.

I tried this with 1-bar and 2-bar repeating passages and it stops at about 40 passes not 20.

The fact that playback stops, i.e. it doesn’t continue after the repeated passage, definitely seems like a bug, even if there is a limit by design (but not enforced properly in the properties panel) on the maximum number of repetitions.

This plays 21 times for me
Repeat_bug.dorico.zip (595 KB)

For me too.

Yes, this is currently the intended behaviour, in order to avoid Dorico ending up in an infinite repeat, which can happen if you provide a faulty repeat sequence. However, I agree that there should be greater agreement between the maximum value allowed by the Properties panel and how many repeats Dorico will actually play. I think it’s also fair to say that the current repeats functionality is not intended as a substitute for a true looping feature, and we do not consider it a requirement of repeats playback that it should be able to meet the use case of looping indefinitely.

If the “interpreter” can enter endless loop, the user should still be able to stop it with the stop button. Does Dorico has a problem with event processing / threads in this case, so that the user can’t hit the stop button? If that is the case, limiting repeats is a horrible workaround.

Apologies if my previous reply in this thread was unclear. I was working my way through some 50 or so unread threads last night and perhaps should have taken more time to be clearer. Let me take another run at it.

It is designed behaviour that Dorico will not play repeats an unlimited number of times. It is possible for the user to create a repeat structure that will result in playback that will never end. This does not cause the software to hang or become inoperable, though it does cause some performance issues, because there are calculations that are dependent on the data for how a flow plays back, and if a flow is infinitely long this can cause those calculations to take a much longer than normal time. However, to my knowledge this never causes the software to become unresponsive to the point that it will not stop playback when requested by the user.

And for the avoidance of doubt, when I said that it was not a supported use case to use the ‘Play n times’ property to provide indefinite looping, do not take that as dismissal of the value of that user requirement; we know that many users would like to have the ability to loop an arbitrary section of the score in playback, and we intend to address that requirement with a proper feature in the future. Abusing the ‘Play n times’ property to achieve this is not the way we anticipate meeting that requirement.