diff --git a/src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass2.cpp b/src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass2.cpp
index 55663f63d3f43..ca2d5e326bfc4 100644
--- a/src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass2.cpp
+++ b/src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass2.cpp
@@ -622,6 +622,20 @@ static void updatePartWithInstrumentChange(Part* const part, const MusicXmlInstr
}
}
+static void setPercussionInstrument(MusicXmlInstrument& mxmlInstr, const String& partName)
+{
+ // If there are multiple unpitched instruments we should set the part's instrument to drumkit or percussion
+ if (partName.contains(u"drumset",
+ CaseSensitivity::CaseInsensitive) || partName.contains(u"drumkit", CaseSensitivity::CaseInsensitive)) {
+ mxmlInstr = MusicXmlInstrument();
+ mxmlInstr.name = u"Drum Kit";
+ } else if (partName.contains(u"percussion", CaseSensitivity::CaseInsensitive)) {
+ mxmlInstr = MusicXmlInstrument();
+ mxmlInstr.name = u"Percussion";
+ mxmlInstr.sound = u"drum.group.set";
+ }
+}
+
//---------------------------------------------------------
// setPartInstruments
//---------------------------------------------------------
@@ -638,7 +652,8 @@ static void setPartInstruments(MusicXmlLogger* logger, const XmlStreamReader* xm
const Score* score,
const MusicXmlInstrList& instrList,
const MusicXmlIntervalList& intervList,
- const MusicXmlInstruments& instruments)
+ const MusicXmlInstruments& instruments,
+ const String& partName)
{
if (instruments.empty()) {
// no instrument details found, create a default instrument
@@ -651,6 +666,9 @@ static void setPartInstruments(MusicXmlLogger* logger, const XmlStreamReader* xm
// do not create multiple instruments for a drum part
//LOGD("hasDrumset");
MusicXmlInstrument mxmlInstr = instruments.begin()->second;
+ if (instruments.size() > 1) {
+ setPercussionInstrument(mxmlInstr, partName);
+ }
updatePartWithInstrument(part, mxmlInstr, {}, true);
return;
}
@@ -2149,13 +2167,11 @@ void MusicXmlParserPass2::part()
const MusicXmlInstruments& instruments = m_pass1.getInstruments(id);
m_hasDrumset = hasDrumset(instruments);
- // set the parts first instrument
- Part* part = m_pass1.getPart(id);
- setPartInstruments(m_logger, &m_e, part, id, m_score, m_pass1.getInstrList(id), m_pass1.getIntervals(id), instruments);
-
// set the part name
+ Part* part = m_pass1.getPart(id);
MusicXmlPart mxmlPart = m_pass1.getMusicXmlPart(id);
String partName = mxmlPart.getName();
+ setPartInstruments(m_logger, &m_e, part, id, m_score, m_pass1.getInstrList(id), m_pass1.getIntervals(id), instruments, partName);
partName = replacePartNameAccidentals(partName);
part->setPartName(partName);
if (mxmlPart.getPrintName() && !isLikelyIncorrectPartName(partName)) {
@@ -2168,6 +2184,7 @@ void MusicXmlParserPass2::part()
} else {
m_pass1.getPart(id)->setPlainShortNameAll(u"");
}
+ // set the parts first instrument
// try to prevent an empty track name
if (part->partName() == "") {
String instrId = m_pass1.getInstrList(id).instrument(Fraction(0, 1));
@@ -6500,8 +6517,7 @@ static void setPitch(Note* note, const MusicXmlInstruments& instruments, const S
// get pitch from instrument definition in drumset instead
int unpitched = instruments.at(instrumentId).unpitched;
note->setPitch(std::clamp(unpitched, 0, 127));
- // TODO - does this need to be key-aware?
- note->setTpc(pitch2tpc(unpitched, Key::C, Prefer::NEAREST)); // TODO: necessary ?
+ note->setTpcFromPitch();
} else {
//LOGD("disp step %d oct %d", displayStep, displayOctave);
xmlSetPitch(note, mnp.displayStep(), 0, 0.0, mnp.displayOctave(), 0, instrument);
diff --git a/src/importexport/musicxml/tests/data/testMS3KitAndPerc.xml b/src/importexport/musicxml/tests/data/testMS3KitAndPerc.xml
new file mode 100644
index 0000000000000..9882df65b7717
--- /dev/null
+++ b/src/importexport/musicxml/tests/data/testMS3KitAndPerc.xml
@@ -0,0 +1,3471 @@
+
+
+
+
+ Title
+
+
+ Composer
+
+ MuseScore 3.6.2
+ 2025-01-22
+
+
+
+
+
+
+
+
+
+ 6.99911
+ 40
+
+
+ 1696.94
+ 1200.48
+
+ 85.7252
+ 85.7252
+ 85.7252
+ 85.7252
+
+
+ 85.7252
+ 85.7252
+ 85.7252
+ 85.7252
+
+
+
+
+
+
+ title
+ Title
+
+
+ composer
+ Composer
+
+
+
+ bracket
+
+
+ Drumset
+ D. Set
+
+ Acoustic Bass Drum
+
+
+ Bass Drum 1
+
+
+ Side Stick
+
+
+ Acoustic Snare
+
+
+ Electric Snare
+
+
+ Low Floor Tom
+
+
+ Closed Hi-Hat
+
+
+ High Floor Tom
+
+
+ Pedal Hi-Hat
+
+
+ Low Tom
+
+
+ Open Hi-Hat
+
+
+ Low-Mid Tom
+
+
+ Hi-Mid Tom
+
+
+ Crash Cymbal 1
+
+
+ High Tom
+
+
+ Ride Cymbal 1
+
+
+ Chinese Cymbal
+
+
+ Ride Bell
+
+
+ Tambourine
+
+
+ Splash Cymbal
+
+
+ Cowbell
+
+
+ Crash Cymbal 2
+
+
+ Ride Cymbal 2
+
+
+ Open Hi Conga
+
+
+ Low Conga
+
+
+
+ 10
+ 1
+ 36
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 37
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 38
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 39
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 41
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 42
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 43
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 44
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 45
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 46
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 47
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 48
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 49
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 50
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 51
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 52
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 53
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 54
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 55
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 56
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 57
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 58
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 60
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 64
+ 78.7402
+ 0
+
+
+ 10
+ 1
+ 65
+ 78.7402
+ 0
+
+
+
+ Percussion
+ Perc.
+
+ Closed Hi-Hat
+
+
+ Pedal Hi-Hat
+
+
+ Open Hi-Hat
+
+
+ Ride
+
+
+ Concert Bass Drum
+
+
+ Snare Side Stick
+
+
+ Concert Snare Drum
+
+
+ Castanets
+
+
+ Tambourine
+
+
+ Splash Cymbal
+
+
+ Cowbell
+
+
+ Vibraslap
+
+
+ Concert Cymbal
+
+
+ Mute High Conga
+
+
+ Open High Conga
+
+
+ Low Conga
+
+
+ Maracas
+
+
+ Claves
+
+
+ Open Triangle
+
+
+ Shaker
+
+
+ Mark Tree
+
+
+
+ 10
+ 49
+ 28
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 29
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 30
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 31
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 37
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 38
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 39
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 40
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 55
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 56
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 57
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 59
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 60
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 63
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 64
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 65
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 71
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 76
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 82
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 83
+ 78.7402
+ 0
+
+
+ 10
+ 49
+ 85
+ 78.7402
+ 0
+
+
+
+
+
+
+
+
+
+ 116.46
+ 0.00
+
+ 170.00
+
+
+
+ 1
+
+ 0
+
+
+
+ percussion
+ 2
+
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 108.78
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 108.78
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 108.78
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 108.78
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 108.78
+
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 70.00
+
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ A
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 229.41
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+
+ 72.86
+ -0.00
+
+ 229.41
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+
+ 72.86
+ 0.00
+
+ 229.41
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+ light-heavy
+
+
+
+
+
+
+
+ 43.51
+
+
+
+ 1
+
+ 0
+
+
+
+ percussion
+ 2
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 43.51
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 43.51
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 43.51
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 43.51
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 43.51
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 91.76
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 91.76
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ inverted triangle
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ A
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ 91.76
+
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ diamond
+
+
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ B
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ G
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ 91.76
+
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ D
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ E
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ F
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ F
+ 4
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+ x
+
+
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+ C
+ 5
+
+ 1
+
+ 1
+ quarter
+ up
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+
+
+
+ 4
+ 1
+
+
+ light-heavy
+
+
+
+
diff --git a/src/importexport/musicxml/tests/data/testMS3KitAndPerc_ref.mscx b/src/importexport/musicxml/tests/data/testMS3KitAndPerc_ref.mscx
new file mode 100644
index 0000000000000..0e201994e24b0
--- /dev/null
+++ b/src/importexport/musicxml/tests/data/testMS3KitAndPerc_ref.mscx
@@ -0,0 +1,2923 @@
+
+
+
+ 480
+
+ 1
+ 1
+ 1
+ 0
+
+ Composer
+
+
+
+
+
+
+
+ Title
+
+
+
+ perc5Line
+ 0
+
+ 3
+
+ 1
+
+ Drumset
+
+ Drumset
+ D. Set
+ Drum Kit
+ drum.group.set
+ 1
+
+ normal
+ 7
+ 0
+ Acoustic Bass Drum
+ 1
+
+
+ normal
+ 7
+ 0
+ Bass Drum 1
+ 1
+
+
+ cross
+ 3
+ 0
+ Side Stick
+ 1
+
+
+ normal
+ 3
+ 0
+ Acoustic Snare
+ 1
+
+
+ normal
+ 3
+ 0
+ Electric Snare
+ 1
+
+
+ normal
+ 5
+ 0
+ Low Floor Tom
+ 1
+
+
+ cross
+ -1
+ 0
+ Closed Hi-Hat
+ 1
+
+
+ normal
+ 5
+ 0
+ High Floor Tom
+ 1
+
+
+ cross
+ 9
+ 0
+ Pedal Hi-Hat
+ 1
+
+
+ normal
+ 2
+ 0
+ Low Tom
+ 1
+
+
+ cross
+ 1
+ 0
+ Open Hi-Hat
+ 1
+
+
+ normal
+ 1
+ 0
+ Low-Mid Tom
+ 1
+
+
+ normal
+ 0
+ 0
+ Hi-Mid Tom
+ 1
+
+
+ cross
+ -2
+ 0
+ Crash Cymbal 1
+ 1
+
+
+ normal
+ 0
+ 0
+ High Tom
+ 1
+
+
+ cross
+ 0
+ 0
+ Ride Cymbal 1
+ 1
+
+
+ cross
+ -3
+ 0
+ Chinese Cymbal
+ 1
+
+
+ diamond
+ 0
+ 0
+ Ride Bell
+ 1
+
+
+ diamond
+ 2
+ 0
+ Tambourine
+ 1
+
+
+ cross
+ -3
+ 0
+ Splash Cymbal
+ 1
+
+
+ triangle-down
+ 1
+ 0
+ Cowbell
+ 1
+
+
+ cross
+ -3
+ 0
+ Crash Cymbal 2
+ 1
+
+
+ cross
+ 2
+ 0
+ Ride Cymbal 2
+ 1
+
+
+ cross
+ 4
+ 0
+ Open Hi Conga
+ 1
+
+
+ cross
+ 6
+ 0
+ Low Conga
+ 1
+
+ PERC
+ 0
+
+ 100
+ 100
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 150
+ 100
+
+
+ 150
+ 50
+
+
+ 120
+ 50
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
+ perc5Line
+ 0
+
+ 3
+
+ Percussion
+
+ Percussion
+ Perc.
+ Percussion
+ drum.group.set
+ 1
+
+ cross
+ -1
+ 0
+ Closed Hi-Hat
+ 1
+
+
+ cross
+ 9
+ 0
+ Pedal Hi-Hat
+ 1
+
+
+ cross
+ 1
+ 0
+ Open Hi-Hat
+ 1
+
+
+ cross
+ 0
+ 0
+ Ride
+ 1
+
+
+ normal
+ 7
+ 0
+ Concert Bass Drum
+ 1
+
+
+ cross
+ 3
+ 0
+ Snare Side Stick
+ 1
+
+
+ normal
+ 3
+ 0
+ Concert Snare Drum
+ 1
+
+
+ normal
+ 1
+ 0
+ Castanets
+ 1
+
+
+ diamond
+ 2
+ 0
+ Tambourine
+ 1
+
+
+ cross
+ -3
+ 0
+ Splash Cymbal
+ 1
+
+
+ triangle-down
+ 1
+ 0
+ Cowbell
+ 1
+
+
+ diamond
+ 1
+ 0
+ Vibraslap
+ 1
+
+
+ cross
+ -2
+ 0
+ Concert Cymbal
+ 1
+
+
+ cross
+ 2
+ 0
+ Mute High Conga
+ 1
+
+
+ cross
+ 4
+ 0
+ Open High Conga
+ 1
+
+
+ cross
+ 6
+ 0
+ Low Conga
+ 1
+
+
+ normal
+ 2
+ 0
+ Maracas
+ 1
+
+
+ normal
+ 0
+ 0
+ Claves
+ 1
+
+
+ diamond
+ 0
+ 0
+ Open Triangle
+ 1
+
+
+ normal
+ 4
+ 0
+ Shaker
+ 1
+
+
+ cross
+ 2
+ 0
+ Mark Tree
+ 1
+
+ PERC
+
+ 100
+ 100
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 150
+ 100
+
+
+ 150
+ 50
+
+
+ 120
+ 50
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+ Title
+
+
+
+ Composer
+
+
+
+
+
+ PERC
+ PERC
+ 1
+
+
+ 4
+ 4
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 43
+ 15
+
+
+
+ quarter
+ up
+
+ 43
+ 15
+
+
+
+ quarter
+ up
+
+ 43
+ 15
+
+
+
+ quarter
+ up
+
+ 43
+ 15
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 44
+ 22
+ cross
+
+
+
+ quarter
+ up
+
+ 44
+ 22
+ cross
+
+
+
+ quarter
+ up
+
+ 44
+ 22
+ cross
+
+
+
+ quarter
+ up
+
+ 44
+ 22
+ cross
+
+
+
+
+
+
+ line
+
+
+
+ quarter
+ up
+
+ 45
+ 17
+
+
+
+ quarter
+ up
+
+ 45
+ 17
+
+
+
+ quarter
+ up
+
+ 45
+ 17
+
+
+
+ quarter
+ up
+
+ 45
+ 17
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 46
+ 12
+ cross
+
+
+
+ quarter
+ up
+
+ 46
+ 12
+ cross
+
+
+
+ quarter
+ up
+
+ 46
+ 12
+ cross
+
+
+
+ quarter
+ up
+
+ 46
+ 12
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 47
+ 19
+
+
+
+ quarter
+ up
+
+ 47
+ 19
+
+
+
+ quarter
+ up
+
+ 47
+ 19
+
+
+
+ quarter
+ up
+
+ 47
+ 19
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 48
+ 14
+
+
+
+ quarter
+ up
+
+ 48
+ 14
+
+
+
+ quarter
+ up
+
+ 48
+ 14
+
+
+
+ quarter
+ up
+
+ 48
+ 14
+
+
+
+
+
+
+ line
+
+
+
+ quarter
+ up
+
+ 49
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 49
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 49
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 49
+ 21
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 50
+ 16
+
+
+
+ quarter
+ up
+
+ 50
+ 16
+
+
+
+ quarter
+ up
+
+ 50
+ 16
+
+
+
+ quarter
+ up
+
+ 50
+ 16
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 51
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 51
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 51
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 51
+ 11
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 52
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 52
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 52
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 52
+ 18
+ cross
+
+
+
+
+
+
+ line
+
+
+
+ quarter
+ up
+
+ 53
+ 13
+ diamond
+
+
+
+ quarter
+ up
+
+ 53
+ 13
+ diamond
+
+
+
+ quarter
+ up
+
+ 53
+ 13
+ diamond
+
+
+
+ quarter
+ up
+
+ 53
+ 13
+ diamond
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+
+
+
+ line
+
+
+
+ quarter
+ up
+
+ 57
+ 17
+ cross
+
+
+
+ quarter
+ up
+
+ 57
+ 17
+ cross
+
+
+
+ quarter
+ up
+
+ 57
+ 17
+ cross
+
+
+
+ quarter
+ up
+
+ 57
+ 17
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+
+
+
+ line
+
+
+
+ quarter
+ up
+
+ 35
+ 19
+
+
+
+ quarter
+ up
+
+ 35
+ 19
+
+
+
+ quarter
+ up
+
+ 35
+ 19
+
+
+
+ quarter
+ up
+
+ 35
+ 19
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+
+
+
+ page
+
+
+
+ quarter
+ up
+
+ 40
+ 18
+
+
+
+ quarter
+ up
+
+ 40
+ 18
+
+
+
+ quarter
+ up
+
+ 40
+ 18
+
+
+
+ quarter
+ up
+
+ 40
+ 18
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 41
+ 13
+
+
+
+ quarter
+ up
+
+ 41
+ 13
+
+
+
+ quarter
+ up
+
+ 41
+ 13
+
+
+
+ quarter
+ up
+
+ 41
+ 13
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 42
+ 20
+ cross
+
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+ line
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+ line
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+ line
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+ end
+
+
+
+
+
+
+
+
+ PERC
+ PERC
+ 1
+
+
+ 4
+ 4
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 39
+ 11
+
+
+
+ quarter
+ up
+
+ 39
+ 11
+
+
+
+ quarter
+ up
+
+ 39
+ 11
+
+
+
+ quarter
+ up
+
+ 39
+ 11
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+ quarter
+ up
+
+ 54
+ 20
+ diamond
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+ quarter
+ up
+
+ 55
+ 15
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+ quarter
+ up
+
+ 56
+ 22
+ triangle-down
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 58
+ 12
+ diamond
+
+
+
+ quarter
+ up
+
+ 58
+ 12
+ diamond
+
+
+
+ quarter
+ up
+
+ 58
+ 12
+ diamond
+
+
+
+ quarter
+ up
+
+ 58
+ 12
+ diamond
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+ quarter
+ up
+
+ 59
+ 19
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 62
+ 16
+ cross
+
+
+
+ quarter
+ up
+
+ 62
+ 16
+ cross
+
+
+
+ quarter
+ up
+
+ 62
+ 16
+ cross
+
+
+
+ quarter
+ up
+
+ 62
+ 16
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 63
+ 11
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 64
+ 18
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 70
+ 12
+
+
+
+ quarter
+ up
+
+ 70
+ 12
+
+
+
+ quarter
+ up
+
+ 70
+ 12
+
+
+
+ quarter
+ up
+
+ 70
+ 12
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 75
+ 11
+
+
+
+ quarter
+ up
+
+ 75
+ 11
+
+
+
+ quarter
+ up
+
+ 75
+ 11
+
+
+
+ quarter
+ up
+
+ 75
+ 11
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 81
+ 17
+ diamond
+
+
+
+ quarter
+ up
+
+ 81
+ 17
+ diamond
+
+
+
+ quarter
+ up
+
+ 81
+ 17
+ diamond
+
+
+
+ quarter
+ up
+
+ 81
+ 17
+ diamond
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 82
+ 12
+
+
+
+ quarter
+ up
+
+ 82
+ 12
+
+
+
+ quarter
+ up
+
+ 82
+ 12
+
+
+
+ quarter
+ up
+
+ 82
+ 12
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 84
+ 14
+ cross
+
+
+
+ quarter
+ up
+
+ 84
+ 14
+ cross
+
+
+
+ quarter
+ up
+
+ 84
+ 14
+ cross
+
+
+
+ quarter
+ up
+
+ 84
+ 14
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 27
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 27
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 27
+ 11
+ cross
+
+
+
+ quarter
+ up
+
+ 27
+ 11
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 28
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 28
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 28
+ 18
+ cross
+
+
+
+ quarter
+ up
+
+ 28
+ 18
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 29
+ 13
+ cross
+
+
+
+ quarter
+ up
+
+ 29
+ 13
+ cross
+
+
+
+ quarter
+ up
+
+ 29
+ 13
+ cross
+
+
+
+ quarter
+ up
+
+ 29
+ 13
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 30
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 30
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 30
+ 20
+ cross
+
+
+
+ quarter
+ up
+
+ 30
+ 20
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+ quarter
+ up
+
+ 36
+ 14
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+ quarter
+ up
+
+ 37
+ 21
+ cross
+
+
+
+
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+ quarter
+ up
+
+ 38
+ 16
+
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+
+
+
+
+ measure
+ 1/1
+
+
+ end
+
+
+
+
+
+
diff --git a/src/importexport/musicxml/tests/data/testSticking_ref.mscx b/src/importexport/musicxml/tests/data/testSticking_ref.mscx
index da0c12adc8b8e..af1b97f61638b 100644
--- a/src/importexport/musicxml/tests/data/testSticking_ref.mscx
+++ b/src/importexport/musicxml/tests/data/testSticking_ref.mscx
@@ -60,15 +60,11 @@
3
Percussion
-
+
Percussion
Perc.
- Closed Hi-Hat
- 24
- 108
- 24
- 108
- strings.group
+ Percussion
+ drum.group.set
1
normal
@@ -217,7 +213,7 @@
Castanets
0
- F
+ PERC
100
100
@@ -258,17 +254,12 @@
120
100
-
+
+
-
-
-
-
-
-
@@ -311,8 +302,7 @@
16th
38
- -9
- 16
+ 16
@@ -323,8 +313,7 @@
16th
38
- -9
- 16
+ 16
@@ -335,8 +324,7 @@
16th
38
- -9
- 16
+ 16
@@ -346,8 +334,7 @@
16th
38
- -9
- 16
+ 16
@@ -363,8 +350,7 @@
16th
38
- -9
- 16
+ 16
@@ -375,8 +361,7 @@
16th
38
- -9
- 16
+ 16
@@ -387,8 +372,7 @@
16th
38
- -9
- 16
+ 16
@@ -398,8 +382,7 @@
16th
38
- -9
- 16
+ 16
@@ -434,8 +417,7 @@
38
- -9
- 16
+ 16
@@ -459,8 +441,7 @@
38
- -9
- 16
+ 16
@@ -470,8 +451,7 @@
eighth
38
- -9
- 16
+ 16
@@ -487,8 +467,7 @@
eighth
38
- -9
- 16
+ 16
@@ -516,8 +495,7 @@
38
- -9
- 16
+ 16
@@ -535,8 +513,7 @@
38
- -9
- 16
+ 16
@@ -579,8 +556,7 @@
38
- -9
- 16
+ 16
@@ -593,8 +569,7 @@
38
- -9
- 16
+ 16
@@ -607,8 +582,7 @@
38
- -9
- 16
+ 16
@@ -621,8 +595,7 @@
38
- -9
- 16
+ 16
@@ -634,8 +607,7 @@
up
38
- -9
- 16
+ 16
diff --git a/src/importexport/musicxml/tests/musicxml_tests.cpp b/src/importexport/musicxml/tests/musicxml_tests.cpp
index ef0e6051a6254..5d28da8d30e5d 100644
--- a/src/importexport/musicxml/tests/musicxml_tests.cpp
+++ b/src/importexport/musicxml/tests/musicxml_tests.cpp
@@ -893,6 +893,9 @@ TEST_F(MusicXml_Tests, measureStyleSlash) {
TEST_F(MusicXml_Tests, midiPortExport) {
musicXmlMscxExportTestRef("testMidiPortExport");
}
+TEST_F(MusicXml_Tests, ms3KitAndPerc) {
+ musicXmlImportTestRef("testMS3KitAndPerc");
+}
TEST_F(MusicXml_Tests, multiInstrumentPart1) {
musicXmlIoTest("testMultiInstrumentPart1");
}