From 6a6be18d234ae8f078ce2fa254678c7f18847bc2 Mon Sep 17 00:00:00 2001 From: iveshenry18 Date: Wed, 14 Jul 2021 18:35:30 -0600 Subject: [PATCH] ENG-65: Volta print-object not respected Dolet tends to export voltas on every part, then hide all but one. Previously, these would all be imported and not hidden. This commit hides voltas when print-object="no". Additionally, it adds handling for only exporting voltas in the staff they are in, as previously one volta was exported for each part, despite the volta only existing on one part. Duplicate of #8622, part 1 --- importexport/musicxml/exportxml.cpp | 17 +- importexport/musicxml/importmxmlpass2.cpp | 11 +- importexport/musicxml/importmxmlpass2.h | 2 +- mtest/musicxml/io/testTextLines_ref.xml | 8 - mtest/musicxml/io/testVoltaHiding.xml | 2454 ++++++++++++++++++++ mtest/musicxml/io/testVoltaHiding_ref.mscx | 2012 ++++++++++++++++ mtest/musicxml/io/testVoltaHiding_ref.xml | 2401 +++++++++++++++++++ mtest/musicxml/io/tst_mxml_io.cpp | 2 + 8 files changed, 6888 insertions(+), 19 deletions(-) create mode 100644 mtest/musicxml/io/testVoltaHiding.xml create mode 100644 mtest/musicxml/io/testVoltaHiding_ref.mscx create mode 100644 mtest/musicxml/io/testVoltaHiding_ref.xml diff --git a/importexport/musicxml/exportxml.cpp b/importexport/musicxml/exportxml.cpp index af4aba18265ec..b74023eb8aa7e 100644 --- a/importexport/musicxml/exportxml.cpp +++ b/importexport/musicxml/exportxml.cpp @@ -342,7 +342,7 @@ class ExportMusicXml { void clef(int staff, const ClefType ct, const QString& extraAttributes = ""); void timesig(TimeSig* tsig); void keysig(const KeySig* ks, ClefType ct, int staff = 0, bool visible = true); - void barlineLeft(const Measure* const m); + void barlineLeft(const Measure* const m, const int track); void barlineMiddle(const BarLine* bl); void barlineRight(const Measure* const m, const int strack, const int etrack); void lyrics(const std::vector* ll, const int trk); @@ -1546,14 +1546,15 @@ static QString tick2xml(const Fraction& ticks, int* dots) // findVolta -- find volta starting in measure m //--------------------------------------------------------- -static Volta* findVolta(const Measure* const m, bool left) +static Volta* findVolta(const Measure* const m, bool left, const int track) { Fraction stick = m->tick(); Fraction etick = m->tick() + m->ticks(); auto spanners = m->score()->spannerMap().findOverlapping(stick.ticks(), etick.ticks()); for (auto i : spanners) { Spanner* el = i.value; - if (el->type() != ElementType::VOLTA) + if (el->type() != ElementType::VOLTA + || track2staff(el->track()) != track2staff(track)) continue; if (left && el->tick() == stick) return (Volta*) el; @@ -1595,6 +1596,8 @@ static void ending(XmlWriter& xml, Volta* v, bool left) } QString voltaXml = QString("ending number=\"%1\" type=\"%2\"").arg(number, type); voltaXml += positioningAttributes(v, left); + if (!v->visible()) + voltaXml += " print-object=\"no\""; xml.tagE(voltaXml); } @@ -1602,10 +1605,10 @@ static void ending(XmlWriter& xml, Volta* v, bool left) // barlineLeft -- search for and handle barline left //--------------------------------------------------------- -void ExportMusicXml::barlineLeft(const Measure* const m) +void ExportMusicXml::barlineLeft(const Measure* const m, const int track) { bool rs = m->repeatStart(); - Volta* volta = findVolta(m, true); + Volta* volta = findVolta(m, true, track); if (!rs && !volta) return; _attr.doAttr(_xml, false); _xml.stag(QString("barline location=\"left\"")); @@ -1800,7 +1803,7 @@ void ExportMusicXml::barlineRight(const Measure* const m, const int strack, cons bool visible = m->endBarLineVisible(); bool needBarStyle = (bst != BarLineType::NORMAL && bst != BarLineType::START_REPEAT) || !visible; - Volta* volta = findVolta(m, false); + Volta* volta = findVolta(m, false, strack); // detect short and tick barlines QString special = ""; if (bst == BarLineType::NORMAL) { @@ -6587,7 +6590,7 @@ void ExportMusicXml::writeMeasure(const Measure* const m, findTrills(m, strack, etrack, _trillStart, _trillStop); // barline left must be the first element in a measure - barlineLeft(m); + barlineLeft(m, strack); // output attributes with the first actual measure (pickup or regular) if (isFirstActualMeasure) { diff --git a/importexport/musicxml/importmxmlpass2.cpp b/importexport/musicxml/importmxmlpass2.cpp index 73a4ba484b882..d318f4c39aa2a 100644 --- a/importexport/musicxml/importmxmlpass2.cpp +++ b/importexport/musicxml/importmxmlpass2.cpp @@ -3851,6 +3851,7 @@ void MusicXMLParserPass2::barline(const QString& partId, Measure* measure, const QString endingText; QString repeat; QString count; + bool printEnding = true; while (_e.readNextStartElement()) { if (_e.name() == "bar-style") @@ -3858,6 +3859,7 @@ void MusicXMLParserPass2::barline(const QString& partId, Measure* measure, const else if (_e.name() == "ending") { endingNumber = _e.attributes().value("number").toString(); endingType = _e.attributes().value("type").toString(); + printEnding = _e.attributes().value("print-object").toString() != "no"; endingText = _e.readElementText(); } else if (_e.name() == "repeat") { @@ -3909,15 +3911,15 @@ void MusicXMLParserPass2::barline(const QString& partId, Measure* measure, const } } - doEnding(partId, measure, endingNumber, endingType, endingText); + doEnding(partId, measure, endingNumber, endingType, endingText, printEnding); } //--------------------------------------------------------- // doEnding //--------------------------------------------------------- -void MusicXMLParserPass2::doEnding(const QString& partId, Measure* measure, - const QString& number, const QString& type, const QString& text) +void MusicXMLParserPass2::doEnding(const QString& partId, Measure* measure, const QString& number, + const QString& type, const QString& text, const bool print) { if (!(number.isEmpty() && type.isEmpty())) { if (number.isEmpty()) @@ -3950,11 +3952,13 @@ void MusicXMLParserPass2::doEnding(const QString& partId, Measure* measure, volta->setTick(measure->tick()); _score->addElement(volta); _lastVolta = volta; + volta->setVisible(print); } else if (type == "stop") { if (_lastVolta) { _lastVolta->setVoltaType(Volta::Type::CLOSED); _lastVolta->setTick2(measure->tick() + measure->ticks()); + // Assume print-object was handled at the start _lastVolta = 0; } else @@ -3964,6 +3968,7 @@ void MusicXMLParserPass2::doEnding(const QString& partId, Measure* measure, if (_lastVolta) { _lastVolta->setVoltaType(Volta::Type::OPEN); _lastVolta->setTick2(measure->tick() + measure->ticks()); + // Assume print-object was handled at the start _lastVolta = 0; } else diff --git a/importexport/musicxml/importmxmlpass2.h b/importexport/musicxml/importmxmlpass2.h index e43cc9b9a313f..bfead2c44203e 100644 --- a/importexport/musicxml/importmxmlpass2.h +++ b/importexport/musicxml/importmxmlpass2.h @@ -294,7 +294,7 @@ class MusicXMLParserPass2 { void backup(Fraction& dura); void timeModification(Fraction& timeMod, TDuration& normalType); void stem(Direction& sd, bool& nost); - void doEnding(const QString& partId, Measure* measure, const QString& number, const QString& type, const QString& text); + void doEnding(const QString& partId, Measure* measure, const QString& number, const QString& type, const QString& text, const bool print); void staffDetails(const QString& partId); void staffTuning(StringData* t); void skipLogCurrElem(); diff --git a/mtest/musicxml/io/testTextLines_ref.xml b/mtest/musicxml/io/testTextLines_ref.xml index c731354becc3e..85da45645a659 100644 --- a/mtest/musicxml/io/testTextLines_ref.xml +++ b/mtest/musicxml/io/testTextLines_ref.xml @@ -315,9 +315,6 @@ - - - F @@ -330,14 +327,10 @@ light-heavy - - - - G @@ -349,7 +342,6 @@ light-heavy - diff --git a/mtest/musicxml/io/testVoltaHiding.xml b/mtest/musicxml/io/testVoltaHiding.xml new file mode 100644 index 0000000000000..8f7db5960e254 --- /dev/null +++ b/mtest/musicxml/io/testVoltaHiding.xml @@ -0,0 +1,2454 @@ + + + + + Volta Hiding + + + Henry Ives + + MuseScore 0.7.0 + 2007-09-10 + + + + + + + + + + 6.99911 + 40 + + + 1596.77 + 1233.87 + + 85.7252 + 85.7252 + 85.7252 + 85.7252 + + + 85.7252 + 85.7252 + 85.7252 + 85.7252 + + + + + + + title + Volta Hiding + + + subtitle + MuseScore Testcase + + + composer + Henry Ives + + + + Flute + Fl. + + Flute + + + + 1 + 74 + 78.7402 + 0 + + + + Piano + Pno. + + Piano + + + + 2 + 1 + 78.7402 + 0 + + + + + + + + + 78.73 + -0.00 + + 170.00 + + + + 1 + + 0 + + + + G + 2 + + + + + 1 + 1 + quarter + + + + D + 5 + + 1 + 1 + quarter + down + + + + B + 4 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + + + E + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + G + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + G + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + B + 4 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + E + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + 4 + 1 + + + + + + F + 4 + + 1 + 1 + quarter + down + + + + + A + 4 + + 1 + 1 + quarter + down + + + + + A + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + down + + + + + F + 5 + + 1 + 1 + quarter + down + + + + D + 4 + + 1 + 1 + quarter + up + + + + E + 5 + + 1 + 1 + quarter + down + + + + G + 4 + + 1 + 1 + quarter + up + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + C + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + E + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + light-heavy + + + + + + + + + + + 4 + 1 + + + + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + C + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 5 + + 1 + 1 + quarter + down + + + + E + 4 + + 1 + 1 + quarter + up + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + D + 5 + + 1 + 1 + quarter + down + + + + D + 5 + + 1 + 1 + quarter + down + + + + 2 + 1 + half + + + light-heavy + + + + + + + + 47.82 + + + 45.75 + + + + 1 + + 0 + + + 2 + + G + 2 + + + F + 4 + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + C + 3 + + 1 + 5 + quarter + down + 2 + + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + + B + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + G + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 4 + + 1 + 5 + quarter + down + 2 + + + + C + 3 + + 1 + 5 + quarter + down + 2 + + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 2 + 5 + half + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + F + 4 + + 1 + 1 + quarter + up + 1 + + + + C + 4 + + 1 + 1 + quarter + up + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + E + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + F + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + E + 5 + + 1 + 1 + quarter + down + 1 + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + F + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + C + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + + E + 3 + + 1 + 5 + quarter + up + 2 + + + + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 4 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + + B + 3 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + light-heavy + + + + + + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + 4 + + + + G + 2 + + 1 + 5 + quarter + up + 2 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + + + + + + 4 + 1 + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + F + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 2 + 5 + half + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + E + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + light-heavy + + + + diff --git a/mtest/musicxml/io/testVoltaHiding_ref.mscx b/mtest/musicxml/io/testVoltaHiding_ref.mscx new file mode 100644 index 0000000000000..cae16f3e33ac8 --- /dev/null +++ b/mtest/musicxml/io/testVoltaHiding_ref.mscx @@ -0,0 +1,2012 @@ + + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + Henry Ives + + + + + + + + + Volta Hiding + + + + stdNormal + + 3 + + Flute + + Flute + Fl. + Flute + 59 + 98 + 60 + 93 + wind.flutes.flute + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + + + + + + + + stdNormal + + 3 + + 2 + + + + stdNormal + + 3 + + Piano + + Piano + Pno. + Piano + 21 + 108 + 21 + 108 + keyboard.piano + F + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + + + + + + + 12.5 + + + + Volta Hiding + + + + + MuseScore Testcase + + + + right,top + + Henry Ives + + + + + + G + G + + + 4 + 4 + + + quarter + + + quarter + down + + 74 + 16 + + + + quarter + down + + 71 + 19 + + + + quarter + + + + + + + quarter + down + + 76 + 18 + + + + quarter + + + half + + + + + + + quarter + down + + 79 + 15 + + + + quarter + + + quarter + up + + 69 + 17 + + + + quarter + + + + + + + quarter + down + + 79 + 15 + + + + quarter + + + half + + + + + + + quarter + down + + 71 + 19 + + + + quarter + + + quarter + up + + 64 + 18 + + + + quarter + + + + + + + measure + 1/1 + + + + + + + quarter + down + + 65 + 13 + + + 69 + 17 + + + 81 + 17 + + + + quarter + + + half + + + + + + + quarter + up + + 65 + 13 + + + + quarter + + + half + + + + + + + quarter + down + + 65 + 13 + + + 77 + 13 + + + + quarter + up + + 62 + 16 + + + + quarter + down + + 76 + 18 + + + + quarter + up + + 67 + 15 + + + + + + + + quarter + up + + 65 + 13 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 69 + 17 + + + + quarter + + + quarter + down + + 72 + 14 + + + + quarter + + + + + + + + 1 + 1 + 1 + + + + 7 + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 64 + 18 + + + + quarter + + + half + + + + + + + quarter + up + + 65 + 13 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + 2 + + + measure + 1/1 + + + + + + + + + -7 + + + + + + 2 + 2 + + + + 1 + + + + + measure + 1/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 + down + + 72 + 14 + + + + quarter + + + half + + + + + + + quarter + down + + 77 + 13 + + + + quarter + up + + 64 + 18 + + + + quarter + up + + 69 + 17 + + + + quarter + + + + + + + quarter + down + + 74 + 16 + + + + quarter + down + + 74 + 16 + + + + half + + + end + + + + + + + + + G + G + + + 4 + 4 + + + measure + 1/1 + + + + + + + quarter + down + + 72 + 14 + + + + quarter + down + + 72 + 14 + + + + quarter + down + + 72 + 14 + + + + quarter + down + + 71 + 19 + + + + + + + + quarter + down + + 74 + 16 + + + + quarter + + + half + + + + + + + quarter + down + + 72 + 14 + + + 77 + 13 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + quarter + down + + 79 + 15 + + + + quarter + + + half + + + + + + + quarter + down + + 74 + 16 + + + + quarter + + + quarter + up + + 69 + 17 + + + + quarter + + + + + + + quarter + up + + 65 + 13 + + + + quarter + up + + 60 + 14 + + + + half + + + + + + + measure + 1/1 + + + + + + + quarter + down + + 77 + 13 + + + + quarter + + + half + + + + + + + quarter + down + + 76 + 18 + + + + quarter + down + + 77 + 13 + + + + half + + + + + + + quarter + down + + 72 + 14 + + + + quarter + + + half + + + + + + + quarter + up + + 67 + 15 + + + 69 + 17 + + + + quarter + down + + 74 + 16 + + + + quarter + down + + 74 + 16 + + + + quarter + + + + + + + + 1 + 1 + 0 + + 1 + + + 0 + + + 3 + + + 0 + + 1 + + + + 7 + + + + + quarter + down + + 72 + 14 + + + + quarter + + + half + + + + + + + quarter + up + + 60 + 14 + + + + quarter + + + quarter + up + + 59 + 19 + + + + quarter + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 67 + 15 + + + + quarter + up + + 69 + 17 + + + + half + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + + + -7 + + + + + + 2 + 0 + + 0 + + + 0 + + 2 + + + + 1 + + + + + quarter + down + + 71 + 19 + + + + quarter + + + quarter + up + + 67 + 15 + + + + quarter + down + + 72 + 14 + + + + + + + + + + -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 + down + + 71 + 19 + + + + quarter + + + half + + + + + + + quarter + down + + 74 + 16 + + + + quarter + + + half + + + + + + + quarter + down + + 71 + 19 + + + + quarter + + + quarter + down + + 76 + 18 + + + + quarter + + + end + 1 + + + + + + + + + F + F + + + 4 + 4 + + + quarter + up + + 45 + 17 + + + + quarter + + + half + + + + + + + quarter + up + + 48 + 14 + + + + quarter + + + quarter + down + + 48 + 14 + + + 52 + 18 + + + + quarter + + + + + + + quarter + down + + 57 + 17 + + + 59 + 19 + + + + quarter + + + quarter + up + + 45 + 17 + + + + quarter + + + + + + + quarter + up + + 47 + 19 + + + + quarter + + + quarter + down + + 57 + 17 + + + + quarter + + + + + + + quarter + up + + 48 + 14 + + + + quarter + + + quarter + up + + 47 + 19 + + + + quarter + + + + + + + quarter + down + + 69 + 17 + + + + quarter + down + + 48 + 14 + + + 55 + 15 + + + + half + + + + + + + quarter + down + + 50 + 16 + + + + quarter + + + quarter + down + + 55 + 15 + + + + quarter + + + + + + + quarter + down + + 64 + 18 + + + + quarter + + + quarter + down + + 52 + 18 + + + + quarter + + + + + + + quarter + down + + 65 + 13 + + + + quarter + + + half + + + + + + + quarter + up + + 45 + 17 + + + + quarter + + + half + + + + + + + quarter + up + + 45 + 17 + + + + quarter + + + quarter + down + + 50 + 16 + + + + quarter + + + + + + + quarter + down + + 53 + 13 + + + + quarter + + + quarter + down + + 55 + 15 + + + + quarter + + + + + + + quarter + down + + 60 + 14 + + + + quarter + + + quarter + down + + 55 + 15 + + + + quarter + up + + 45 + 17 + + + 52 + 18 + + + + + + + + quarter + up + + 45 + 17 + + + + quarter + + + quarter + down + + 52 + 18 + + + + quarter + + + + + + + quarter + down + + 52 + 18 + + + + quarter + + + quarter + down + + 50 + 16 + + + + quarter + + + + + + + quarter + up + + 45 + 17 + + + + quarter + + + quarter + up + + 48 + 14 + + + + quarter + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 43 + 15 + + + + quarter + up + + 48 + 14 + + + + quarter + down + + 52 + 18 + + + + quarter + down + + 57 + 17 + + + + + + + + quarter + up + + 47 + 19 + + + + quarter + + + quarter + up + + 47 + 19 + + + + quarter + + + + + + + quarter + down + + 50 + 16 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 45 + 17 + + + + quarter + + + half + + + + + + + quarter + up + + 47 + 19 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 41 + 13 + + + + quarter + + + half + + + + + + + measure + 1/1 + + + + + + + quarter + up + + 47 + 19 + + + + quarter + down + + 52 + 18 + + + + half + + + + + + + quarter + up + + 48 + 14 + + + + quarter + + + half + + + + + + + quarter + down + + 55 + 15 + + + + quarter + + + quarter + down + + 50 + 16 + + + + quarter + + + + + + diff --git a/mtest/musicxml/io/testVoltaHiding_ref.xml b/mtest/musicxml/io/testVoltaHiding_ref.xml new file mode 100644 index 0000000000000..12845558da01e --- /dev/null +++ b/mtest/musicxml/io/testVoltaHiding_ref.xml @@ -0,0 +1,2401 @@ + + + + + Volta Hiding + + + Henry Ives + + MuseScore 0.7.0 + 2007-09-10 + + + + + + + + + + Flute + Fl. + + Flute + + + + 1 + 74 + 78.7402 + 0 + + + + Piano + Pno. + + Piano + + + + 2 + 1 + 78.7402 + 0 + + + + + + + 1 + + 0 + + + + G + 2 + + + + + 1 + 1 + quarter + + + + D + 5 + + 1 + 1 + quarter + down + + + + B + 4 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + + + E + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + G + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + G + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + B + 4 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + E + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + 4 + 1 + + + + + + F + 4 + + 1 + 1 + quarter + down + + + + + A + 4 + + 1 + 1 + quarter + down + + + + + A + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + down + + + + + F + 5 + + 1 + 1 + quarter + down + + + + D + 4 + + 1 + 1 + quarter + up + + + + E + 5 + + 1 + 1 + quarter + down + + + + G + 4 + + 1 + 1 + quarter + up + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + C + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + E + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + light-heavy + + + + + + + + + + + 4 + 1 + + + + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + 4 + 1 + + + + + + C + 5 + + 1 + 1 + quarter + down + + + + 1 + 1 + quarter + + + + 2 + 1 + half + + + + + + F + 5 + + 1 + 1 + quarter + down + + + + E + 4 + + 1 + 1 + quarter + up + + + + A + 4 + + 1 + 1 + quarter + up + + + + 1 + 1 + quarter + + + + + + D + 5 + + 1 + 1 + quarter + down + + + + D + 5 + + 1 + 1 + quarter + down + + + + 2 + 1 + half + + + light-heavy + + + + + + + 1 + + 0 + + + 2 + + G + 2 + + + F + 4 + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + C + 3 + + 1 + 5 + quarter + down + 2 + + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + + B + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + G + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 4 + + 1 + 5 + quarter + down + 2 + + + + C + 3 + + 1 + 5 + quarter + down + 2 + + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 2 + 5 + half + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + F + 4 + + 1 + 1 + quarter + up + 1 + + + + C + 4 + + 1 + 1 + quarter + up + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + E + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + F + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + E + 5 + + 1 + 1 + quarter + down + 1 + + + + F + 5 + + 1 + 1 + quarter + down + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + F + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + C + 4 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + + E + 3 + + 1 + 5 + quarter + up + 2 + + + + + + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + C + 4 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + + B + 3 + + 1 + 1 + quarter + up + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + A + 4 + + 1 + 1 + quarter + up + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + light-heavy + + + + + + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + G + 4 + + 1 + 1 + quarter + up + 1 + + + + C + 5 + + 1 + 1 + quarter + down + 1 + + + 4 + + + + G + 2 + + 1 + 5 + quarter + up + 2 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + A + 3 + + 1 + 5 + quarter + down + 2 + + + + + + + + + 4 + 1 + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + A + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + F + 2 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + 4 + 1 + 1 + + + 4 + + + + 4 + 5 + 2 + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + B + 2 + + 1 + 5 + quarter + up + 2 + + + + E + 3 + + 1 + 5 + quarter + down + 2 + + + + 2 + 5 + half + 2 + + + + + + D + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + 2 + 1 + half + 1 + + + 4 + + + + C + 3 + + 1 + 5 + quarter + up + 2 + + + + 1 + 5 + quarter + 2 + + + + 2 + 5 + half + 2 + + + + + + B + 4 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + + E + 5 + + 1 + 1 + quarter + down + 1 + + + + 1 + 1 + quarter + 1 + + + 4 + + + + G + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + + D + 3 + + 1 + 5 + quarter + down + 2 + + + + 1 + 5 + quarter + 2 + + + light-heavy + + + + diff --git a/mtest/musicxml/io/tst_mxml_io.cpp b/mtest/musicxml/io/tst_mxml_io.cpp index cc2be5dc4f500..aeb060e5c031d 100644 --- a/mtest/musicxml/io/tst_mxml_io.cpp +++ b/mtest/musicxml/io/tst_mxml_io.cpp @@ -254,6 +254,8 @@ private slots: void voiceMapper3() { mxmlIoTestRef("testVoiceMapper3"); } void voicePiano1() { mxmlIoTest("testVoicePiano1"); } void volta1() { mxmlIoTest("testVolta1"); } + void voltaHiding1() { mxmlImportTestRef("testVoltaHiding"); } + void voltaHiding2() { mxmlIoTestRef("testVoltaHiding"); } void wedge1() { mxmlIoTest("testWedge1"); } void wedge2() { mxmlIoTest("testWedge2"); } void wedge3() { mxmlIoTest("testWedge3"); }