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