MusicXML export loses tablature info, produces unrecognizable notation

• Dec 8, 2018 - 21:14
Reported version
3.0
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.0.0.4303, revision: d7350e5

Open the attached file, export it as an XML file, then reimport it. The tablature staff is now unrecognisable.

Attachment Size
xml_issue.mscz 15.38 KB

Comments

Title Exporting then importing an XML file leads to broken layout MusicXML export loses tablature info, produces unrecognizable notation
Priority P0 - Critical

Problem is on the export side - if I export to MusicXML from both MsueScore and MsueScore 3 then import both, I get the same results on import in both case: the 2.0-exported file looks OK (only the "expected" issues), the 3.0-exported info is not tablature at all. Looks like somehow we are exporting bad info about the staff type when exporting tablature.

This is not a MusicXML export issue. Using the new score wizard in the current MuseScore 3.0 to create either a guitar tab staff or a linked guitar plus tab staff results in correct MusicXML which is correctly imported.

After importing the attached file, the TAB staff does not have a clef (and MuseScore does not even allow adding a clef). Instead of a TAB clef, a TAB symbol is present attached to the first chord segment. I suspect this causes the missing clef definition in the MusicXML export.

It looks to me this is primarily a TAB staff mscx format import issue.

Aha, thanks for the analysis! Still, the tab clef was, I understand, removed deliberately for some reason, and yet obviously we still know it's a tab staff internally. Perhaps in such cases, we should still export the tab clef but mark it invisible, if that would allow it to export correctly?

More investigation done, problem fully understood. The GUI allows you to disable "show clef" in the staff properties. This results in a staff without any clef. Furthermore, the GUI also allows you to drag a clef symbol from the symbol section in the master palette onto the staff without clef. This results in the attached file: it contains a tab staff without a clef but with a "tab clef" symbol where the normal clef would go. This is visually identical to a normal tab staff with clef, but leads to MusicXML export without a clef definition (probably legal MusicXML) which, on import, results in a six line standard staff containing stemless notes.

This is, IMHO, primarily a GUI problem, as the GUI should not allow you to create different internal data structures for things that look identical.

Nevertheless, as long as the GUI behaves this way, it is probably a good idea to make the MusicXML import or export aware of this issue and work around it.

Fix version
3.0.3