Chord names from 1.3 are not imported correctly in 2.0

• Jun 21, 2013 - 14:07
Type
Functional
Severity
S2 - Critical
Status
closed
Project

1. Open attached score (produced in 1.3).

Expected result: 'Cm7' chord appears.
Actual result: 'C' chord appears.

Using MuseScore 2.0 Nightly Build (dd7b860) - Mac 10.7.5.

Attachment Size
Chord names don't show in full.mscz 1.45 KB

Comments

There is an information lost. The attached file has been created from scratch in Musescore 1.3 (create a score, click first rest, Ctrl + K, Type Cm7, save and open in 2.0)

Another way to test is Plugin -> Leadsheet -> "Create chord chart" and choose stdchords.xml... weirdly enough, it works for Cm7 but there are other bugs.

Attachment Size
shot_130621_151257.png 2.62 KB

This is another unfortunate side effect of #21192: chord list in default style modified by certain operations that load a chord list - can lead to crash.

The basic problem is that the "Chordname" item in the palette triggers a load of the new 2.0 default chord description file into the defaultStyle's chordList, which puts MuseScore into a state where it just does not want to load another chord description file unless it thinks it has to. I put a workaround in place so that if a loaded score explicitly specifies a non-default chord description file, it does get loaded. This handles all 2.0 scores, and also any 1.X scores that use non-default chord description files. But 1.X scores using the 1.X default chord description file don't currently work.

FWIW, the rest of isn't exactly lost (yet); MuseScore just doesn't have the means to render it. Change chord description files (to jazzchords.xml, for example), and the rest of the chord magically reappears, You can then even change it back to stdchords.xml and that will now work too. But if you save the file again before doing this, *then* the information will be lost.

I can add an explicit workaround, but #21192: chord list in default style modified by certain operations that load a chord list - can lead to crash really needs to be addressed directly. This is but one of many ill effects we'll see.