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"); }