diff --git a/libmscore/marker.cpp b/libmscore/marker.cpp index 3598153ff7..89f4e3a32f 100644 --- a/libmscore/marker.cpp +++ b/libmscore/marker.cpp @@ -202,9 +202,6 @@ void Marker::read(XmlReader& e) else if (!Text::readProperties(e)) e.unknown(); } - // REPEAT is obsolete, but was previously used for both left and right aligned text - if (textStyleType() == TextStyleType::REPEAT) - setTextStyleType(TextStyleType::REPEAT_LEFT); setMarkerType(mt); } diff --git a/libmscore/mscore.h b/libmscore/mscore.h index 4f48499ab9..2a66ae451b 100644 --- a/libmscore/mscore.h +++ b/libmscore/mscore.h @@ -333,7 +333,6 @@ MS_QML_ENUM(TextStyleType, signed char,\ REHEARSAL_MARK,\ REPEAT_LEFT, /* align to start of measure */\ REPEAT_RIGHT, /* align to end of measure */\ - REPEAT, /* obsolete */\ VOLTA,\ FRAME,\ \ diff --git a/libmscore/read114.cpp b/libmscore/read114.cpp index 21724f52e5..bb277bdc17 100644 --- a/libmscore/read114.cpp +++ b/libmscore/read114.cpp @@ -49,6 +49,7 @@ #include "utils.h" #include "accidental.h" #include "fingering.h" +#include "marker.h" #include "read206.h" namespace Ms { @@ -1148,6 +1149,17 @@ static void readMeasure(Measure* m, int staffIdx, XmlReader& e) Element* el = Element::name2Element(tag, m->score()); el->setTrack(e.track()); el->read(e); + + if (el->isMarker()) { + Marker* m = toMarker(el); + if (m->markerType() == Marker::Type::SEGNO || m->markerType() == Marker::Type::CODA || + m->markerType() == Marker::Type::VARCODA || m->markerType() == Marker::Type::CODETTA) { + // force the marker type for correct display + m->setXmlText(""); + m->setMarkerType(m->markerType()); + m->setTextStyleType(TextStyleType::REPEAT_LEFT); + } + } m->add(el); } else if (tag == "Image") { @@ -1506,6 +1518,10 @@ static QString convertOldTextStyleNames(const QString& s) rs = "Text Line"; else if (s == "Tuplets") rs = "Tuplet"; + else if (s == "Dynamics2") + rs = "Dynamics"; + else if (s == "Repeat Text") + rs = "Repeat Text Right"; return rs; } @@ -1720,6 +1736,9 @@ Score::FileError MasterScore::read114(XmlReader& e) ts.setSquare(false); ts.setFrameRound(20); style()->setTextStyle(ts); + ts = style()->textStyle("Dynamics"); + ts.setItalic(false); + style()->setTextStyle(ts); TempoMap tm; while (e.readNextStartElement()) { diff --git a/libmscore/read206.cpp b/libmscore/read206.cpp index f85d3f04ee..b8365937c7 100644 --- a/libmscore/read206.cpp +++ b/libmscore/read206.cpp @@ -398,6 +398,19 @@ static void readChord(Chord* chord, XmlReader& e) } } +//--------------------------------------------------------- +// convertOldTextStyleNames +//--------------------------------------------------------- + +static QString convertOldTextStyleNames(const QString& s) + { + QString rs(s); + // convert 2.0 text styles + if (s == "Repeat Text") + rs = "Repeat Text Right"; + return rs; + } + //--------------------------------------------------------- // ArticulationNames //--------------------------------------------------------- @@ -1136,6 +1149,8 @@ static void readStyle(MStyle* style, XmlReader& e) if (tag == "TextStyle") { TextStyle s; s.read(e); + // convert old 2.0 text styles + s.setName(convertOldTextStyleNames(s.name())); style->setTextStyle(s); } else if (tag == "Spatium") @@ -1440,6 +1455,9 @@ Score::FileError MasterScore::read206(XmlReader& e) ts.setSquare(false); ts.setFrameRound(20); style()->setTextStyle(ts); + ts = style()->textStyle("Dynamics"); + ts.setItalic(false); + style()->setTextStyle(ts); qDebug("read206"); while (e.readNextStartElement()) { diff --git a/libmscore/style.cpp b/libmscore/style.cpp index 870f3373dd..af04eca3d9 100644 --- a/libmscore/style.cpp +++ b/libmscore/style.cpp @@ -359,7 +359,7 @@ void initStyle(MStyle* s) AlignmentFlags::LEFT | AlignmentFlags::TOP, QPointF(), OffsetType::ABS)); // dynamics size is 12pt for bravura-text - s->addTextStyle(TextStyle(QT_TRANSLATE_NOOP ("TextStyle", "Dynamics"), ff, 12, false, false,false, + s->addTextStyle(TextStyle(QT_TRANSLATE_NOOP ("TextStyle", "Dynamics"), ff, 12, false, true,false, AlignmentFlags::HCENTER | AlignmentFlags::BASELINE, QPointF(0.0, 8.0), OffsetType::SPATIUM, true)); s->addTextStyle(TextStyle(QT_TRANSLATE_NOOP ("TextStyle", "Technique"), ff, 12, false, true, false, AlignmentFlags::LEFT | AlignmentFlags::BASELINE, QPointF(0.0, -2.0), OffsetType::SPATIUM, true)); @@ -405,11 +405,6 @@ void initStyle(MStyle* s) AlignmentFlags::RIGHT | AlignmentFlags::BASELINE, QPointF(0, -2.0), OffsetType::SPATIUM, true, false, false, Spatium(0.2), Spatium(0.5), 25, Qt::black, false, true)); - // for backward compatibility - s->addTextStyle(TextStyle(QT_TRANSLATE_NOOP ("TextStyle", "Repeat Text"), ff, 12, false, false, false, - AlignmentFlags::RIGHT | AlignmentFlags::BASELINE, QPointF(0, -2.0), OffsetType::SPATIUM, true, false, - false, Spatium(0.2), Spatium(0.5), 25, Qt::black, false, true)); - // y offset may depend on voltaHook style element s->addTextStyle(TextStyle(QT_TRANSLATE_NOOP ("TextStyle", "Volta"), ff, 11, true, false, false, AlignmentFlags::LEFT | AlignmentFlags::BASELINE, QPointF(0.5, 1.9), OffsetType::SPATIUM, true)); @@ -574,8 +569,6 @@ TextStyleType MStyle::textStyleType(const QString& name) const if (_textStyles[i].name() == name) return TextStyleType(i); } - if (name == "Dynamics2") - return TextStyleType::DYNAMICS; qDebug("TextStyleType <%s> not found", qPrintable(name)); return TextStyleType::DEFAULT; } diff --git a/libmscore/text.cpp b/libmscore/text.cpp index 8b7a304441..302e6e24a3 100644 --- a/libmscore/text.cpp +++ b/libmscore/text.cpp @@ -2285,7 +2285,7 @@ bool Text::readProperties(XmlReader& e) case 23: st = TextStyleType::STAFF; break; case 24: st = TextStyleType::HARMONY; break; case 25: st = TextStyleType::REHEARSAL_MARK; break; - case 26: st = TextStyleType::REPEAT; break; + case 26: st = TextStyleType::REPEAT_RIGHT; break; case 27: st = TextStyleType::VOLTA; break; case 28: st = TextStyleType::FRAME; break; case 29: st = TextStyleType::TEXTLINE; break; @@ -2532,9 +2532,9 @@ QVariant Text::propertyDefault(P_ID id) const case Element::Type::INSTRUMENT_CHANGE: idx = TextStyleType::INSTRUMENT_CHANGE; break; // case Element::Type::INSTRUMENT_NAME: would need to differentiate long & short // probably best handle this with another override - case Element::Type::JUMP: idx = TextStyleType::REPEAT; break; + case Element::Type::JUMP: idx = TextStyleType::REPEAT_RIGHT; break; case Element::Type::LYRICS: idx = TextStyleType::LYRIC1; break; - case Element::Type::MARKER: idx = TextStyleType::REPEAT; break; + case Element::Type::MARKER: idx = TextStyleType::REPEAT_RIGHT; break; case Element::Type::REHEARSAL_MARK: idx = TextStyleType::REHEARSAL_MARK; break; case Element::Type::STAFF_TEXT: idx = TextStyleType::STAFF; break; case Element::Type::TEMPO_TEXT: idx = TextStyleType::TEMPO; break; diff --git a/mtest/libmscore/compat114/accidentals-ref.mscx b/mtest/libmscore/compat114/accidentals-ref.mscx index 1176bab278..81c633a09e 100644 --- a/mtest/libmscore/compat114/accidentals-ref.mscx +++ b/mtest/libmscore/compat114/accidentals-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/articulations-ref.mscx b/mtest/libmscore/compat114/articulations-ref.mscx index 74b6043dd9..aa3d369576 100644 --- a/mtest/libmscore/compat114/articulations-ref.mscx +++ b/mtest/libmscore/compat114/articulations-ref.mscx @@ -28,6 +28,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/chord_symbol-ref.mscx b/mtest/libmscore/compat114/chord_symbol-ref.mscx index 4659cb20b6..fb3bbd0835 100644 --- a/mtest/libmscore/compat114/chord_symbol-ref.mscx +++ b/mtest/libmscore/compat114/chord_symbol-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/clef_missing_first-ref.mscx b/mtest/libmscore/compat114/clef_missing_first-ref.mscx index 42b3b1ca97..4230fe07c6 100644 --- a/mtest/libmscore/compat114/clef_missing_first-ref.mscx +++ b/mtest/libmscore/compat114/clef_missing_first-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/clefs-ref.mscx b/mtest/libmscore/compat114/clefs-ref.mscx index 22c55dc948..0d52916db6 100644 --- a/mtest/libmscore/compat114/clefs-ref.mscx +++ b/mtest/libmscore/compat114/clefs-ref.mscx @@ -28,6 +28,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/hairpin-ref.mscx b/mtest/libmscore/compat114/hairpin-ref.mscx index e00eb46833..57449ed799 100644 --- a/mtest/libmscore/compat114/hairpin-ref.mscx +++ b/mtest/libmscore/compat114/hairpin-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/hor_frame_and_mmrest-ref.mscx b/mtest/libmscore/compat114/hor_frame_and_mmrest-ref.mscx index a52f314ee6..7e55862763 100644 --- a/mtest/libmscore/compat114/hor_frame_and_mmrest-ref.mscx +++ b/mtest/libmscore/compat114/hor_frame_and_mmrest-ref.mscx @@ -28,6 +28,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/keysig-ref.mscx b/mtest/libmscore/compat114/keysig-ref.mscx index 7dfe783308..87df2eef2e 100644 --- a/mtest/libmscore/compat114/keysig-ref.mscx +++ b/mtest/libmscore/compat114/keysig-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/markers-ref.mscx b/mtest/libmscore/compat114/markers-ref.mscx new file mode 100644 index 0000000000..4c9e7b05c3 --- /dev/null +++ b/mtest/libmscore/compat114/markers-ref.mscx @@ -0,0 +1,306 @@ + + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + Flute + + Flute + 59 + 98 + 60 + 93 + + 100 + 100 + + + 100 + 50 + + + 100 + 100 + + + 120 + 100 + + + + + + + + + + + + + segno + + + + G + G + + + 4 + 4 + 1 + + + measure + 4/4 + + + + + + coda + + + + measure + 4/4 + + + + + + codaSquare + + + + measure + 4/4 + + + + + line + + + + codacoda + + + + measure + 4/4 + + + + + Fine + + + + measure + 4/4 + + + + + D.C. + start + end + + + + measure + 4/4 + + + + + D.C. al Fine + start + fine + + + + measure + 4/4 + + + + + line + + + D.C. al Coda + start + coda + codab + + + measure + 4/4 + + + + + D.S. al Coda + segno + coda + codab + + + measure + 4/4 + + + + + D.S. al Fine + segno + fine + + + + measure + 4/4 + + + + + D.S. + segno + end + + + + measure + 4/4 + + + + + To Coda + + + + measure + 4/4 + + + end + 1 + + + + + diff --git a/mtest/libmscore/compat114/markers.mscx b/mtest/libmscore/compat114/markers.mscx new file mode 100644 index 0000000000..b5ba3b93bd --- /dev/null +++ b/mtest/libmscore/compat114/markers.mscx @@ -0,0 +1,327 @@ + + + 1.3 + 5702 + + 1.764 + 480 + + 1 + 1 + + A4 + + 56.6929 + 56.6929 + 56.6929 + 113.386 + + + 56.6929 + 56.6929 + 56.6929 + 113.386 + + 0 + + + + 4 + 4 + + + + + + + + + + + + + + + + 59 + 98 + 60 + 93 + Flute + + + + + + + + + + + + + + + + Repeat + 1 + 0 + 0 + + +

