Skip to content

Commit

Permalink
Merge pull request #12680 from Jojo-Schmitz/musicxml_instrument-sound
Browse files Browse the repository at this point in the history
[MU4] Fix #334025: Export missing instrument-sound tag
  • Loading branch information
RomanPudashkin committed May 16, 2023
2 parents 3801faa + 3b1d151 commit 29e96ff
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/importexport/musicxml/internal/musicxml/exportxml.cpp
Expand Up @@ -6179,10 +6179,14 @@ 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.startElementRaw(QString("score-instrument %1").arg(instrId(partNr, instrNr)));
xml.tag("instrument-name", instrName);
if (instr && !instr->musicXmlId().isEmpty() && !MScore::testMode) {
xml.tag("instrument-sound", instr->musicXmlId());
}
xml.endElement();
}

Expand Down Expand Up @@ -6691,7 +6695,9 @@ static void partList(XmlWriter& xml, Score* score, MxmlInstrumentMap& instrMap)
MxmlReverseInstrumentMap rim;
initReverseInstrMap(rim, instrMap);
for (int instNr : rim.keys()) {
scoreInstrument(xml, static_cast<int>(idx) + 1, instNr + 1, MScoreTextToMXML::toPlainText(rim.value(instNr)->trackName()));
scoreInstrument(xml, static_cast<int>(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 29e96ff

Please sign in to comment.