Problem with repeats

• Jul 17, 2015 - 17:51

Ok, so I have a tune where I need to repeat one block 5 times with a different ending on the 5th repeat. Pretty normal stuff.

So I have repeat bar-lines both ends of the block, and a closed volta on the ending of the 1-4 repeat ending, with an open volta for the 5th ending and continuation, just as you would normally. The closed volta covers the 4 bars at the end of the repeat area, the open volta the bar that follows the repeat.

The volta settings have the repeat numbers set to "1, 2, 3, 4" and "5" respectively for the closed and open voltas.

I would expect that to work. Instead, what I get is the block plays through once with the closed volta ending. The repeat is triggered, and it goes back to the start (correct). Then it reaches the end of the block and plays the closed volta ending again (correct) but then goes straight on to the open volta ending without repeating (wrong).

So basically it plays bars 6-24, 25-29, 6-24, 25-29, 30-end whereas I'd expect it to play 6-24, 25-29, 6-24, 25-29, 6-24, 25-29, 6-24, 25-29, 6-24, 30-end

This is the github version, freshly compiled this afternoon.


It is always easier to help if you attach the specific score you are having problems and give precise step by step instructions to reproduce the problem (in this case, I guess just "press play button or space bar and listen to the playback").

Absent the score, I can *guess* that while you updated the text of the volta, you didn't update the repeat count of the measure containing the repeat sign. Also, depending on the specifics "5" is probably not the correct answer for the last volta. Yes, you want it played the fifth time *total*, but the first time *that particular volta is encountered*.

In reply to by Marc Sabatella

Ok, so you have to set the repeat count in the last bar as well as the repeat counts in the volta? That seems a bit redundant...

So with the bar's repeat count set to 5, the closed volta set to "1, 2, 3, 4" and the open volta set to "5" it seems to work now. I had no idea that the bar had a repeat count setting. I was expecting to just be adding the voltas and setting their repeat numbers and the repeat would know that the highest repeat number in a volta attached to this repeat bar was 5 so it would have to repeat 5 times to satisfy that. It's not very intuitive having a second separate setting somewhere completely different to specify basically the same number that you have already specified elsewhere.

I had even looked in the inspector for the repeat barline itself and not found anything that would indicate how many times to repeat - I didn't think to look in the properties of the bar that the repeat barline was in. I would have thought it would have been in the repeat element not the bar if it was going to be anywhere, which is why I assumed that it was a bug that it couldn't work out how many times to repeat from the repeat counts that I had specified correctly in the voltas.

In reply to by majenko

Not all repeat bars have voltas, so a repeat bar can't rely on the volta to know how many times to repeat if not the default of two. So that's why there has to be a separate repeat count for the barline or the measure it appears in. I'm sure it would be possible to design a simpler system, but so far no one has designed one.

In reply to by majenko

That would be possible of course, but I don't like the idea that you'd have two unrelated places to set the same information: if there is a volta, set the repeat count here, if not, set it in this other place. And I don't like thinking about what would happen if those two different settings were in conflict. And "somewhere you wouldn't think to look" is in the eye of the beholder. You thought about looking in the volta properties because you had a volta. If you hadn't had a volta, you wouldn't have thought about looking there.

Anyhow, like I said, I'm sure it would be possible to design a simpler system, but there is more to than it might seem at first glance.

Do you still have an unanswered question? Please log in first to post your question.