Volta: How do do a (1,2) and (3) repeat

• Jan 7, 2021 - 01:01

I worked this out in isolation, and have a little one liner where this works fine, but I cannot see what I have wrong at the end of this song.

Measures 36, 37 are to repeat on times 1, 2, then measure 38 forward plays on 3rd time through.

In the volta properties I have both the text and repeat as shown, i.e. "1,2" and "3". In the measure properties of measure 37 I have 3 for Play Count. What happens is measures through 37 are played twice, on the third time through it plays measure 35 and stops.

By "play" I mean Musescore's playing, but it also applies to the Midi output -- it ends at the end of measure 35 (after correctly, with unroll set, repeating).

I must be missing something -- it works in a very limited test with what to me looks like identical setups. But it is just stopping at measure 35, it never gets to 38 (or 39 for that matter).

Thanks in advance,
Linwood
repeats.jpg

repeatswork.jpg

Attachment Size
repeats.jpg 81.67 KB

Comments

best guess without having the score open in MuseScore is to say you probably left the volta 3 play list set to 2 (which is the default) so it never gets there. If that's not it, attach the .mscz file.

In reply to by mike320

No, it's 3.

It occurred to me I did not mention -- this score started with an XML input file, which had a lot of issues I have cleaned up. So there might be something under the covers? Is there a way too look more deeply/

I'm happy to share the score if there is an appropriate way to do so, if someone wants to look (I know copyright makes all forums nervous, with good reason).

In reply to by Ferguson

Somehow mutiple voltas ended up on measure 6 but only one is being shown by the program. The first one had the play list set to 2. Here's what the .mscx file looked like in this area

      <Measure>
        <voice>
          <Harmony>
            <root>16</root>
            </Harmony>
          <Spanner type="Volta">
            <prev>
              <location>
                <measures>-2</measures>
                </location>
              </prev>
            </Spanner>
          <Spanner type="Volta">
            <Volta>
              <beginText>2</beginText>
              <endings>2</endings>
              </Volta>
            <next>
              <location>
                </location>
              </next>
            </Spanner>
          <Spanner type="Volta">
            <prev>
              <location>
                </location>
              </prev>
            </Spanner>
          <Spanner type="Volta">
            <Volta>
              <beginText>2</beginText>
              <endings>2</endings>
              </Volta>
            <next>
              <location>
                </location>
              </next>
            </Spanner>
          <Spanner type="Volta">
            <prev>
              <location>
                </location>
              </prev>
            </Spanner>
          <Spanner type="Volta">
            <Volta>
              <beginText>3.</beginText>
              <endings>3</endings>
              </Volta>
            <next>
              <location>
                <measures>1</measures>
                </location>
              </next>
            </Spanner>

I show this so perhaps @jeetee can look at it. I don't know how it got to this point. Jeetee is the one who has written most of the repeat code for the last several years.

In reply to by mike320

Yeah, I just did that in the original score (there were a LOT of them, I lost count), and put them back, and it is now working. I don't know if these came in from something I did, or it was a side effect of the XML file from Music-to-Xml (which is really old, but was using it until my SmartScore key arrived -- it has, I'll see if it does it in the next score).

In reply to by Ferguson

So I can reproduce this but not sure which program is incorrect. I did the following:

I took the test program created from scratch with two measures each with a volta over it. I exported as PDF, recognized in SmartScore, converted to XML and imported to Musescore, and then output as mscx.

I then deleted the two volta shown (which looked right -- except one bar was not over the measure) and saved again as .mscx.

The first mscx file had 8 volta "spanners". The one after all were deleted (in the gui) had 4. So I think something is clearly wrong.

I just am not smart enough to tell which program screwed up.

If anyone cares to try it start with this xml file. That's fresh from SmartScore on a "perfect" PDF (output from Musescore). Measures 4-5 should repeat twice, continuing with measure 6 on the third repetition. The playcount comes through as 2 on the measure (not surprising, not really an issue), but the "hidden" volta apparently is a problem.

Attachment Size
test.xml 22.22 KB

In reply to by Ferguson

Using 3.5.2 there was no end included for the "ending" ("volta" in MuseScore) so it didn't draw it correctly, but the volta was only in the .mscx file once.

Using 3.6 there were multiple voltas entered into the .mscx file. It seems there is a bug. I'll go ahead and enter it into the tracker.

In reply to by mike320

While entering the issue, I discovered that playback on this sample worked fine so the problem is very minor in this file but a regression that should be fixed none-the-less. For proper testing we would need to see the xml file created that did not playback properly. No one has ever gotten in trouble for sharing a score for trouble shooting purposes on musescore.org. It's the responsibility of the website owner to assure copyright laws are complied with and they would remove the file if requested by the copyright owner.

You could add it to the bug report at #315243: Import of xml creates multiple voltas

In reply to by mike320

I can update there but I'm not seeing what you are. The XML I attached, if I open it without any change in 3.6.0, and just hit play, it plays measures 3-5 twice and quits, never plays measure 6 or 7 at all, is that not what you have happen? Note without making a change to play count on measure 5, and leaving the volta o measure 6 weirdly attached to the beginning of the measure, which I think is also wrong.

This is actually a 3.6.0 I built, so if you are seeing otherwise I'll grab the official 3.6.0 and check but pretty sure I would not have affected that. I just downloaded the file I posted to make sure also.

In reply to by Ferguson

I had to change the playcount to 3 to get proper playback when I opened the last text file. In the first file you used, setting the playcount to 3 (which you had already done) didn't fix the playback problem. I'm not sure why it's different though the I know the mscx files are different.

In reply to by Ferguson

There's nothing in the xml that says to set the play count to 3 that I'm aware of but my knowledge of xml isn't 100%. Without that I don't expect MuseScore to know to set the play count to 3 but it can be determined by the voltas. I don't think that is part of the code and the xml standard probably doesn't enforce the play count either. Once again, that's beyond my knowledge. What I do know is that in the first .mscz file you posted the play count was set to 3 but it still stopped playback due to the voltas. This problem is related to the incomplete bug report I submitted but can't show proof of in xml import problem without a broken example.

To properly fix the bug the original xml file needs to be available. It's possible there is a problem with the xml file itself rather than musescore but the problem is only manifested in 3.6 due to some code changes between the versions.

In reply to by mike320

Ah... I understand. The Volta says 1,2, but the measure count is not 3. And the 2nd volta is 3. So apparently the XML from Smartscore interpreted properly the '1,2' in the volta, but it (or XML) can't set the measure property properly. Arguably the volta should force a minimum on the measure repeat but I get that it doesn't.

I no longer have the original XML file, and had done a ton of editing to it before I found the problem (since it only showed up when playing). If I can find one that misbehaves again, I'll save and post it.

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