Pasting repeat bar over barline corrupts measures

• Jul 3, 2010 - 23:15
S2 - Critical

Steps to reproduce bug
1. Open "repeat bar over barline.mscz" (attached below)
2. Shift+drag to select measures 1-4
3. Edit > Copy
4. Click to select the quarter rest in measure 5, beat 3
5. Edit > Paste
6. File > Save
7. File > Reload
8. Add a note to replace one of the measure repeats. Notice that the measure is now corrupt (contains more beats than are allowed)

Expected behavior: Since the repeat bar crosses a barline when pasting, MuseScore should swap out the repeat bar for the intended notes in step 5 (see "Capture.PNG" below)

Actual behavior: After step 5 you get some odd-looking measures (see "Capture2.PNG" below)

MuseScore version: r. 3254 nightly build. Bug also present in 0.9.6 stable.

(Operating System: Windows 7)

Attachment Size
repeat bar over barline.mscz 1.48 KB
Capture.PNG 10.2 KB
Capture2.PNG 9.72 KB


Question about the expected behaviour :
What if several staves are copied and only one contains repeat bar sign?
What if the repeat bar sign is at the beginning of a longer measure?

lasconic and I discussed his questions from comment #1 (above) on IRC. Here is a summary of the discussion:

"What if several staves are copied and only one contains repeat bar sign?"

Lasconic thought I was recommending to skip the repeat bar symbol and go on to the notes of the next measure which would mean the two staves were now out of sync. What I meant to recommend was replacing the repeat bar symbol with the notes from the previous measure since the repeat bar can't cross a bar line.

"What if the repeat bar sign is at the beginning of a longer measure?"

This is a variation of the situation in the original bug report. For example pasting a 4/4 repeat bar into a 3/4 measure. I would recommend replacing the notes similar to the original report.

These are probably all edge-case scenarios. A quick check of Finale and Sibelius shows that neither of them handle these situations very well (see "Finale.PNG" and "Sibelius.PNG"). The only part of this bug report I consider critical is the measure corruption.

Attachment Size
Finale.PNG 300.91 KB
Sibelius.PNG 39.91 KB

Unfortunately, we can't easily copy the actual "meaning" of the repeat measure since it's not in the clipboard. We would need to modify drastically the way a repeat measure is copied to do that by copying both the repeat measure and its meaning.
For the time being, if the repeat measure is copied on a barline, it will be copied as rest.