+
+ +
+ + 260 + 4 + 4 + + + measure + +
+ + + + Repeat + 1 + 0 + 0 + + +

+
+ +
+ + measure + +
+ + + + Repeat + 1 + 0 + 0 + + +

+
+ +
+ + measure + +
+ + + line + + + + Repeat + 1 + 0 + 0 + + +



+
+ +
+ + measure + +
+ + + + MeasureNumber + + + + Repeat + 1 + 0 + + +

Fine

+
+ +
+ + measure + +
+ + + + Repeat + 1 + 0 + + +

D.C.

+
+ start + end + +
+ + measure + +
+ + + + Repeat + 1 + 0 + + +

D.C. al Fine

+
+ start + fine + +
+ + measure + +
+ + + line + + + + Repeat + 1 + 0 + + +

D.C. al Coda

+
+ start + coda + codab +
+ + measure + +
+ + + + MeasureNumber + + + + Repeat + 1 + 0 + + +

D.S. al Coda

+
+ segno + coda + codab +
+ + measure + +
+ + + + Repeat + 1 + 0 + + +

D.S. al Fine

+
+ segno + fine + +
+ + measure + +
+ + + + Repeat + 1 + 0 + + +

D.S.

+
+ segno + end + +
+ + measure + +
+ + + + Repeat + 1 + 0 + + +

