Skip to content

Commit

Permalink
Fix #334025: Export missing instrument-sound tag
Browse files Browse the repository at this point in the history
Backport of musescore#12680
  • Loading branch information
luto65 authored and Jojo-Schmitz committed Aug 5, 2022
1 parent 693707b commit 232b188
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions importexport/musicxml/exportxml.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5621,10 +5621,12 @@ static int findPartGroupNumber(int* partGroupEnd)
// scoreInstrument
//---------------------------------------------------------

static void scoreInstrument(XmlWriter& xml, const int partNr, const int instrNr, const QString& instrName)
static void scoreInstrument(XmlWriter& xml, const int partNr, const int instrNr, const QString& instrName, const Instrument* instr = nullptr)
{
xml.stag(QString("score-instrument %1").arg(instrId(partNr, instrNr)));
xml.tag("instrument-name", instrName);
if (instr && !instr->instrumentId().isEmpty() && !MScore::testMode)
xml.tag("instrument-sound", instr->instrumentId());
xml.etag();
}

Expand Down Expand Up @@ -6115,7 +6117,7 @@ static void partList(XmlWriter& xml, Score* score, MxmlInstrumentMap& instrMap)
MxmlReverseInstrumentMap rim;
initReverseInstrMap(rim, instrMap);
for (int instNr : rim.keys()) {
scoreInstrument(xml, idx + 1, instNr + 1, MScoreTextToMXML::toPlainText(rim.value(instNr)->trackName()));
scoreInstrument(xml, idx + 1, instNr + 1, MScoreTextToMXML::toPlainText(rim.value(instNr)->trackName()), rim.value(instNr));
}
for (auto ii = rim.constBegin(); ii != rim.constEnd(); ii++) {
int instNr = ii.key();
Expand Down

0 comments on commit 232b188

Please sign in to comment.