Multi-measure rests not working with XML export to SmartMusic

• Nov 17, 2017 - 23:31

I was wondering if MuseScore codes multi-measure rests strangely. I use MuseScore and upload XML files to SmartMusic all the time for my students to practice. Whenever there is a multi-measure rest at the beginning or end of a line, it looks like a total mess in SmartMusic (notes and measures are all squished together and totally unreadable).

SmartMusic support said that it has something to do with the way MuseScore exports the information into XML in that specific situation. Obviously exporting from Finale into SmartMusic doesn't have this problem. Is this a bug that can be fixed? I've attached screenshots of what the original music looks like in MuseScore and then when it's imported into SmartMusic, and also a screenshot of the email with SmartMusic support.

Attachment Size
SmartMusic Error.png 303.38 KB
MuseScore Original.png 210.01 KB
SmartMusic Email.png 91.79 KB

Comments

In reply to by Leon Vinken

Here's the file I used as an example in the screenshot. In this case, the multi-measure rest is on page 2, beginning of the second to last line. Literally any file that has a multi-measure rest at the beginning or end of a line has this issue. Unfortunately, this happens quite frequently in the concert band music I upload to SmartMusic.

Attachment Size
Spits 2017-Alto_Saxophone_1.mscz 30.43 KB

In reply to by Andrew S

This got to be a downright lie, as 3.1 is not yet released, check the link I provided above. They may be using some 3.1 beta test, and said so in http://www.musicxml.com/musicxml-3-1-arrives-in-finale-v25-4-dolet-7/

But I see indeed that in http://www.musicxml.com/finale-25-5-musicxml-updates/ they claim Finale to be using 3.1
To be honest I see them claiming to use 3.1 (and not some beta of it), while this not being officially released, as being a miss-use of their position in board of that standards community group

In reply to by Leon Vinken

I'VE FOUND THE ERROR.

I searched through the XML file (and learned how to read it, yay). I use line breaks to format my music, so there should be a print new-system="yes" section of code to start a new system. Now whenever there is a multimeasure rest at the end or beginning of a line, the print new-system="yes" section simple does not exist in the XML code that is exported. It's just not there.

Check out the files I've attached. In the MuseScore file, there are line breaks at M. 9, 18, and 27. Look in the XML file and you'll only find print new-system="yes" at M. 28, when they should be at M. 10 and 19.

To test this, I went ahead and wrote in the code to create new systems where they should be, imported it to SmartMusic, and it worked perfectly.

Attachment Size
Line_Break_Test-Flute.mscz 6.5 KB
Line_Break_Test-Flute.xml 11.92 KB

In reply to by Andrew S

I did some more experimenting and discovered something else. I made a screencapture video to demonstrate exactly what's going on since it's quicker and easier that writing it out. Here's the link: https://www.youtube.com/watch?v=G8OvlzIEh1Y&feature=youtu.be

Long story short: pressing "M" two times changes the output of the XML file. It adds line breaks in some measures where they should go, but not in others. Also, If I save the .mscz file after doing this, close it, re-open it, and export as XML, it goes back to the way it exported before I pressed M twice. Pretty buggy.

I've attached the MuseScore file I used in the video.

Attachment Size
Line_Break_Test-Flute2.mscz 7.71 KB

In reply to by Marc Sabatella

Btw, disabling multimeasure rests entirely worked for that small four-measure rest, but when I break a large group up, like 32 bars for example, there are so many individual measures that they get pushed the next line no matter how small I squeeze them. When that happens, the XML codes a new system on whatever measure happens to be pushed to the next line. When I import that into SmartMusic, I'm back at square one. I could go in manually and remove those new systems and it works fine, but that's extremely time-consuming and tedious. Alternately, I could increase the page width to something like 20 inches so they all fit on the intended line, export as XML, go into the XML file and manually change the page width back to 1304.35 (9 inches), and then those page breaks won't be there, but again...very tedious when I have four bands, 3-4 pieces per band, and 10 parts per band.

Ultimately there's just a bug that prevents XML from coding new systems when there are multimeasure rests at the beginning or end of a line. Hopefully that's a simple fix?

In reply to by Leon Vinken

Missing new-system bug found: the new system / new page detection in the MusicXML exporter fails for measures in a multi-measure rest because for a normal measure its parent is the system, but for a measures in a multi-measure rest it is the multi-measure rest.

Should not be too hard to fix.

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