To Coda

+
+ +
+ + measure + + + 5 + +
+
+ -1 +
diff --git a/mtest/libmscore/compat114/noteheads-ref.mscx b/mtest/libmscore/compat114/noteheads-ref.mscx index 5db02dd2f7..9299e79066 100644 --- a/mtest/libmscore/compat114/noteheads-ref.mscx +++ b/mtest/libmscore/compat114/noteheads-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/notes-ref.mscx b/mtest/libmscore/compat114/notes-ref.mscx index 2694a40ab5..15f53d1cb7 100644 --- a/mtest/libmscore/compat114/notes-ref.mscx +++ b/mtest/libmscore/compat114/notes-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/notes_useroffset-ref.mscx b/mtest/libmscore/compat114/notes_useroffset-ref.mscx index 1a999d37a1..4a61fa104b 100644 --- a/mtest/libmscore/compat114/notes_useroffset-ref.mscx +++ b/mtest/libmscore/compat114/notes_useroffset-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/slurs-ref.mscx b/mtest/libmscore/compat114/slurs-ref.mscx index 30d10cf570..5f0c25a09a 100644 --- a/mtest/libmscore/compat114/slurs-ref.mscx +++ b/mtest/libmscore/compat114/slurs-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/style-ref.mscx b/mtest/libmscore/compat114/style-ref.mscx index 4cccf00382..6d1be4acb4 100644 --- a/mtest/libmscore/compat114/style-ref.mscx +++ b/mtest/libmscore/compat114/style-ref.mscx @@ -85,6 +85,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/text_scaling-ref.mscx b/mtest/libmscore/compat114/text_scaling-ref.mscx index d7d96097a3..5608739f32 100644 --- a/mtest/libmscore/compat114/text_scaling-ref.mscx +++ b/mtest/libmscore/compat114/text_scaling-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/textstyles-ref.mscx b/mtest/libmscore/compat114/textstyles-ref.mscx index fdc76a76d5..35743a49c7 100644 --- a/mtest/libmscore/compat114/textstyles-ref.mscx +++ b/mtest/libmscore/compat114/textstyles-ref.mscx @@ -272,7 +272,7 @@ 0 -4 spatium - Repeat Text + Repeat Text Right MuseJazz 13 1 diff --git a/mtest/libmscore/compat114/title-ref.mscx b/mtest/libmscore/compat114/title-ref.mscx index 2e45b77fb7..e6af9e38fd 100644 --- a/mtest/libmscore/compat114/title-ref.mscx +++ b/mtest/libmscore/compat114/title-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/tremolo2notes-ref.mscx b/mtest/libmscore/compat114/tremolo2notes-ref.mscx index e7a7a4a617..1ab64e8aef 100644 --- a/mtest/libmscore/compat114/tremolo2notes-ref.mscx +++ b/mtest/libmscore/compat114/tremolo2notes-ref.mscx @@ -26,6 +26,17 @@ 0 1 0 + + center + baseline + 0 + 8 + spatium + Dynamics + FreeSerif + 12 + 1 + left baseline diff --git a/mtest/libmscore/compat114/tst_compat114.cpp b/mtest/libmscore/compat114/tst_compat114.cpp index e09e1b941c..0817d35bf8 100644 --- a/mtest/libmscore/compat114/tst_compat114.cpp +++ b/mtest/libmscore/compat114/tst_compat114.cpp @@ -71,6 +71,7 @@ void TestCompat114::compat_data() QTest::newRow("chord_symbol") << "chord_symbol"; QTest::newRow("style") << "style"; QTest::newRow("text_scaling") << "text_scaling"; + QTest::newRow("markers") << "markers"; } //--------------------------------------------------------- diff --git a/mtest/libmscore/compat114/updateReference b/mtest/libmscore/compat114/updateReference index 8adeca0c1f..a7b3c3e8a5 100755 --- a/mtest/libmscore/compat114/updateReference +++ b/mtest/libmscore/compat114/updateReference @@ -23,3 +23,4 @@ cp $S/text_scaling-test.mscx text_scaling-ref.mscx cp $S/textstyles-test.mscx textstyles-ref.mscx cp $S/title-test.mscx title-ref.mscx cp $S/tremolo2notes-test.mscx tremolo2notes-ref.mscx +cp $S/markers-test.mscx markers-ref.mscx