1 //=============================================================================
2 //  MuseScore
3 //  Music Composition & Notation
4 //
5 //  Copyright (C) 2002-2011 Werner Schweer
6 //
7 //  This program is free software; you can redistribute it and/or modify
8 //  it under the terms of the GNU General Public License version 2
9 //  as published by the Free Software Foundation and appearing in
10 //  the file LICENCE.GPL
11 //=============================================================================
12 
13 #include "mscore.h"
14 #include "style.h"
15 #include "xml.h"
16 #include "score.h"
17 #include "articulation.h"
18 #include "harmony.h"
19 #include "chordlist.h"
20 #include "page.h"
21 #include "mscore.h"
22 #include "clef.h"
23 #include "textlinebase.h"
24 #include "tuplet.h"
25 #include "layout.h"
26 #include "property.h"
27 #include "read206.h"
28 #include "undo.h"
29 
30 namespace Ms {
31 
32 //  20 points        font design size
33 //  72 points/inch   point size
34 // 120 dpi           screen resolution
35 //  spatium = 20/4 points
36 
37 static const int LEGACY_MSC_VERSION_V3 = 301;
38 static const int LEGACY_MSC_VERSION_V2 = 206;
39 static const int LEGACY_MSC_VERSION_V1 = 114;
40 
41 //---------------------------------------------------------
42 //   StyleType
43 //---------------------------------------------------------
44 
45 struct StyleType {
46       Sid _idx;
47       const char* _name;       // xml name for read()/write()
48       QVariant _defaultValue;
49 
50    public:
styleIdxMs::StyleType51       Sid  styleIdx() const                 { return _idx;          }
idxMs::StyleType52       int idx() const                       { return int(_idx);     }
valueTypeMs::StyleType53       const char*  valueType() const        { return _defaultValue.typeName();    }
nameMs::StyleType54       const char*      name() const         { return _name;         }
defaultValueMs::StyleType55       const QVariant&  defaultValue() const { return _defaultValue; }
56       };
57 
58 //---------------------------------------------------------
59 //   styleTypes
60 //
61 //    Keep in sync with sid in style.h
62 //---------------------------------------------------------
63 
64 
65 static const StyleType styleTypes[] {
66       { Sid::pageWidth,               "pageWidth",               210.0/INCH },
67       { Sid::pageHeight,              "pageHeight",              297.0/INCH }, // A4
68       { Sid::pagePrintableWidth,      "pagePrintableWidth",      180.0/INCH },
69       { Sid::pageEvenLeftMargin,      "pageEvenLeftMargin",      15.0/INCH  },
70       { Sid::pageOddLeftMargin,       "pageOddLeftMargin",       15.0/INCH  },
71       { Sid::pageEvenTopMargin,       "pageEvenTopMargin",       15.0/INCH  },
72       { Sid::pageEvenBottomMargin,    "pageEvenBottomMargin",    15.0/INCH  },
73       { Sid::pageOddTopMargin,        "pageOddTopMargin",        15.0/INCH  },
74       { Sid::pageOddBottomMargin,     "pageOddBottomMargin",     15.0/INCH  },
75       { Sid::pageTwosided,            "pageTwosided",            true       },
76 
77       { Sid::staffUpperBorder,        "staffUpperBorder",        Spatium(7.0)  },
78       { Sid::staffLowerBorder,        "staffLowerBorder",        Spatium(7.0)  },
79       { Sid::staffDistance,           "staffDistance",           Spatium(6.5)  },
80       { Sid::akkoladeDistance,        "akkoladeDistance",        Spatium(6.5)  },
81       { Sid::minSystemDistance,       "minSystemDistance",       Spatium(8.5)  },
82       { Sid::maxSystemDistance,       "maxSystemDistance",       Spatium(15.0) },
83 
84       { Sid::enableVerticalSpread,    "enableVerticalSpread",    false         },
85       { Sid::spreadSystem,            "spreadSystem",            2.5           },
86       { Sid::spreadSquareBracket,     "spreadSquareBracket",     1.2           },
87       { Sid::spreadCurlyBracket,      "spreadCurlyBracket",      1.1           },
88       { Sid::minSystemSpread,         "minSystemSpread",         Spatium(8.5)  },
89       { Sid::maxSystemSpread,         "maxSystemSpread",         Spatium(32.0) },
90       { Sid::minStaffSpread,          "minSpreadSpread",         Spatium(3.5)  },
91       { Sid::maxStaffSpread,          "maxSpreadSpread",         Spatium(20.0) },
92       { Sid::maxAkkoladeDistance,     "maxAkkoladeDistance",     Spatium(6.5)  },
93       { Sid::maxPageFillSpread,       "maxPageFillSpread",       Spatium(6.0)  },
94 
95       { Sid::lyricsPlacement,         "lyricsPlacement",         int(Placement::BELOW)  },
96       { Sid::lyricsPosAbove,          "lyricsPosAbove",          QPointF(0.0, -2.0) },
97       { Sid::lyricsPosBelow,          "lyricsPosBelow",          QPointF(.0, 3.0) },
98       { Sid::lyricsMinTopDistance,    "lyricsMinTopDistance",    Spatium(1.0)  },
99       { Sid::lyricsMinBottomDistance, "lyricsMinBottomDistance", Spatium(2.0)  },
100       { Sid::lyricsMinDistance,       "lyricsMinDistance",       Spatium(0.25)  },
101       { Sid::lyricsLineHeight,        "lyricsLineHeight",        1.0 },
102       { Sid::lyricsDashMinLength,     "lyricsDashMinLength",     Spatium(0.4) },
103       { Sid::lyricsDashMaxLength,     "lyricsDashMaxLength",     Spatium(0.8) },
104       { Sid::lyricsDashMaxDistance,   "lyricsDashMaxDistance",   Spatium(16.0) },
105       { Sid::lyricsDashForce,         "lyricsDashForce",         QVariant(true) },
106       { Sid::lyricsAlignVerseNumber,  "lyricsAlignVerseNumber",  true },
107       { Sid::lyricsLineThickness,     "lyricsLineThickness",     Spatium(0.1) },
108       { Sid::lyricsMelismaAlign,      "lyricsMelismaAlign",      QVariant::fromValue(Align::LEFT | Align::BASELINE) },
109 
110       { Sid::lyricsMelismaPad,        "lyricsMelismaPad",        Spatium(0.10) }, // the empty space before a melisma line
111       { Sid::lyricsDashPad,           "lyricsDashPad",           Spatium(0.05) }, // the min. empty space before and after a dash
112       { Sid::lyricsDashLineThickness, "lyricsDashLineThickness", Spatium(0.15) }, // in sp. units
113       { Sid::lyricsDashYposRatio,     "lyricsDashYposRatio",     0.60          }, // the fraction of lyrics font x-height to raise the dashes above text base line
114 
115       { Sid::lyricsOddFontFace,       "lyricsOddFontFace",       "Edwin" },
116       { Sid::lyricsOddFontSize,       "lyricsOddFontSize",       10.0 },
117       { Sid::lyricsOddLineSpacing,    "lyricsOddLineSpacing",    1.0 },
118       { Sid::lyricsOddFontSpatiumDependent, "lyricsOddFontSpatiumDependent", true },
119       { Sid::lyricsOddFontStyle,      "lyricsOddFontStyle",      int(FontStyle::Normal) },
120       { Sid::lyricsOddColor,          "lyricsOddColor",          QColor(0, 0, 0, 255) },
121       { Sid::lyricsOddAlign,          "lyricsOddAlign",          QVariant::fromValue(Align::HCENTER | Align::BASELINE) },
122       { Sid::lyricsOddFrameType,      "lyricsOddFrameType",      int(FrameType::NO_FRAME) },
123       { Sid::lyricsOddFramePadding,   "lyricsOddFramePadding",   0.2 },
124       { Sid::lyricsOddFrameWidth,     "lyricsOddFrameWidth",     0.1 },
125       { Sid::lyricsOddFrameRound,     "lyricsOddFrameRound",     0 },
126       { Sid::lyricsOddFrameFgColor,   "lyricsOddFrameFgColor",   QColor(0, 0, 0, 255) },
127       { Sid::lyricsOddFrameBgColor,   "lyricsOddFrameBgColor",   QColor(255, 255, 255, 0) },
128 
129       { Sid::lyricsEvenFontFace,      "lyricsEvenFontFace",      "Edwin" },
130       { Sid::lyricsEvenFontSize,      "lyricsEvenFontSize",      10.0 },
131       { Sid::lyricsEvenLineSpacing,   "lyricsEvenLineSpacing",   1.0 },
132       { Sid::lyricsEvenFontSpatiumDependent, "lyricsEvenFontSpatiumDependent", true },
133       { Sid::lyricsEvenFontStyle,     "lyricsEvenFontStyle",     int(FontStyle::Normal) },
134       { Sid::lyricsEvenColor,         "lyricsEvenColor",         QColor(0, 0, 0, 255) },
135       { Sid::lyricsEvenAlign,         "lyricsEvenAlign",         QVariant::fromValue(Align::HCENTER | Align::BASELINE) },
136       { Sid::lyricsEvenFrameType,     "lyricsEvenFrameType",     int(FrameType::NO_FRAME) },
137       { Sid::lyricsEvenFramePadding,  "lyricsEvenFramePadding",  0.2 },
138       { Sid::lyricsEvenFrameWidth,    "lyricsEvenFrameWidth",    0.1 },
139       { Sid::lyricsEvenFrameRound,    "lyricsEvenFrameRound",    0 },
140       { Sid::lyricsEvenFrameFgColor,  "lyricsEvenFrameFgColor",  QColor(0, 0, 0, 255) },
141       { Sid::lyricsEvenFrameBgColor,  "lyricsEvenFrameBgColor",  QColor(255, 255, 255, 0) },
142 
143       { Sid::figuredBassFontFamily,   "figuredBassFontFamily",   QString("MScoreBC") },
144 
145 //      { Sid::figuredBassFontSize,     "figuredBassFontSize",     QVariant(8.0) },
146       { Sid::figuredBassYOffset,      "figuredBassYOffset",      QVariant(6.0) },
147       { Sid::figuredBassLineHeight,   "figuredBassLineHeight",   QVariant(1.0) },
148       { Sid::figuredBassAlignment,    "figuredBassAlignment",    QVariant(0) },
149       { Sid::figuredBassStyle,        "figuredBassStyle" ,       QVariant(0) },
150       { Sid::systemFrameDistance,     "systemFrameDistance",     Spatium(7.0) },
151       { Sid::frameSystemDistance,     "frameSystemDistance",     Spatium(7.0) },
152       { Sid::minMeasureWidth,         "minMeasureWidth",         Spatium(5.0) },
153       { Sid::barWidth,                "barWidth",                Spatium(0.18) },
154       { Sid::doubleBarWidth,          "doubleBarWidth",          Spatium(0.18) },
155 
156       { Sid::endBarWidth,             "endBarWidth",             Spatium(0.55) },
157       { Sid::doubleBarDistance,       "doubleBarDistance",       Spatium(0.55) },
158       { Sid::endBarDistance,          "endBarDistance",          Spatium(0.7) },
159       { Sid::repeatBarlineDotSeparation, "repeatBarlineDotSeparation", Spatium(0.7) },
160       { Sid::repeatBarTips,           "repeatBarTips",           QVariant(false) },
161       { Sid::startBarlineSingle,      "startBarlineSingle",      QVariant(false) },
162       { Sid::startBarlineMultiple,    "startBarlineMultiple",    QVariant(true) },
163 
164       { Sid::bracketWidth,            "bracketWidth",            Spatium(0.44) },
165       { Sid::bracketDistance,         "bracketDistance",         Spatium(0.1) },
166       { Sid::akkoladeWidth,           "akkoladeWidth",           Spatium(1.6) },
167       { Sid::akkoladeBarDistance,     "akkoladeBarDistance",     Spatium(.4) },
168 
169       { Sid::dividerLeft,             "dividerLeft",             QVariant(false) },
170       { Sid::dividerLeftSym,          "dividerLeftSym",          QVariant(QString("systemDivider")) },
171       { Sid::dividerLeftX,            "dividerLeftX",            QVariant(0.0) },
172       { Sid::dividerLeftY,            "dividerLeftY",            QVariant(0.0) },
173       { Sid::dividerRight,            "dividerRight",            QVariant(false) },
174       { Sid::dividerRightSym,         "dividerRightSym",         QVariant(QString("systemDivider")) },
175       { Sid::dividerRightX,           "dividerRightX",           QVariant(0.0) },
176       { Sid::dividerRightY,           "dividerRightY",           QVariant(0.0) },
177 
178       { Sid::clefLeftMargin,          "clefLeftMargin",          Spatium(0.8) },     // 0.64 (gould: <= 1)
179       { Sid::keysigLeftMargin,        "keysigLeftMargin",        Spatium(0.5) },
180       { Sid::ambitusMargin,           "ambitusMargin",           Spatium(0.5) },
181 
182       { Sid::timesigLeftMargin,       "timesigLeftMargin",       Spatium(0.63) },
183       { Sid::timesigScale,            "timesigScale",            QVariant(QSizeF(1.0, 1.0)) },
184       { Sid::midClefKeyRightMargin,   "midClefKeyRightMargin",   Spatium(1.0) },
185       { Sid::clefKeyRightMargin,      "clefKeyRightMargin",      Spatium(0.8) },
186       { Sid::clefKeyDistance,         "clefKeyDistance",         Spatium(1.0) },   // gould: 1 - 1.25
187       { Sid::clefTimesigDistance,     "clefTimesigDistance",     Spatium(1.0) },
188       { Sid::keyTimesigDistance,      "keyTimesigDistance",      Spatium(1.0) },    // gould: 1 - 1.5
189       { Sid::keyBarlineDistance,      "keyBarlineDistance",      Spatium(1.0) },
190       { Sid::systemHeaderDistance,    "systemHeaderDistance",    Spatium(2.5) },     // gould: 2.5
191       { Sid::systemHeaderTimeSigDistance, "systemHeaderTimeSigDistance", Spatium(2.0) },  // gould: 2.0
192 
193       { Sid::clefBarlineDistance,     "clefBarlineDistance",     Spatium(0.5) },
194       { Sid::timesigBarlineDistance,  "timesigBarlineDistance",  Spatium(0.5) },
195       { Sid::stemWidth,               "stemWidth",               Spatium(0.11) },
196       { Sid::shortenStem,             "shortenStem",             QVariant(true) },
197       { Sid::shortStemProgression,    "shortStemProgression",    Spatium(0.25) },
198       { Sid::shortestStem,            "shortestStem",            Spatium(2.25) },
199       { Sid::beginRepeatLeftMargin,   "beginRepeatLeftMargin",   Spatium(1.0) },
200       { Sid::minNoteDistance,         "minNoteDistance",         Spatium(0.2) },
201       { Sid::barNoteDistance,         "barNoteDistance",         Spatium(1.3) },     // was 1.2
202 
203       { Sid::barAccidentalDistance,   "barAccidentalDistance",   Spatium(0.65)   },
204       { Sid::multiMeasureRestMargin,  "multiMeasureRestMargin",  Spatium(1.2)  },
205       { Sid::noteBarDistance,         "noteBarDistance",         Spatium(1.5)  },
206       { Sid::measureSpacing,          "measureSpacing",          QVariant(1.2) },
207       { Sid::staffLineWidth,          "staffLineWidth",          Spatium(0.11) },
208       { Sid::ledgerLineWidth,         "ledgerLineWidth",         Spatium(0.16) },     // 0.1875
209       { Sid::ledgerLineLength,        "ledgerLineLength",        Spatium(0.35) },     // notehead width + this value
210       { Sid::accidentalDistance,      "accidentalDistance",      Spatium(0.22) },
211       { Sid::accidentalNoteDistance,  "accidentalNoteDistance",  Spatium(0.25) },
212       { Sid::bracketedAccidentalPadding,  "bracketedAccidentalPadding",  Spatium(0.175) }, // Padding inside parentheses for bracketed accidentals
213       { Sid::alignAccidentalsLeft,    "alignAccidentalsLeft",    QVariant(false) },   // When laid out in columns, whether accidentals align left or right. Musescore <= 3.5 uses left alignment.
214 
215       { Sid::beamWidth,               "beamWidth",               Spatium(0.5)  },     // was 0.48
216       { Sid::beamDistance,            "beamDistance",            QVariant(0.5) },
217       { Sid::beamMinLen,              "beamMinLen",              Spatium(1.3) },     // 1.316178 exactly notehead widthen beams
218       { Sid::beamNoSlope,             "beamNoSlope",             QVariant(false) },
219 
220       { Sid::dotMag,                  "dotMag",                  QVariant(1.0) },
221       { Sid::dotNoteDistance,         "dotNoteDistance",         Spatium(0.5) },
222       { Sid::dotRestDistance,         "dotRestDistance",         Spatium(0.25) },
223       { Sid::dotDotDistance,          "dotDotDistance",          Spatium(0.65) },
224       { Sid::propertyDistanceHead,    "propertyDistanceHead",    Spatium(1.0) },
225       { Sid::propertyDistanceStem,    "propertyDistanceStem",    Spatium(1.8) },
226       { Sid::propertyDistance,        "propertyDistance",        Spatium(1.0) },
227 
228       { Sid::articulationMag,         "articulationMag",         QVariant(1.0) },
229       { Sid::articulationPosAbove,    "articulationPosAbove",    QPointF(0.0, 0.0) },
230       { Sid::articulationAnchorDefault, "articulationAnchorDefault", int(ArticulationAnchor::CHORD) },
231       { Sid::articulationAnchorLuteFingering, "articulationAnchorLuteFingering", int(ArticulationAnchor::BOTTOM_CHORD) },
232       { Sid::articulationAnchorOther, "articulationAnchorOther", int(ArticulationAnchor::TOP_STAFF) },
233       { Sid::lastSystemFillLimit,     "lastSystemFillLimit",     QVariant(0.3) },
234 
235       { Sid::hairpinPlacement,        "hairpinPlacement",        int(Placement::BELOW)  },
236       { Sid::hairpinPosAbove,         "hairpinPosAbove",         QPointF(0.0, -2.0) },
237       { Sid::hairpinPosBelow,         "hairpinPosBelow",         QPointF(.0, 2) },
238       { Sid::hairpinLinePosAbove,     "hairpinLinePosAbove",     QPointF(0.0, -3.0) },
239       { Sid::hairpinLinePosBelow,     "hairpinLinePosBelow",     QPointF(.0, 4.0) },
240       { Sid::hairpinHeight,           "hairpinHeight",           Spatium(1.15) },
241       { Sid::hairpinContHeight,       "hairpinContHeight",       Spatium(0.5) },
242       { Sid::hairpinLineWidth,        "hairpinWidth",            Spatium(0.12) },
243       { Sid::hairpinFontFace,         "hairpinFontFace",         "Edwin" },
244       { Sid::hairpinFontSize,         "hairpinFontSize",         10.0 },
245       { Sid::hairpinLineSpacing,      "hairpinLineSpacing",      1.0 },
246       { Sid::hairpinFontSpatiumDependent, "hairpinFontSpatiumDependent", true },
247       { Sid::hairpinFontStyle,        "hairpinFontStyle",        int(FontStyle::Italic) },
248       { Sid::hairpinColor,            "hairpinColor",            QColor(0, 0, 0, 255) },
249       { Sid::hairpinTextAlign,        "hairpinTextAlign",        QVariant::fromValue(Align::LEFT | Align::BASELINE) },
250       { Sid::hairpinFrameType,        "hairpinFrameType",        int(FrameType::NO_FRAME) },
251       { Sid::hairpinFramePadding,     "hairpinFramePadding",     0.2 },
252       { Sid::hairpinFrameWidth,       "hairpinFrameWidth",       0.1 },
253       { Sid::hairpinFrameRound,       "hairpinFrameRound",       0 },
254       { Sid::hairpinFrameFgColor,     "hairpinFrameFgColor",     QColor(0, 0, 0, 255) },
255       { Sid::hairpinFrameBgColor,     "hairpinFrameBgColor",     QColor(255, 255, 255, 0) },
256       { Sid::hairpinText,             "hairpinText",             QString() },
257       { Sid::hairpinCrescText,        "hairpinCrescText",        QString("cresc.") },
258       { Sid::hairpinDecrescText,      "hairpinDecrescText",      QString("dim.") },
259       { Sid::hairpinCrescContText,    "hairpinCrescContText",    QString("(cresc.)") },
260       { Sid::hairpinDecrescContText,  "hairpinDecrescContText",  QString("(dim.)") },
261       { Sid::hairpinLineStyle,        "hairpinLineStyle",        QVariant(int(Qt::SolidLine)) },
262       { Sid::hairpinLineLineStyle,    "hairpinLineLineStyle",    QVariant(int(Qt::CustomDashLine)) },
263 
264       { Sid::pedalPlacement,          "pedalPlacement",          int(Placement::BELOW)  },
265       { Sid::pedalPosAbove,           "pedalPosAbove",           QPointF(.0, -1) },
266       { Sid::pedalPosBelow,           "pedalPosBelow",           QPointF(.0, 2.5) },
267       { Sid::pedalLineWidth,          "pedalLineWidth",          Spatium(0.11) },
268       { Sid::pedalLineStyle,          "pedalListStyle",          QVariant(int(Qt::SolidLine)) },
269       { Sid::pedalBeginTextOffset,    "pedalBeginTextOffset",    QPointF(0.0, 0.15) },
270       { Sid::pedalHookHeight,         "pedalHookHeight",         Spatium(-1.2) },
271       { Sid::pedalFontFace,           "pedalFontFace",           "Edwin" },
272       { Sid::pedalFontSize,           "pedalFontSize",           12.0 },
273       { Sid::pedalLineSpacing,        "pedalLineSpacing",        1.0 },
274       { Sid::pedalFontSpatiumDependent, "pedalFontSpatiumDependent", true },
275       { Sid::pedalFontStyle,          "pedalFontStyle",          int(FontStyle::Normal) },
276       { Sid::pedalColor,              "pedalColor",              QColor(0, 0, 0, 255) },
277       { Sid::pedalTextAlign,          "pedalTextAlign",          QVariant::fromValue(Align::LEFT | Align::BASELINE) },
278       { Sid::pedalFrameType,          "pedalFrameType",          int(FrameType::NO_FRAME) },
279       { Sid::pedalFramePadding,       "pedalFramePadding",       0.2 },
280       { Sid::pedalFrameWidth,         "pedalFrameWidth",         0.1 },
281       { Sid::pedalFrameRound,         "pedalFrameRound",         0 },
282       { Sid::pedalFrameFgColor,       "pedalFrameFgColor",       QColor(0, 0, 0, 255) },
283       { Sid::pedalFrameBgColor,       "pedalFrameBgColor",       QColor(255, 255, 255, 0) },
284 
285       { Sid::trillPlacement,          "trillPlacement",          int(Placement::ABOVE)  },
286       { Sid::trillPosAbove,           "trillPosAbove",           QPointF(.0, -0.5) },
287       { Sid::trillPosBelow,           "trillPosBelow",           QPointF(.0, 2) },
288 
289       { Sid::vibratoPlacement,        "vibratoPlacement",        int(Placement::ABOVE)  },
290       { Sid::vibratoPosAbove,         "vibratoPosAbove",         QPointF(.0, -1) },
291       { Sid::vibratoPosBelow,         "vibratoPosBelow",         QPointF(.0, 1) },
292 
293       { Sid::harmonyFretDist,          "harmonyFretDist",        Spatium(1.0) },
294       { Sid::minHarmonyDistance,       "minHarmonyDistance",     Spatium(0.5) },
295       { Sid::maxHarmonyBarDistance,    "maxHarmonyBarDistance",  Spatium(3.0) },
296       { Sid::maxChordShiftAbove,       "maxChordShiftAbove",     Spatium(0.0) },
297       { Sid::maxChordShiftBelow,       "maxChordShiftBelow",     Spatium(0.0) },
298 
299       { Sid::harmonyPlacement,         "harmonyPlacement",           int(Placement::ABOVE) },
300       { Sid::romanNumeralPlacement,    "romanNumeralPlacement",      int(Placement::BELOW) },
301       { Sid::nashvilleNumberPlacement, "nashvilleNumberPlacement",   int(Placement::ABOVE) },
302       { Sid::harmonyPlay,              "harmonyPlay",                true },
303       { Sid::harmonyVoiceLiteral,      "harmonyVoiceLiteral",        true },
304       { Sid::harmonyVoicing,           "harmonyVoicing",             int(Voicing::AUTO) },
305       { Sid::harmonyDuration,          "harmonyDuration",            int(HDuration::UNTIL_NEXT_CHORD_SYMBOL) },
306 
307       { Sid::chordSymbolAPosAbove,      "chordSymbolPosAbove",       QPointF(.0, -2.5) },
308       { Sid::chordSymbolAPosBelow,      "chordSymbolPosBelow",       QPointF(.0, 3.5) },
309 
310       { Sid::chordSymbolBPosAbove,      "chordSymbolBPosAbove",      QPointF(.0, -5.0) },
311       { Sid::chordSymbolBPosBelow,      "chordSymbolBPosBelow",      QPointF(.0, 3.5) },
312 
313       { Sid::romanNumeralPosAbove,      "romanNumeralPosAbove",      QPointF(.0, -2.5) },
314       { Sid::romanNumeralPosBelow,      "romanNumeralPosBelow",      QPointF(.0, 3.5) },
315 
316       { Sid::nashvilleNumberPosAbove,   "nashvilleNumberPosAbove",   QPointF(.0, -2.5) },
317       { Sid::nashvilleNumberPosBelow,   "nashvilleNumberPosBelow",   QPointF(.0, 3.5) },
318 
319       { Sid::chordSymbolAFontFace,      "chordSymbolAFontFace",      "Edwin" },
320       { Sid::chordSymbolAFontSize,      "chordSymbolAFontSize",      11.0 },
321       { Sid::chordSymbolALineSpacing,   "chordSymbolALineSpacing",   1.0 },
322       { Sid::chordSymbolAFontSpatiumDependent, "chordSymbolAFontSpatiumDependent", true },
323       { Sid::chordSymbolAFontStyle,     "chordSymbolAFontStyle",     int(FontStyle::Normal) },
324       { Sid::chordSymbolAColor,         "chordSymbolAColor",         QColor(0, 0, 0, 255) },
325       { Sid::chordSymbolAAlign,         "chordSymbolAAlign",         QVariant::fromValue(Align::LEFT | Align::BASELINE) },
326       { Sid::chordSymbolAFrameType,     "chordSymbolAFrameType",     int(FrameType::NO_FRAME) },
327       { Sid::chordSymbolAFramePadding,  "chordSymbolAFramePadding",  0.2 },
328       { Sid::chordSymbolAFrameWidth,    "chordSymbolAFrameWidth",    0.1 },
329       { Sid::chordSymbolAFrameRound,    "chordSymbolAFrameRound",    0 },
330       { Sid::chordSymbolAFrameFgColor,  "chordSymbolAFrameFgColor",  QColor(0, 0, 0, 255) },
331       { Sid::chordSymbolAFrameBgColor,  "chordSymbolAFrameBgColor",  QColor(255, 255, 255, 0) },
332 
333       { Sid::chordSymbolBFontFace,      "chordSymbolBFontFace",      "Edwin" },
334       { Sid::chordSymbolBFontSize,      "chordSymbolBFontSize",      11.0 },
335       { Sid::chordSymbolBLineSpacing,   "chordSymbolBLineSpacing",   1.0 },
336       { Sid::chordSymbolBFontSpatiumDependent, "chordSymbolBFontSpatiumDependent", true },
337       { Sid::chordSymbolBFontStyle,     "chordSymbolBFontStyle",     int(FontStyle::Italic) },
338       { Sid::chordSymbolBColor,         "chordSymbolBColor",         QColor(0, 0, 0, 255) },
339       { Sid::chordSymbolBAlign,         "chordSymbolBAlign",         QVariant::fromValue(Align::LEFT | Align::BASELINE) },
340       { Sid::chordSymbolBFrameType,     "chordSymbolBFrameType",     int(FrameType::NO_FRAME) },
341       { Sid::chordSymbolBFramePadding,  "chordSymbolBFramePadding",  0.2 },
342       { Sid::chordSymbolBFrameWidth,    "chordSymbolBFrameWidth",    0.1 },
343       { Sid::chordSymbolBFrameRound,    "chordSymbolBFrameRound",    0 },
344       { Sid::chordSymbolBFrameFgColor,  "chordSymbolBFrameFgColor",  QColor(0, 0, 0, 255) },
345       { Sid::chordSymbolBFrameBgColor,  "chordSymbolBFrameBgColor",  QColor(255, 255, 255, 0) },
346 
347       { Sid::romanNumeralFontFace,      "romanNumeralFontFace",      "Campania" },
348       { Sid::romanNumeralFontSize,      "romanNumeralFontSize",      12.0 },
349       { Sid::romanNumeralLineSpacing,   "romanNumeralLineSpacing",   1.0 },
350       { Sid::romanNumeralFontSpatiumDependent, "romanNumeralFontSpatiumDependent", true },
351       { Sid::romanNumeralFontStyle,     "romanNumeralFontStyle",     int(FontStyle::Normal) },
352       { Sid::romanNumeralColor,         "romanNumeralColor",         QColor(0, 0, 0, 255) },
353       { Sid::romanNumeralAlign,         "romanNumeralAlign",         QVariant::fromValue(Align::LEFT | Align::BASELINE) },
354       { Sid::romanNumeralFrameType,     "romanNumeralFrameType",     int(FrameType::NO_FRAME) },
355       { Sid::romanNumeralFramePadding,  "romanNumeralFramePadding",  0.2 },
356       { Sid::romanNumeralFrameWidth,    "romanNumeralFrameWidth",    0.1 },
357       { Sid::romanNumeralFrameRound,    "romanNumeralFrameRound",    0 },
358       { Sid::romanNumeralFrameFgColor,  "romanNumeralFrameFgColor",  QColor(0, 0, 0, 255) },
359       { Sid::romanNumeralFrameBgColor,  "romanNumeralFrameBgColor",  QColor(255, 255, 255, 0) },
360 
361       { Sid::nashvilleNumberFontFace,      "nashvilleNumberFontFace",      "Edwin" },
362       { Sid::nashvilleNumberFontSize,      "nashvilleNumberFontSize",      12.0 },
363       { Sid::nashvilleNumberLineSpacing,   "nashvilleNumberLineSpacing",   1.0 },
364       { Sid::nashvilleNumberFontSpatiumDependent, "nashvilleNumberFontSpatiumDependent", true },
365       { Sid::nashvilleNumberFontStyle,     "nashvilleNumberFontStyle",     int(FontStyle::Normal) },
366       { Sid::nashvilleNumberColor,         "nashvilleNumberColor",         QColor(0, 0, 0, 255) },
367       { Sid::nashvilleNumberAlign,         "nashvilleNumberAlign",         QVariant::fromValue(Align::LEFT | Align::BASELINE) },
368       { Sid::nashvilleNumberFrameType,     "nashvilleNumberFrameType",     int(FrameType::NO_FRAME) },
369       { Sid::nashvilleNumberFramePadding,  "nashvilleNumberFramePadding",  0.2 },
370       { Sid::nashvilleNumberFrameWidth,    "nashvilleNumberFrameWidth",    0.1 },
371       { Sid::nashvilleNumberFrameRound,    "nashvilleNumberFrameRound",    0 },
372       { Sid::nashvilleNumberFrameFgColor,  "nashvilleNumberFrameFgColor",  QColor(0, 0, 0, 255) },
373       { Sid::nashvilleNumberFrameBgColor,  "nashvilleNumberFrameBgColor",  QColor(255, 255, 255, 0) },
374 
375       { Sid::capoPosition,            "capoPosition",            QVariant(0) },
376       { Sid::fretNumMag,              "fretNumMag",              QVariant(2.0) },
377       { Sid::fretNumPos,              "fretNumPos",              QVariant(0) },
378       { Sid::fretY,                   "fretY",                   Spatium(1.0) },
379       { Sid::fretMinDistance,         "fretMinDistance",         Spatium(0.5) },
380       { Sid::fretMag,                 "fretMag",                 QVariant(1.0) },
381       { Sid::fretPlacement,           "fretPlacement",           int(Placement::ABOVE) },
382       { Sid::fretStrings,             "fretStrings",             6 },
383       { Sid::fretFrets,               "fretFrets",               5 },
384       { Sid::fretNut,                 "fretNut",                 QVariant(true) },
385       { Sid::fretDotSize,             "fretDotSize",             QVariant(1.0) },
386       { Sid::fretStringSpacing,       "fretStringSpacing",       Spatium(0.7) },
387       { Sid::fretFretSpacing,         "fretFretSpacing",         Spatium(0.8) },
388       { Sid::fretOrientation,         "fretOrientation",         int(Orientation::VERTICAL) },
389       { Sid::maxFretShiftAbove,       "maxFretShiftAbove",       Spatium(0.0) },
390       { Sid::maxFretShiftBelow,       "maxFretShiftBelow",       Spatium(0.0) },
391 
392       { Sid::showPageNumber,          "showPageNumber",          QVariant(true) },
393       { Sid::showPageNumberOne,       "showPageNumberOne",       QVariant(false) },
394       { Sid::pageNumberOddEven,       "pageNumberOddEven",       QVariant(true) },
395       { Sid::showMeasureNumber,       "showMeasureNumber",       QVariant(true) },
396       { Sid::showMeasureNumberOne,    "showMeasureNumberOne",    QVariant(false) },
397       { Sid::measureNumberInterval,   "measureNumberInterval",   QVariant(5) },
398       { Sid::measureNumberSystem,     "measureNumberSystem",     QVariant(true) },
399       { Sid::measureNumberAllStaves,  "measureNumberAllStaffs",  QVariant(false) }, // need to keep staffs and not staves here for backward compatibility
400       { Sid::smallNoteMag,            "smallNoteMag",            QVariant(.7) },
401       { Sid::graceNoteMag,            "graceNoteMag",            QVariant(0.7) },
402       { Sid::smallStaffMag,           "smallStaffMag",           QVariant(0.7) },
403       { Sid::smallClefMag,            "smallClefMag",            QVariant(0.8) },
404 
405       { Sid::genClef,                 "genClef",                 QVariant(true) },
406       { Sid::genKeysig,               "genKeysig",               QVariant(true) },
407       { Sid::genCourtesyTimesig,      "genCourtesyTimesig",      QVariant(true) },
408       { Sid::genCourtesyKeysig,       "genCourtesyKeysig",       QVariant(true) },
409       { Sid::genCourtesyClef,         "genCourtesyClef",         QVariant(true) },
410       { Sid::swingRatio,              "swingRatio",              QVariant(60)   },
411       { Sid::swingUnit,               "swingUnit",               QVariant(QString("")) },
412       { Sid::useStandardNoteNames,    "useStandardNoteNames",    QVariant(true) },
413       { Sid::useGermanNoteNames,      "useGermanNoteNames",      QVariant(false) },
414       { Sid::useFullGermanNoteNames,  "useFullGermanNoteNames",  QVariant(false) },
415 
416       { Sid::useSolfeggioNoteNames,   "useSolfeggioNoteNames",   QVariant(false) },
417       { Sid::useFrenchNoteNames,      "useFrenchNoteNames",      QVariant(false) },
418       { Sid::automaticCapitalization, "automaticCapitalization", QVariant(true) },
419       { Sid::lowerCaseMinorChords,    "lowerCaseMinorChords",    QVariant(false) },
420       { Sid::lowerCaseBassNotes,      "lowerCaseBassNotes",      QVariant(false) },
421       { Sid::allCapsNoteNames,        "allCapsNoteNames",        QVariant(false) },
422       { Sid::chordStyle,              "chordStyle",              QVariant(QString("std")) },
423       { Sid::chordsXmlFile,           "chordsXmlFile",           QVariant(false) },
424       { Sid::chordDescriptionFile,    "chordDescriptionFile",    QVariant(QString("chords_std.xml")) },
425       { Sid::chordExtensionMag,       "chordExtensionMag",       QVariant(1.0)   },
426       { Sid::chordExtensionAdjust,    "chordExtensionAdjust",    QVariant(0.0)   },
427       { Sid::chordModifierMag,        "chordModifierMag",        QVariant(1.0)   },
428       { Sid::chordModifierAdjust,     "chordModifierAdjust",     QVariant(0.0)   },
429       { Sid::concertPitch,            "concertPitch",            QVariant(false) },
430 
431       { Sid::createMultiMeasureRests, "createMultiMeasureRests", QVariant(false) },
432       { Sid::minEmptyMeasures,        "minEmptyMeasures",        QVariant(2) },
433       { Sid::minMMRestWidth,          "minMMRestWidth",          Spatium(4) },
434       { Sid::mmRestNumberPos,         "mmRestNumberPos",         Spatium(-1.5) },
435       { Sid::hideEmptyStaves,         "hideEmptyStaves",         QVariant(false) },
436       { Sid::dontHideStavesInFirstSystem,
437                                  "dontHidStavesInFirstSystm",    QVariant(true) },
438       { Sid::enableIndentationOnFirstSystem,
439                                  "enableIndentationOnFirstSystem", QVariant(true) },
440       { Sid::firstSystemIndentationValue, "firstSystemIndentationValue", Spatium(5.0) },
441       { Sid::alwaysShowBracketsWhenEmptyStavesAreHidden,
442                                  "alwaysShowBracketsWhenEmptyStavesAreHidden", QVariant(false) },
443       { Sid::hideInstrumentNameIfOneInstrument,
444                                  "hideInstrumentNameIfOneInstrument", QVariant(true) },
445       { Sid::gateTime,                "gateTime",                QVariant(100) },
446       { Sid::tenutoGateTime,          "tenutoGateTime",          QVariant(100) },
447       { Sid::staccatoGateTime,        "staccatoGateTime",        QVariant(50) },
448       { Sid::slurGateTime,            "slurGateTime",            QVariant(100) },
449 
450       { Sid::ArpeggioNoteDistance,    "ArpeggioNoteDistance",    Spatium(.5) },
451       { Sid::ArpeggioLineWidth,       "ArpeggioLineWidth",       Spatium(.18) },
452       { Sid::ArpeggioHookLen,         "ArpeggioHookLen",         Spatium(.8) },
453       { Sid::ArpeggioHiddenInStdIfTab,"ArpeggioHiddenInStdIfTab",QVariant(false)},
454       { Sid::SlurEndWidth,            "slurEndWidth",            Spatium(.07) },
455       { Sid::SlurMidWidth,            "slurMidWidth",            Spatium(.21) },
456       { Sid::SlurDottedWidth,         "slurDottedWidth",         Spatium(.10)  },
457       { Sid::MinTieLength,            "minTieLength",            Spatium(1.0) },
458       { Sid::SlurMinDistance,         "slurMinDistance",         Spatium(0.5) },
459       { Sid::SectionPause,            "sectionPause",            QVariant(qreal(3.0)) },
460       { Sid::MusicalSymbolFont,       "musicalSymbolFont",       QVariant(QString("Leland")) },
461       { Sid::MusicalTextFont,         "musicalTextFont",         QVariant(QString("Leland Text")) },
462 
463       { Sid::showHeader,              "showHeader",              QVariant(true) },
464       { Sid::headerFirstPage,         "headerFirstPage",         QVariant(false) },
465       { Sid::headerOddEven,           "headerOddEven",           QVariant(true) },
466       { Sid::evenHeaderL,             "evenHeaderL",             QVariant(QString("$p")) },
467       { Sid::evenHeaderC,             "evenHeaderC",             QVariant(QString()) },
468       { Sid::evenHeaderR,             "evenHeaderR",             QVariant(QString()) },
469       { Sid::oddHeaderL,              "oddHeaderL",              QVariant(QString()) },
470       { Sid::oddHeaderC,              "oddHeaderC",              QVariant(QString()) },
471       { Sid::oddHeaderR,              "oddHeaderR",              QVariant(QString("$p")) },
472       { Sid::showFooter,              "showFooter",              QVariant(true) },
473 
474       { Sid::footerFirstPage,         "footerFirstPage",         QVariant(true) },
475       { Sid::footerOddEven,           "footerOddEven",           QVariant(true) },
476       { Sid::evenFooterL,             "evenFooterL",             QVariant(QString()) },
477       { Sid::evenFooterC,             "evenFooterC",             QVariant(QString("$:copyright:")) },
478       { Sid::evenFooterR,             "evenFooterR",             QVariant(QString()) },
479       { Sid::oddFooterL,              "oddFooterL",              QVariant(QString()) },
480       { Sid::oddFooterC,              "oddFooterC",              QVariant(QString("$:copyright:")) },
481       { Sid::oddFooterR,              "oddFooterR",              QVariant(QString()) },
482 
483       { Sid::voltaPosAbove,           "voltaPosAbove",           QPointF(0.0, -3.0) },
484       { Sid::voltaHook,               "voltaHook",               Spatium(2.2) },
485       { Sid::voltaLineWidth,          "voltaLineWidth",          Spatium(0.11) },
486       { Sid::voltaLineStyle,          "voltaLineStyle",          QVariant(int(Qt::SolidLine)) },
487       { Sid::voltaFontFace,           "voltaFontFace",           "Edwin" },
488       { Sid::voltaFontSize,           "voltaFontSize",           11.0 },
489       { Sid::voltaLineSpacing,        "voltaLineSpacing",        1.0 },
490       { Sid::voltaFontSpatiumDependent, "voltaFontSpatiumDependent", true },
491       { Sid::voltaFontStyle,          "voltaFontStyle",          int(FontStyle::Bold) },
492       { Sid::voltaColor,              "voltaColor",              QColor(0, 0, 0, 255) },
493       { Sid::voltaAlign,              "voltaAlign",              QVariant::fromValue(Align::LEFT | Align::BASELINE) },
494       { Sid::voltaOffset,             "voltaOffset",             QPointF(0.6, 2.2) },
495       { Sid::voltaFrameType,          "voltaFrameType",          int(FrameType::NO_FRAME) },
496       { Sid::voltaFramePadding,       "voltaFramePadding",       0.2 },
497       { Sid::voltaFrameWidth,         "voltaFrameWidth",         0.1 },
498       { Sid::voltaFrameRound,         "voltaFrameRound",         0 },
499       { Sid::voltaFrameFgColor,       "voltaFrameFgColor",       QColor(0, 0, 0, 255) },
500       { Sid::voltaFrameBgColor,       "voltaFrameBgColor",       QColor(255, 255, 255, 0) },
501 
502       { Sid::ottava8VAPlacement,      "ottava8VAPlacement",      int(Placement::ABOVE)  },
503       { Sid::ottava8VBPlacement,      "ottava8VBPlacement",      int(Placement::BELOW)  },
504       { Sid::ottava15MAPlacement,     "ottava15MAPlacement",     int(Placement::ABOVE)  },
505       { Sid::ottava15MBPlacement,     "ottava15MBPlacement",     int(Placement::BELOW)  },
506       { Sid::ottava22MAPlacement,     "ottava22MAPlacement",     int(Placement::ABOVE)  },
507       { Sid::ottava22MBPlacement,     "ottava22MBPlacement",     int(Placement::BELOW)  },
508 
509       { Sid::ottava8VAText,           "ottava8VAText",           QString("<sym>ottavaAlta</sym>") },
510       { Sid::ottava8VAContinueText,   "ottava8VAContinueText",   QString("<sym>ottavaAlta</sym>") },
511       { Sid::ottava8VBText,           "ottava8VBText",           QString("<sym>ottavaBassa</sym>") },
512       { Sid::ottava8VBContinueText,   "ottava8VBContinueText",   QString("<sym>ottavaBassa</sym>") },
513       { Sid::ottava15MAText,          "ottava15MAText",          QString("<sym>quindicesimaAlta</sym>") },
514       { Sid::ottava15MAContinueText,  "ottava15MAContinueText",  QString("<sym>quindicesimaAlta</sym>") },
515       { Sid::ottava15MBText,          "ottava15MBText",          QString("<sym>quindicesimaBassa</sym>") },
516       { Sid::ottava15MBContinueText,  "ottava15MBContinueText",  QString("<sym>quindicesimaBassa</sym>") },
517       { Sid::ottava22MAText,          "ottava22MAText",          QString("<sym>ventiduesimaAlta</sym>") },
518       { Sid::ottava22MAContinueText,  "ottava22MAContinueText",  QString("<sym>ventiduesimaAlta</sym>") },
519       { Sid::ottava22MBText,          "ottava22MBText",          QString("<sym>ventiduesimaBassa</sym>") },
520       { Sid::ottava22MBContinueText, "ottava22MBContinueText",   QString("<sym>ventiduesimaBassa</sym>") },
521 
522       { Sid::ottava8VAnoText,         "ottava8VAnoText",         QString("<sym>ottava</sym>") },
523       { Sid::ottava8VAnoContinueText, "ottava8VAnoContinueText", QString("<sym>ottava</sym>") },
524       { Sid::ottava8VBnoText,         "ottava8VBnoText",         QString("<sym>ottava</sym>") },
525       { Sid::ottava8VBnoContinueText, "ottava8VBnoContinueText", QString("<sym>ottava</sym>") },
526       { Sid::ottava15MAnoText,        "ottava15MAnoText",        QString("<sym>quindicesima</sym>") },
527       { Sid::ottava15MAnoContinueText,"ottava15MAnoContinueText",QString("<sym>quindicesima</sym>") },
528       { Sid::ottava15MBnoText,        "ottava15MBnoText",        QString("<sym>quindicesima</sym>") },
529       { Sid::ottava15MBnoContinueText,"ottava15MBnoContinueText",QString("<sym>quindicesima</sym>") },
530       { Sid::ottava22MAnoText,        "ottava22MAnoText",        QString("<sym>ventiduesima</sym>") },
531       { Sid::ottava22MAnoContinueText,"ottava22MAnoContinueText",QString("<sym>ventiduesima</sym>") },
532       { Sid::ottava22MBnoText,        "ottava22MBnoText",        QString("<sym>ventiduesima</sym>") },
533       { Sid::ottava22MBnoContinueText,"ottava22MBnoContinueText",QString("<sym>ventiduesima</sym>") },
534 
535       { Sid::ottavaPosAbove,          "ottavaPosAbove",          QPointF(.0, -2.0) },
536       { Sid::ottavaPosBelow,          "ottavaPosBelow",          QPointF(.0, 2.0) },
537       { Sid::ottavaHookAbove,         "ottavaHookAbove",         Spatium(1) },
538       { Sid::ottavaHookBelow,         "ottavaHookBelow",         Spatium(-1) },
539       { Sid::ottavaLineWidth,         "ottavaLineWidth",         Spatium(0.11) },
540       { Sid::ottavaLineStyle,         "ottavaLineStyle",         QVariant(int(Qt::DashLine)) },
541       { Sid::ottavaNumbersOnly,       "ottavaNumbersOnly",       true },
542       { Sid::ottavaFontFace,          "ottavaFontFace",          "Edwin" },
543       { Sid::ottavaFontSize,          "ottavaFontSize",          10.0 },
544       { Sid::ottavaLineSpacing,       "ottavaLineSpacing",       1.0 },
545       { Sid::ottavaFontSpatiumDependent, "ottavaFontSpatiumDependent", true },
546       { Sid::ottavaFontStyle,         "ottavaFontStyle",         int(FontStyle::Normal) },
547       { Sid::ottavaColor,             "ottavaColor",             QColor(0, 0, 0, 255) },
548       { Sid::ottavaTextAlign,         "ottavaTextAlign",         QVariant::fromValue(Align::LEFT | Align::VCENTER) },
549       { Sid::ottavaFrameType,         "ottavaFrameType",         int(FrameType::NO_FRAME) },
550       { Sid::ottavaFramePadding,      "ottavaFramePadding",      0.2 },
551       { Sid::ottavaFrameWidth,        "ottavaFrameWidth",        0.1 },
552       { Sid::ottavaFrameRound,        "ottavaFrameRound",        0 },
553       { Sid::ottavaFrameFgColor,      "ottavaFrameFgColor",      QColor(0, 0, 0, 255) },
554       { Sid::ottavaFrameBgColor,      "ottavaFrameBgColor",      QColor(255, 255, 255, 0) },
555 
556       { Sid::tabClef,                 "tabClef",                 QVariant(int(ClefType::TAB)) },
557 
558       { Sid::tremoloWidth,            "tremoloWidth",            Spatium(1.2) },  // tremolo stroke width: notehead width
559       { Sid::tremoloBoxHeight,        "tremoloBoxHeight",        Spatium(0.65) },
560       { Sid::tremoloStrokeWidth,      "tremoloLineWidth",        Spatium(0.5) },  // was 0.35
561       { Sid::tremoloDistance,         "tremoloDistance",         Spatium(0.8) },
562       { Sid::tremoloStyle,            "tremoloStrokeStyle",      int(TremoloStyle::DEFAULT) },
563       { Sid::tremoloStrokeLengthMultiplier, "tremoloStrokeLengthMultiplier", 0.62 },
564 
565       { Sid::linearStretch,           "linearStretch",           QVariant(qreal(1.5)) },
566       { Sid::crossMeasureValues,      "crossMeasureValues",      QVariant(false) },
567       { Sid::keySigNaturals,          "keySigNaturals",          QVariant(int(KeySigNatural::NONE)) },
568 
569       { Sid::tupletMaxSlope,          "tupletMaxSlope",          QVariant(qreal(0.5)) },
570       { Sid::tupletOufOfStaff,        "tupletOufOfStaff",        QVariant(true) },
571       { Sid::tupletVHeadDistance,     "tupletVHeadDistance",     Spatium(.5) },
572       { Sid::tupletVStemDistance,     "tupletVStemDistance",     Spatium(.5) },
573       { Sid::tupletStemLeftDistance,  "tupletStemLeftDistance",  Spatium(0.0) },
574       { Sid::tupletStemRightDistance, "tupletStemRightDistance", Spatium(.5) },
575       { Sid::tupletNoteLeftDistance,  "tupletNoteLeftDistance",  Spatium(-0.5) },
576       { Sid::tupletNoteRightDistance, "tupletNoteRightDistance", Spatium(0.0) },
577       { Sid::tupletBracketWidth,      "tupletBracketWidth",      Spatium(0.1) },
578       { Sid::tupletDirection,         "tupletDirection",         QVariant::fromValue<Direction>(Direction::AUTO) },
579       { Sid::tupletNumberType,        "tupletNumberType",        int(TupletNumberType::SHOW_NUMBER) },
580       { Sid::tupletBracketType,       "tupletBracketType",       int(TupletBracketType::AUTO_BRACKET) },
581       { Sid::tupletFontFace,          "tupletFontFace",          "Edwin" },
582       { Sid::tupletFontSize,          "tupletFontSize",          9.0 },
583       { Sid::tupletLineSpacing,       "tupletLineSpacing",       1.0 },
584       { Sid::tupletFontSpatiumDependent, "tupletFontSpatiumDependent", true },
585       { Sid::tupletFontStyle,         "tupletFontStyle",         int(FontStyle::Italic) },
586       { Sid::tupletColor,             "tupletColor",             QColor(0, 0, 0, 255) },
587       { Sid::tupletAlign,             "tupletAlign",             QVariant::fromValue(Align::CENTER) },
588       { Sid::tupletBracketHookHeight, "tupletBracketHookHeight", Spatium(0.75) },
589       { Sid::tupletOffset,            "tupletOffset",            QPointF()  },
590       { Sid::tupletFrameType,         "tupletFrameType",         int(FrameType::NO_FRAME) },
591       { Sid::tupletFramePadding,      "tupletFramePadding",      0.2 },
592       { Sid::tupletFrameWidth,        "tupletFrameWidth",        0.1 },
593       { Sid::tupletFrameRound,        "tupletFrameRound",        0 },
594       { Sid::tupletFrameFgColor,      "tupletFrameFgColor",      QColor(0, 0, 0, 255) },
595       { Sid::tupletFrameBgColor,      "tupletFrameBgColor",      QColor(255, 255, 255, 0) },
596 
597       { Sid::barreLineWidth,          "barreLineWidth",          QVariant(1.0) },
598       { Sid::scaleBarlines,           "scaleBarlines",           QVariant(true) },
599       { Sid::barGraceDistance,        "barGraceDistance",        Spatium(1.0) },
600       { Sid::minVerticalDistance,     "minVerticalDistance",     Spatium(0.5) },
601       { Sid::ornamentStyle,           "ornamentStyle",           int(MScore::OrnamentStyle::DEFAULT) },
602       { Sid::spatium,                 "Spatium",                 24.8 },
603 
604       { Sid::autoplaceHairpinDynamicsDistance, "autoplaceHairpinDynamicsDistance", Spatium(0.5) },
605 
606       { Sid::dynamicsPlacement,       "dynamicsPlacement",       int(Placement::BELOW)  },
607       { Sid::dynamicsPosAbove,        "dynamicsPosAbove",        QPointF(.0, -1.5) },
608       { Sid::dynamicsPosBelow,        "dynamicsPosBelow",        QPointF(.0, 2.5) },
609 
610       { Sid::dynamicsMinDistance,         "dynamicsMinDistance",               Spatium(0.5) },
611       { Sid::autoplaceVerticalAlignRange, "autoplaceVerticalAlignRange",     int(VerticalAlignRange::SYSTEM) },
612 
613       { Sid::textLinePlacement,         "textLinePlacement",         int(Placement::ABOVE)  },
614       { Sid::textLinePosAbove,          "textLinePosAbove",          QPointF(.0, -1.0) },
615       { Sid::textLinePosBelow,          "textLinePosBelow",          QPointF(.0, 1.0) },
616       { Sid::textLineFrameType,         "textLineFrameType",          int(FrameType::NO_FRAME) },
617       { Sid::textLineFramePadding,      "textLineFramePadding",       0.2 },
618       { Sid::textLineFrameWidth,        "textLineFrameWidth",         0.1 },
619       { Sid::textLineFrameRound,        "textLineFrameRound",         0 },
620       { Sid::textLineFrameFgColor,      "textLineFrameFgColor",       QColor(0, 0, 0, 255) },
621       { Sid::textLineFrameBgColor,      "textLineFrameBgColor",       QColor(255, 255, 255, 0) },
622 
623       { Sid::systemTextLinePlacement,         "systemTextLinePlacement",         int(Placement::ABOVE)  },
624       { Sid::systemTextLinePosAbove,          "systemTextLinePosAbove",          QPointF(.0, -1.0) },
625       { Sid::systemTextLinePosBelow,          "systemTextLinePosBelow",          QPointF(.0, 1.0) },
626       { Sid::systemTextLineFrameType,         "systemTextLineFrameType",          int(FrameType::NO_FRAME) },
627       { Sid::systemTextLineFramePadding,      "systemTextLineFramePadding",       0.2 },
628       { Sid::systemTextLineFrameWidth,        "systemTextLineFrameWidth",         0.1 },
629       { Sid::systemTextLineFrameRound,        "systemTextLineFrameRound",         0 },
630       { Sid::systemTextLineFrameFgColor,      "systemTextLineFrameFgColor",       QColor(0, 0, 0, 255) },
631       { Sid::systemTextLineFrameBgColor,      "systemTextLineFrameBgColor",       QColor(255, 255, 255, 0) },
632 
633       { Sid::tremoloBarLineWidth,       "tremoloBarLineWidth",       Spatium(0.12) },
634       { Sid::jumpPosAbove,              "jumpPosAbove",              QPointF(.0, -2.0) },
635       { Sid::markerPosAbove,            "markerPosAbove",            QPointF(.0, -2.0) },
636 
637       { Sid::defaultFontFace,               "defaultFontFace",               "Edwin" },
638       { Sid::defaultFontSize,               "defaultFontSize",               10.0  },
639       { Sid::defaultLineSpacing,            "defaultLineSpacing",            1.0 },
640       { Sid::defaultFontSpatiumDependent,   "defaultFontSpatiumDependent",   true  },
641       { Sid::defaultFontStyle,              "defaultFontStyle",              int(FontStyle::Normal) },
642       { Sid::defaultColor,                  "defaultColor",                  QColor(0, 0, 0, 255) },
643       { Sid::defaultAlign,                  "defaultAlign",                  QVariant::fromValue(Align::LEFT) },
644       { Sid::defaultFrameType,              "defaultFrameType",              int(FrameType::NO_FRAME) },
645       { Sid::defaultFramePadding,           "defaultFramePadding",           0.2 },
646       { Sid::defaultFrameWidth,             "defaultFrameWidth",             0.1 },
647       { Sid::defaultFrameRound,             "defaultFrameRound",             0 },
648       { Sid::defaultFrameFgColor,           "defaultFrameFgColor",           QColor(0, 0, 0, 255) },
649       { Sid::defaultFrameBgColor,           "defaultFrameBgColor",           QColor(255, 255, 255, 0) },
650       { Sid::defaultOffset,                 "defaultOffset",                 QPointF() },
651       { Sid::defaultOffsetType,             "defaultOffsetType",             int(OffsetType::SPATIUM)   },
652       { Sid::defaultSystemFlag,             "defaultSystemFlag",             false },
653       { Sid::defaultText,                   "defaultText",                   QString("")    },
654 
655       { Sid::titleFontFace,                 "titleFontFace",                 "Edwin" },
656       { Sid::titleFontSize,                 "titleFontSize",                 22.0 },
657       { Sid::titleLineSpacing,              "titleLineSpacing",              1.0 },
658       { Sid::titleFontSpatiumDependent,     "titleFontSpatiumDependent",     false  },
659       { Sid::titleFontStyle,                "titleFontStyle",                int(FontStyle::Normal) },
660       { Sid::titleColor,                    "titleColor",                    QColor(0, 0, 0, 255) },
661       { Sid::titleAlign,                    "titleAlign",                    QVariant::fromValue(Align::HCENTER | Align::TOP) },
662       { Sid::titleOffset,                   "titleOffset",                   QPointF() },
663       { Sid::titleOffsetType,               "titleOffsetType",               int(OffsetType::ABS)   },
664       { Sid::titleFrameType,                "titleFrameType",                int(FrameType::NO_FRAME) },
665       { Sid::titleFramePadding,             "titleFramePadding",             0.2 },
666       { Sid::titleFrameWidth,               "titleFrameWidth",               0.1 },
667       { Sid::titleFrameRound,               "titleFrameRound",               0 },
668       { Sid::titleFrameFgColor,             "titleFrameFgColor",             QColor(0, 0, 0, 255) },
669       { Sid::titleFrameBgColor,             "titleFrameBgColor",             QColor(255, 255, 255, 0) },
670 
671       { Sid::subTitleFontFace,              "subTitleFontFace",              "Edwin" },
672       { Sid::subTitleFontSize,              "subTitleFontSize",              16.0 },
673       { Sid::subTitleLineSpacing,           "subTitleLineSpacing",           1.0 },
674       { Sid::subTitleFontSpatiumDependent,  "subTitleFontSpatiumDependent",  false  },
675       { Sid::subTitleFontStyle,             "subTitleFontStyle",             int(FontStyle::Normal) },
676       { Sid::subTitleColor,                 "subTitleColor",                 QColor(0, 0, 0, 255) },
677       { Sid::subTitleAlign,                 "subTitleAlign",                 QVariant::fromValue(Align::HCENTER | Align::TOP) },
678       { Sid::subTitleOffset,                "subTitleOffset",                QPointF(0.0, 10.0) },
679       { Sid::subTitleOffsetType,            "subTitleOffsetType",            int(OffsetType::ABS)   },
680       { Sid::subTitleFrameType,             "subTitleFrameType",             int(FrameType::NO_FRAME) },
681       { Sid::subTitleFramePadding,          "subTitleFramePadding",          0.2 },
682       { Sid::subTitleFrameWidth,            "subTitleFrameWidth",            0.1 },
683       { Sid::subTitleFrameRound,            "subTitleFrameRound",            0 },
684       { Sid::subTitleFrameFgColor,          "subTitleFrameFgColor",          QColor(0, 0, 0, 255) },
685       { Sid::subTitleFrameBgColor,          "subTitleFrameBgColor",          QColor(255, 255, 255, 0) },
686 
687       { Sid::composerFontFace,              "composerFontFace",              "Edwin" },
688       { Sid::composerFontSize,              "composerFontSize",              10.0 },
689       { Sid::composerLineSpacing,           "composerLineSpacing",           1.0 },
690       { Sid::composerFontSpatiumDependent,  "composerFontSpatiumDependent",  false  },
691       { Sid::composerFontStyle,             "composerFontStyle",             int(FontStyle::Normal) },
692       { Sid::composerColor,                 "composerColor",                 QColor(0, 0, 0, 255) },
693       { Sid::composerAlign,                 "composerAlign",                 QVariant::fromValue(Align::RIGHT | Align::BOTTOM) },
694       { Sid::composerOffset,                "composerOffset",                QPointF() },
695       { Sid::composerOffsetType,            "composerOffsetType",            int(OffsetType::ABS)   },
696       { Sid::composerFrameType,             "composerFrameType",             int(FrameType::NO_FRAME) },
697       { Sid::composerFramePadding,          "composerFramePadding",          0.2 },
698       { Sid::composerFrameWidth,            "composerFrameWidth",            0.1 },
699       { Sid::composerFrameRound,            "composerFrameRound",            0 },
700       { Sid::composerFrameFgColor,          "composerFrameFgColor",          QColor(0, 0, 0, 255) },
701       { Sid::composerFrameBgColor,          "composerFrameBgColor",          QColor(255, 255, 255, 0) },
702 
703       { Sid::lyricistFontFace,              "lyricistFontFace",              "Edwin" },
704       { Sid::lyricistFontSize,              "lyricistFontSize",              10.0 },
705       { Sid::lyricistLineSpacing,           "lyricistLineSpacing",           1.0 },
706       { Sid::lyricistFontSpatiumDependent,  "lyricistFontSpatiumDependent",  false  },
707       { Sid::lyricistFontStyle,             "lyricistFontStyle",             int(FontStyle::Normal) },
708       { Sid::lyricistColor,                 "lyricistColor",                 QColor(0, 0, 0, 255) },
709       { Sid::lyricistAlign,                 "lyricistAlign",                 QVariant::fromValue(Align::LEFT | Align::BOTTOM) },
710       { Sid::lyricistOffset,                "lyricistOffset",                QPointF() },
711       { Sid::lyricistOffsetType,            "lyricistOffsetType",            int(OffsetType::ABS)   },
712       { Sid::lyricistFrameType,             "lyricistFrameType",             int(FrameType::NO_FRAME) },
713       { Sid::lyricistFramePadding,          "lyricistFramePadding",          0.2 },
714       { Sid::lyricistFrameWidth,            "lyricistFrameWidth",            0.1 },
715       { Sid::lyricistFrameRound,            "lyricistFrameRound",            0 },
716       { Sid::lyricistFrameFgColor,          "lyricistFrameFgColor",          QColor(0, 0, 0, 255) },
717       { Sid::lyricistFrameBgColor,          "lyricistFrameBgColor",          QColor(255, 255, 255, 0) },
718 
719       { Sid::fingeringFontFace,             "fingeringFontFace",             "Edwin" },
720       { Sid::fingeringFontSize,             "fingeringFontSize",             8.0 },
721       { Sid::fingeringLineSpacing,          "fingeringLineSpacing",          1.0 },
722       { Sid::fingeringFontSpatiumDependent, "fingeringFontSpatiumDependent", true },
723       { Sid::fingeringFontStyle,            "fingeringFontStyle",             int(FontStyle::Normal) },
724       { Sid::fingeringColor,                "fingeringColor",                QColor(0, 0, 0, 255) },
725       { Sid::fingeringAlign,                "fingeringAlign",                QVariant::fromValue(Align::CENTER) },
726       { Sid::fingeringFrameType,            "fingeringFrameType",            int(FrameType::NO_FRAME) },
727       { Sid::fingeringFramePadding,         "fingeringFramePadding",         0.2 },
728       { Sid::fingeringFrameWidth,           "fingeringFrameWidth",           0.1 },
729       { Sid::fingeringFrameRound,           "fingeringFrameRound",           0 },
730       { Sid::fingeringFrameFgColor,         "fingeringFrameFgColor",         QColor(0, 0, 0, 255) },
731       { Sid::fingeringFrameBgColor,         "fingeringFrameBgColor",         QColor(255, 255, 255, 0) },
732       { Sid::fingeringOffset,               "fingeringOffset",               QPointF() },
733 
734       { Sid::lhGuitarFingeringFontFace,     "lhGuitarFingeringFontFace",     "Edwin" },
735       { Sid::lhGuitarFingeringFontSize,     "lhGuitarFingeringFontSize",     8.0 },
736       { Sid::lhGuitarFingeringLineSpacing,  "lhGuitarFingeringLineSpacing",  1.0 },
737       { Sid::lhGuitarFingeringFontSpatiumDependent, "lhGuitarFingeringFontSpatiumDependent", true },
738       { Sid::lhGuitarFingeringFontStyle,    "lhGuitarFingeringFontStyle",    int(FontStyle::Normal) },
739       { Sid::lhGuitarFingeringColor,        "lhGuitarFingeringColor",        QColor(0, 0, 0, 255) },
740       { Sid::lhGuitarFingeringAlign,        "lhGuitarFingeringAlign",        QVariant::fromValue(Align::RIGHT | Align::VCENTER) },
741       { Sid::lhGuitarFingeringFrameType,    "lhGuitarFingeringFrameType",    int(FrameType::NO_FRAME) },
742       { Sid::lhGuitarFingeringFramePadding, "lhGuitarFingeringFramePadding", 0.2 },
743       { Sid::lhGuitarFingeringFrameWidth,   "lhGuitarFingeringFrameWidth",   0.1 },
744       { Sid::lhGuitarFingeringFrameRound,   "lhGuitarFingeringFrameRound",   0 },
745       { Sid::lhGuitarFingeringFrameFgColor, "lhGuitarFingeringFrameFgColor", QColor(0, 0, 0, 255) },
746       { Sid::lhGuitarFingeringFrameBgColor, "lhGuitarFingeringFrameBgColor", QColor(255, 255, 255, 0) },
747       { Sid::lhGuitarFingeringOffset,       "lhGuitarFingeringOffset",       QPointF(-0.5, 0.0) },
748 
749       { Sid::rhGuitarFingeringFontFace,     "rhGuitarFingeringFontFace",     "Edwin" },
750       { Sid::rhGuitarFingeringFontSize,     "rhGuitarFingeringFontSize",     8.0 },
751       { Sid::rhGuitarFingeringLineSpacing,  "rhGuitarFingeringLineSpacing",  1.0 },
752       { Sid::rhGuitarFingeringFontSpatiumDependent, "rhGuitarFingeringFontSpatiumDependent", true },
753       { Sid::rhGuitarFingeringFontStyle,    "rhGuitarFingeringFontStyle",    int(FontStyle::Italic) },
754       { Sid::rhGuitarFingeringColor,        "rhGuitarFingeringColor",        QColor(0, 0, 0, 255) },
755       { Sid::rhGuitarFingeringAlign,        "rhGuitarFingeringAlign",        QVariant::fromValue(Align::CENTER) },
756       { Sid::rhGuitarFingeringFrameType,    "rhGuitarFingeringFrameType",    int(FrameType::NO_FRAME) },
757       { Sid::rhGuitarFingeringFramePadding, "rhGuitarFingeringFramePadding", 0.2 },
758       { Sid::rhGuitarFingeringFrameWidth,   "rhGuitarFingeringFrameWidth",   0.1 },
759       { Sid::rhGuitarFingeringFrameRound,   "rhGuitarFingeringFrameRound",   0 },
760       { Sid::rhGuitarFingeringFrameFgColor, "rhGuitarFingeringFrameFgColor", QColor(0, 0, 0, 255) },
761       { Sid::rhGuitarFingeringFrameBgColor, "rhGuitarFingeringFrameBgColor", QColor(255, 255, 255, 0) },
762       { Sid::rhGuitarFingeringOffset,       "rhGuitarFingeringOffset",       QPointF() },
763 
764       { Sid::stringNumberFontFace,          "stringNumberFontFace",          "Edwin" },
765       { Sid::stringNumberFontSize,          "stringNumberFontSize",          8.0 },
766       { Sid::stringNumberLineSpacing,       "stringNumberLineSpacing",       1.0 },
767       { Sid::stringNumberFontSpatiumDependent, "stringNumberFontSpatiumDependent", true },
768       { Sid::stringNumberFontStyle,         "stringNumberFontStyle",         int(FontStyle::Normal) },
769       { Sid::stringNumberColor,             "stringNumberColor",             QColor(0, 0, 0, 255) },
770       { Sid::stringNumberAlign,             "stringNumberAlign",             QVariant::fromValue(Align::CENTER) },
771       { Sid::stringNumberFrameType,         "stringNumberFrameType",         int(FrameType::CIRCLE) },
772       { Sid::stringNumberFramePadding,      "stringNumberFramePadding",      0.2 },
773       { Sid::stringNumberFrameWidth,        "stringNumberFrameWidth",        0.1 },
774       { Sid::stringNumberFrameRound,        "stringNumberFrameRound",        0 },
775       { Sid::stringNumberFrameFgColor,      "stringNumberFrameFgColor",      QColor(0, 0, 0, 255) },
776       { Sid::stringNumberFrameBgColor,      "stringNumberFrameBgColor",      QColor(255, 255, 255, 0) },
777       { Sid::stringNumberOffset,            "stringNumberOffset",            QPointF(0.0, 0.0) },
778 
779       { Sid::longInstrumentFontFace,        "longInstrumentFontFace",       "Edwin" },
780       { Sid::longInstrumentFontSize,        "longInstrumentFontSize",       10.0 },
781       { Sid::longInstrumentLineSpacing,     "longInstrumentLineSpacing",    1.0 },
782       { Sid::longInstrumentFontSpatiumDependent, "longInstrumentFontSpatiumDependent", true },
783       { Sid::longInstrumentFontStyle,       "longInstrumentFontStyle",      int(FontStyle::Normal) },
784       { Sid::longInstrumentColor,           "longInstrumentColor",          QColor(0, 0, 0, 255) },
785       { Sid::longInstrumentAlign,           "longInstrumentAlign",          QVariant::fromValue(Align::RIGHT | Align::VCENTER) },
786       { Sid::longInstrumentOffset,          "longInstrumentOffset",         QPointF(.0, .0) },
787       { Sid::longInstrumentFrameType,       "longInstrumentFrameType",      int(FrameType::NO_FRAME) },
788       { Sid::longInstrumentFramePadding,    "longInstrumentFramePadding",   0.2 },
789       { Sid::longInstrumentFrameWidth,      "longInstrumentFrameWidth",     0.1 },
790       { Sid::longInstrumentFrameRound,      "longInstrumentFrameRound",     0 },
791       { Sid::longInstrumentFrameFgColor,    "longInstrumentFrameFgColor",   QColor(0, 0, 0, 255) },
792       { Sid::longInstrumentFrameBgColor,    "longInstrumentFrameBgColor",   QColor(255, 255, 255, 0) },
793 
794       { Sid::shortInstrumentFontFace,       "shortInstrumentFontFace",      "Edwin" },
795       { Sid::shortInstrumentFontSize,       "shortInstrumentFontSize",      10.0 },
796       { Sid::shortInstrumentLineSpacing,    "shortInstrumentLineSpacing",   1.0 },
797       { Sid::shortInstrumentFontSpatiumDependent, "shortInstrumentFontSpatiumDependent", true },
798       { Sid::shortInstrumentFontStyle,      "shortInstrumentFontStyle",     int(FontStyle::Normal) },
799       { Sid::shortInstrumentColor,          "shortInstrumentColor",         QColor(0, 0, 0, 255) },
800       { Sid::shortInstrumentAlign,          "shortInstrumentAlign",         QVariant::fromValue(Align::RIGHT | Align::VCENTER) },
801       { Sid::shortInstrumentOffset,         "shortInstrumentOffset",        QPointF(.0, .0) },
802       { Sid::shortInstrumentFrameType,      "shortInstrumentFrameType",     int(FrameType::NO_FRAME) },
803       { Sid::shortInstrumentFramePadding,   "shortInstrumentFramePadding",  0.2 },
804       { Sid::shortInstrumentFrameWidth,     "shortInstrumentFrameWidth",    0.1 },
805       { Sid::shortInstrumentFrameRound,     "shortInstrumentFrameRound",    0 },
806       { Sid::shortInstrumentFrameFgColor,   "shortInstrumentFrameFgColor",  QColor(0, 0, 0, 255) },
807       { Sid::shortInstrumentFrameBgColor,   "shortInstrumentFrameBgColor",  QColor(255, 255, 255, 0) },
808 
809       { Sid::partInstrumentFontFace,        "partInstrumentFontFace",       "Edwin" },
810       { Sid::partInstrumentFontSize,        "partInstrumentFontSize",       14.0 },
811       { Sid::partInstrumentLineSpacing,     "partInstrumentLineSpacing",    1.0 },
812       { Sid::partInstrumentFontSpatiumDependent, "partInstrumentFontSpatiumDependent", false },
813       { Sid::partInstrumentFontStyle,       "partInstrumentFontStyle",      int(FontStyle::Normal) },
814       { Sid::partInstrumentColor,           "partInstrumentColor",          QColor(0, 0, 0, 255) },
815       { Sid::partInstrumentAlign,           "partInstrumentAlign",          QVariant::fromValue(Align::LEFT) },
816       { Sid::partInstrumentOffset,          "partInstrumentOffset",         QPointF() },
817       { Sid::partInstrumentFrameType,       "partInstrumentFrameType",      int(FrameType::NO_FRAME) },
818       { Sid::partInstrumentFramePadding,    "partInstrumentFramePadding",   0.2 },
819       { Sid::partInstrumentFrameWidth,      "partInstrumentFrameWidth",     0.1 },
820       { Sid::partInstrumentFrameRound,      "partInstrumentFrameRound",     0 },
821       { Sid::partInstrumentFrameFgColor,    "partInstrumentFrameFgColor",   QColor(0, 0, 0, 255) },
822       { Sid::partInstrumentFrameBgColor,    "partInstrumentFrameBgColor",   QColor(255, 255, 255, 0) },
823 
824       { Sid::dynamicsFontFace,              "dynamicsFontFace",             "Edwin" },
825       { Sid::dynamicsFontSize,              "dynamicsFontSize",             11.0 },
826       { Sid::dynamicsLineSpacing,           "dynamicsLineSpacing",          1.0 },
827       { Sid::dynamicsFontSpatiumDependent,  "dynamicsFontSpatiumDependent", true },
828       { Sid::dynamicsFontStyle,             "dynamicsFontStyle",            int(FontStyle::Italic) },
829       { Sid::dynamicsColor,                 "dynamicsColor",                QColor(0, 0, 0, 255) },
830       { Sid::dynamicsAlign,                 "dynamicsAlign",                QVariant::fromValue(Align::HCENTER | Align::BASELINE) },
831       { Sid::dynamicsFrameType,             "dynamicsFrameType",            int(FrameType::NO_FRAME) },
832       { Sid::dynamicsFramePadding,          "dynamicsFramePadding",         0.2 },
833       { Sid::dynamicsFrameWidth,            "dynamicsFrameWidth",           0.1 },
834       { Sid::dynamicsFrameRound,            "dynamicsFrameRound",           0 },
835       { Sid::dynamicsFrameFgColor,          "dynamicsFrameFgColor",         QColor(0, 0, 0, 255) },
836       { Sid::dynamicsFrameBgColor,          "dynamicsFrameBgColor",         QColor(255, 255, 255, 0) },
837 
838       { Sid::expressionFontFace,            "expressionFontFace",           "Edwin" },
839       { Sid::expressionFontSize,            "expressionFontSize",           10.0 },
840       { Sid::expressionLineSpacing,         "expressionLineSpacing",        1.0 },
841       { Sid::expressionFontSpatiumDependent, "expressionFontSpatiumDependent", true },
842       { Sid::expressionFontStyle,           "expressionFontStyle",          int(FontStyle::Italic) },
843       { Sid::expressionColor,               "expressionColor",              QColor(0, 0, 0, 255) },
844       { Sid::expressionAlign,               "expressionAlign",              QVariant::fromValue(Align::LEFT | Align::BASELINE) },
845       { Sid::expressionPlacement,           "expressionPlacement",          int(Placement::BELOW)  },
846       { Sid::expressionOffset,              "expressionOffset",             QPointF(.0, 2.5) },
847       { Sid::expressionFrameType,           "expressionFrameType",          int(FrameType::NO_FRAME) },
848       { Sid::expressionFramePadding,        "expressionFramePadding",       0.2 },
849       { Sid::expressionFrameWidth,          "expressionFrameWidth",         0.1 },
850       { Sid::expressionFrameRound,          "expressionFrameRound",         0 },
851       { Sid::expressionFrameFgColor,        "expressionFrameFgColor",       QColor(0, 0, 0, 255) },
852       { Sid::expressionFrameBgColor,        "expressionFrameBgColor",       QColor(255, 255, 255, 0) },
853 
854       { Sid::tempoFontFace,                 "tempoFontFace",                "Edwin" },
855       { Sid::tempoFontSize,                 "tempoFontSize",                12.0 },
856       { Sid::tempoLineSpacing,              "tempoLineSpacing",             1.0 },
857       { Sid::tempoFontSpatiumDependent,     "tempoFontSpatiumDependent",    true },
858       { Sid::tempoFontStyle,                "tempoFontStyle",               int(FontStyle::Bold) },
859       { Sid::tempoColor,                    "tempoColor",                   QColor(0, 0, 0, 255) },
860       { Sid::tempoAlign,                    "tempoAlign",                   QVariant::fromValue(Align::LEFT | Align::BASELINE) },
861       { Sid::tempoSystemFlag,               "tempoSystemFlag",              true },
862       { Sid::tempoPlacement,                "tempoPlacement",               int(Placement::ABOVE)  },
863       { Sid::tempoPosAbove,                 "tempoPosAbove",                QPointF(.0, -2.0) },
864       { Sid::tempoPosBelow,                 "tempoPosBelow",                QPointF(.0, 3.0)  },
865       { Sid::tempoMinDistance,              "tempoMinDistance",             Spatium(.5)  },
866       { Sid::tempoFrameType,                "tempoFrameType",               int(FrameType::NO_FRAME) },
867       { Sid::tempoFramePadding,             "tempoFramePadding",            0.2 },
868       { Sid::tempoFrameWidth,               "tempoFrameWidth",              0.1 },
869       { Sid::tempoFrameRound,               "tempoFrameRound",              0 },
870       { Sid::tempoFrameFgColor,             "tempoFrameFgColor",            QColor(0, 0, 0, 255) },
871       { Sid::tempoFrameBgColor,             "tempoFrameBgColor",            QColor(255, 255, 255, 0) },
872 
873       { Sid::metronomeFontFace,             "metronomeFontFace",            "Edwin" },
874       { Sid::metronomeFontSize,             "metronomeFontSize",            12.0 },
875       { Sid::metronomeLineSpacing,          "metronomeLineSpacing",         1.0 },
876       { Sid::metronomeFontSpatiumDependent, "metronomeFontSpatiumDependent", false },
877       { Sid::metronomeFontStyle,            "metronomeFontStyle",           int(FontStyle::Normal) },
878       { Sid::metronomeColor,                "metronomeColor",               QColor(0, 0, 0, 255) },
879       { Sid::metronomePlacement,            "metronomePlacement",           int(Placement::ABOVE) },
880       { Sid::metronomeAlign,                "metronomeAlign",               QVariant::fromValue(Align::LEFT) },
881       { Sid::metronomeOffset,               "metronomeOffset",              QPointF() },
882       { Sid::metronomeFrameType,            "metronomeFrameType",           int(FrameType::NO_FRAME) },
883       { Sid::metronomeFramePadding,         "metronomeFramePadding",        0.2 },
884       { Sid::metronomeFrameWidth,           "metronomeFrameWidth",          0.1 },
885       { Sid::metronomeFrameRound,           "metronomeFrameRound",          0 },
886       { Sid::metronomeFrameFgColor,         "metronomeFrameFgColor",        QColor(0, 0, 0, 255) },
887       { Sid::metronomeFrameBgColor,         "metronomeFrameBgColor",        QColor(255, 255, 255, 0) },
888 
889       { Sid::measureNumberFontFace,         "measureNumberFontFace",        "Edwin" },
890       { Sid::measureNumberFontSize,         "measureNumberFontSize",        8.0 },
891       { Sid::measureNumberLineSpacing,      "measureNumberLineSpacing",     1.0 },
892       { Sid::measureNumberFontSpatiumDependent, "measureNumberFontSpatiumDependent", false },
893       { Sid::measureNumberFontStyle,        "measureNumberFontStyle",       2 },
894       { Sid::measureNumberColor,            "measureNumberColor",           QColor(0, 0, 0, 255) },
895       { Sid::measureNumberPosAbove,         "measureNumberOffset",          QPointF(0.0, -2.0) }, // This measureNumberOffset cannot be renamed to measureNumberPosAbove for backward compatibility
896       { Sid::measureNumberPosBelow,         "measureNumberPosBelow",        QPointF(0.0, 2.0) },
897       { Sid::measureNumberOffsetType,       "measureNumberOffsetType",      int(OffsetType::SPATIUM)   },
898       { Sid::measureNumberVPlacement,       "measureNumberVPlacement",      int(Placement::ABOVE) },
899       { Sid::measureNumberHPlacement,       "measureNumberHPlacement",      int(HPlacement::LEFT) },
900       { Sid::measureNumberAlign,            "measureNumberAlign",           QVariant::fromValue(Align::LEFT | Align::BASELINE) },
901       { Sid::measureNumberFrameType,        "measureNumberFrameType",       int(FrameType::NO_FRAME) },
902       { Sid::measureNumberFramePadding,     "measureNumberFramePadding",    0.2 },
903       { Sid::measureNumberFrameWidth,       "measureNumberFrameWidth",      0.1 },
904       { Sid::measureNumberFrameRound,       "measureNumberFrameRound",      0 },
905       { Sid::measureNumberFrameFgColor,     "measureNumberFrameFgColor",    QColor(0, 0, 0, 255) },
906       { Sid::measureNumberFrameBgColor,     "measureNumberFrameBgColor",    QColor(255, 255, 255, 0) },
907 
908       { Sid::mmRestShowMeasureNumberRange,  "mmRestShowMeasureNumberRange", false },
909       { Sid::mmRestRangeBracketType,        "mmRestRangeBracketType",       int(MMRestRangeBracketType::BRACKETS) },
910 
911       { Sid::mmRestRangeFontFace,           "mmRestRangeFontFace",          "Edwin" },
912       { Sid::mmRestRangeFontSize,           "mmRestRangeFontSize",          8.0 },
913       { Sid::mmRestRangeFontSpatiumDependent, "mmRestRangeFontSpatiumDependent", false },
914       { Sid::mmRestRangeFontStyle,          "mmRestRangeFontStyle",         int(FontStyle::Italic)          },
915       { Sid::mmRestRangeColor,              "mmRestRangeColor",             QColor(0, 0, 0, 255)            },
916       { Sid::mmRestRangePosAbove,           "measureNumberPosAbove",        QPointF(0.0, -3.0)              },
917       { Sid::mmRestRangePosBelow,           "measureNumberPosBelow",        QPointF(0.0, 1.0)               },
918       { Sid::mmRestRangeOffsetType,         "mmRestRangeOffsetType",        int(OffsetType::SPATIUM)        },
919       { Sid::mmRestRangeVPlacement,         "mmRestRangeVPlacement",        int(Placement::BELOW)           },
920       { Sid::mmRestRangeHPlacement,         "mmRestRangeHPlacement",        int(HPlacement::CENTER)         },
921       { Sid::mmRestRangeAlign,              "mmRestRangeAlign",             QVariant::fromValue(Align::HCENTER | Align::BASELINE) },
922       { Sid::mmRestRangeFrameType,          "mmRestRangeFrameType",         int(FrameType::NO_FRAME)        },
923       { Sid::mmRestRangeFramePadding,       "mmRestRangeFramePadding",      0.2                             },
924       { Sid::mmRestRangeFrameWidth,         "mmRestRangeFrameWidth",        0.1                             },
925       { Sid::mmRestRangeFrameRound,         "mmRestRangeFrameRound",        0                               },
926       { Sid::mmRestRangeFrameFgColor,       "mmRestRangeFrameFgColor",      QColor(0, 0, 0, 255)            },
927       { Sid::mmRestRangeFrameBgColor,       "mmRestRangeFrameBgColor",      QColor(255, 255, 255, 0)        },
928 
929       { Sid::translatorFontFace,            "translatorFontFace",           "Edwin" },
930       { Sid::translatorFontSize,            "translatorFontSize",           10.0 },
931       { Sid::translatorLineSpacing,         "translatorLineSpacing",        1.0 },
932       { Sid::translatorFontSpatiumDependent, "translatorFontSpatiumDependent", false },
933       { Sid::translatorFontStyle,           "translatorFontStyle",          int(FontStyle::Normal) },
934       { Sid::translatorColor,               "translatorColor",              QColor(0, 0, 0, 255) },
935       { Sid::translatorAlign,               "translatorAlign",              QVariant::fromValue(Align::LEFT) },
936       { Sid::translatorOffset,              "translatorOffset",             QPointF() },
937       { Sid::translatorFrameType,           "translatorFrameType",          int(FrameType::NO_FRAME) },
938       { Sid::translatorFramePadding,        "translatorFramePadding",       0.2 },
939       { Sid::translatorFrameWidth,          "translatorFrameWidth",         0.1 },
940       { Sid::translatorFrameRound,          "translatorFrameRound",         0 },
941       { Sid::translatorFrameFgColor,        "translatorFrameFgColor",       QColor(0, 0, 0, 255) },
942       { Sid::translatorFrameBgColor,        "translatorFrameBgColor",       QColor(255, 255, 255, 0) },
943 
944       { Sid::systemTextFontFace,            "systemFontFace",               "Edwin" },
945       { Sid::systemTextFontSize,            "systemFontSize",               10.0 },
946       { Sid::systemTextLineSpacing,         "systemTextLineSpacing",        1.0 },
947       { Sid::systemTextFontSpatiumDependent, "systemFontSpatiumDependent",  true },
948       { Sid::systemTextFontStyle,           "systemFontStyle",              int(FontStyle::Normal) },
949       { Sid::systemTextColor,               "systemTextColor",              QColor(0, 0, 0, 255) },
950       { Sid::systemTextAlign,               "systemAlign",                  QVariant::fromValue(Align::LEFT | Align::BASELINE) },
951       { Sid::systemTextOffsetType,          "systemOffsetType",             int(OffsetType::SPATIUM)   },
952       { Sid::systemTextPlacement,           "systemPlacement",              int(Placement::ABOVE) },
953       { Sid::systemTextPosAbove,            "systemPosAbove",               QPointF(.0, -2.0) },
954       { Sid::systemTextPosBelow,            "systemPosBelow",               QPointF(.0, 3.5)  },
955       { Sid::systemTextMinDistance,         "systemMinDistance",            Spatium(0.5)  },
956       { Sid::systemTextFrameType,           "systemFrameType",              int(FrameType::NO_FRAME) },
957       { Sid::systemTextFramePadding,        "systemFramePadding",           0.2 },
958       { Sid::systemTextFrameWidth,          "systemFrameWidth",             0.1 },
959       { Sid::systemTextFrameRound,          "systemFrameRound",             0  },
960       { Sid::systemTextFrameFgColor,        "systemFrameFgColor",           QColor(0, 0, 0, 255) },
961       { Sid::systemTextFrameBgColor,        "systemFrameBgColor",           QColor(255, 255, 255, 0) },
962 
963       { Sid::staffTextFontFace,             "staffFontFace",                "Edwin" },
964       { Sid::staffTextFontSize,             "staffFontSize",                10.0 },
965       { Sid::staffTextLineSpacing,          "staffTextLineSpacing",         1.0 },
966       { Sid::staffTextFontSpatiumDependent, "staffFontSpatiumDependent",    true },
967       { Sid::staffTextFontStyle,            "staffFontStyle",               int(FontStyle::Normal) },
968       { Sid::staffTextColor,                "staffTextColor",               QColor(0, 0, 0, 255) },
969       { Sid::staffTextAlign,                "staffAlign",                   QVariant::fromValue(Align::LEFT | Align::BASELINE) },
970       { Sid::staffTextOffsetType,           "systemOffsetType",             int(OffsetType::SPATIUM)   },
971       { Sid::staffTextPlacement,            "staffPlacement",               int(Placement::ABOVE) },
972       { Sid::staffTextPosAbove,             "staffPosAbove",                QPointF(.0, -1.0) },
973       { Sid::staffTextPosBelow,             "staffPosBelow",                QPointF(.0, 2.5)  },
974       { Sid::staffTextMinDistance,          "staffMinDistance",             Spatium(0.5)  },
975       { Sid::staffTextFrameType,            "staffFrameType",               int(FrameType::NO_FRAME) },
976       { Sid::staffTextFramePadding,         "staffFramePadding",            0.2 },
977       { Sid::staffTextFrameWidth,           "staffFrameWidth",              0.1 },
978       { Sid::staffTextFrameRound,           "staffFrameRound",              0  },
979       { Sid::staffTextFrameFgColor,         "staffFrameFgColor",            QColor(0, 0, 0, 255) },
980       { Sid::staffTextFrameBgColor,         "staffFrameBgColor",            QColor(255, 255, 255, 0) },
981 
982       { Sid::rehearsalMarkFontFace,         "rehearsalMarkFontFace",        "Edwin" },
983       { Sid::rehearsalMarkFontSize,         "rehearsalMarkFontSize",        14.0 },
984       { Sid::rehearsalMarkLineSpacing,      "rehearsalMarkLineSpacing",     1.0 },
985       { Sid::rehearsalMarkFontSpatiumDependent, "rehearsalMarkFontSpatiumDependent", true },
986       { Sid::rehearsalMarkFontStyle,        "rehearsalMarkFontStyle",       int(FontStyle::Bold) },
987       { Sid::rehearsalMarkColor,            "rehearsalMarkColor",           QColor(0, 0, 0, 255) },
988       { Sid::rehearsalMarkAlign,            "rehearsalMarkAlign",           QVariant::fromValue(Align::HCENTER | Align::BASELINE) },
989       { Sid::rehearsalMarkFrameType,        "rehearsalMarkFrameType",       int(FrameType::SQUARE)  },
990       { Sid::rehearsalMarkFramePadding,     "rehearsalMarkFramePadding",    0.5 },
991       { Sid::rehearsalMarkFrameWidth,       "rehearsalMarkFrameWidth",      0.16 },
992       { Sid::rehearsalMarkFrameRound,       "rehearsalMarkFrameRound",      0 },
993       { Sid::rehearsalMarkFrameFgColor,     "rehearsalMarkFrameFgColor",    QColor(0, 0, 0, 255) },
994       { Sid::rehearsalMarkFrameBgColor,     "rehearsalMarkFrameBgColor",    QColor(255, 255, 255, 0) },
995       { Sid::rehearsalMarkPlacement,        "rehearsalMarkPlacement",       int(Placement::ABOVE) },
996       { Sid::rehearsalMarkPosAbove,         "rehearsalMarkPosAbove",        QPointF(.0, -3.0) },
997       { Sid::rehearsalMarkPosBelow,         "rehearsalMarkPosBelow",        QPointF(.0, 4.0) },
998       { Sid::rehearsalMarkMinDistance,      "rehearsalMarkMinDistance",     Spatium(0.5) },
999 
1000       { Sid::repeatLeftFontFace,            "repeatLeftFontFace",           "Edwin" },
1001       { Sid::repeatLeftFontSize,            "repeatLeftFontSize",           18.0 },
1002       { Sid::repeatLeftLineSpacing,         "repeatLeftLineSpacing",        1.0 },
1003       { Sid::repeatLeftFontSpatiumDependent, "repeatLeftFontSpatiumDependent", true },
1004       { Sid::repeatLeftFontStyle,           "repeatLeftFontStyle",          int(FontStyle::Normal) },
1005       { Sid::repeatLeftColor,               "repeatLeftColor",              QColor(0, 0, 0, 255) },
1006       { Sid::repeatLeftAlign,               "repeatLeftAlign",              QVariant::fromValue(Align::LEFT | Align::BASELINE) },
1007       { Sid::repeatLeftPlacement,           "repeatLeftPlacement",          int(Placement::ABOVE) },
1008       { Sid::repeatLeftFrameType,           "repeatLeftFrameType",          int(FrameType::NO_FRAME) },
1009       { Sid::repeatLeftFramePadding,        "repeatLeftFramePadding",       0.2 },
1010       { Sid::repeatLeftFrameWidth,          "repeatLeftFrameWidth",         0.1 },
1011       { Sid::repeatLeftFrameRound,          "repeatLeftFrameRound",         0  },
1012       { Sid::repeatLeftFrameFgColor,        "repeatLeftFrameFgColor",       QColor(0, 0, 0, 255) },
1013       { Sid::repeatLeftFrameBgColor,        "repeatLeftFrameBgColor",       QColor(255, 255, 255, 0) },
1014 
1015       { Sid::repeatRightFontFace,           "repeatRightFontFace",          "Edwin" },
1016       { Sid::repeatRightFontSize,           "repeatRightFontSize",          11.0 },
1017       { Sid::repeatRightLineSpacing,        "repeatRightLineSpacing",       1.0 },
1018       { Sid::repeatRightFontSpatiumDependent, "repeatRightFontSpatiumDependent", true },
1019       { Sid::repeatRightFontStyle,          "repeatRightFontStyle",         int(FontStyle::Normal) },
1020       { Sid::repeatRightColor,              "repeatRightColor",             QColor(0, 0, 0, 255) },
1021       { Sid::repeatRightAlign,              "repeatRightAlign",             QVariant::fromValue(Align::RIGHT | Align::BASELINE) },
1022       { Sid::repeatRightPlacement,          "repeatRightPlacement",         int(Placement::ABOVE) },
1023       { Sid::repeatRightFrameType,          "repeatRightFrameType",         int(FrameType::NO_FRAME) },
1024       { Sid::repeatRightFramePadding,       "repeatRightFramePadding",      0.2 },
1025       { Sid::repeatRightFrameWidth,         "repeatRightFrameWidth",        0.1 },
1026       { Sid::repeatRightFrameRound,         "repeatRightFrameRound",        0  },
1027       { Sid::repeatRightFrameFgColor,       "repeatRightFrameFgColor",      QColor(0, 0, 0, 255) },
1028       { Sid::repeatRightFrameBgColor,       "repeatRightFrameBgColor",      QColor(255, 255, 255, 0) },
1029 
1030       { Sid::frameFontFace,                 "frameFontFace",                "Edwin" },
1031       { Sid::frameFontSize,                 "frameFontSize",                10.0 },
1032       { Sid::frameLineSpacing,              "frameLineSpacing",             1.0 },
1033       { Sid::frameFontSpatiumDependent,     "frameFontSpatiumDependent",    false },
1034       { Sid::frameFontStyle,                "frameFontStyle",               int(FontStyle::Normal) },
1035       { Sid::frameColor,                    "frameColor",                   QColor(0, 0, 0, 255) },
1036       { Sid::frameAlign,                    "frameAlign",                   QVariant::fromValue(Align::LEFT) },
1037       { Sid::frameOffset,                   "frameOffset",                  QPointF() },
1038       { Sid::frameFrameType,                "frameFrameType",               int(FrameType::NO_FRAME) },
1039       { Sid::frameFramePadding,             "frameFramePadding",            0.2 },
1040       { Sid::frameFrameWidth,               "frameFrameWidth",              0.1 },
1041       { Sid::frameFrameRound,               "frameFrameRound",              0  },
1042       { Sid::frameFrameFgColor,             "frameFrameFgColor",            QColor(0, 0, 0, 255) },
1043       { Sid::frameFrameBgColor,             "frameFrameBgColor",            QColor(255, 255, 255, 0) },
1044 
1045       { Sid::textLineFontFace,              "textLineFontFace",             "Edwin" },
1046       { Sid::textLineFontSize,              "textLineFontSize",             10.0 },
1047       { Sid::textLineLineSpacing,           "textLineLineSpacing",          1.0 },
1048       { Sid::textLineFontSpatiumDependent,  "textLineFontSpatiumDependent", true },
1049       { Sid::textLineFontStyle,             "textLineFontStyle",            int(FontStyle::Normal) },
1050       { Sid::textLineColor,                 "textLineColor",                QColor(0, 0, 0, 255) },
1051       { Sid::textLineTextAlign,             "textLineTextAlign",            QVariant::fromValue(Align::LEFT | Align::VCENTER) },
1052       { Sid::textLineSystemFlag,            "textLineSystemFlag",           false },
1053 
1054       { Sid::systemTextLineFontFace,              "systemTextLineFontFace",             "Edwin" },
1055       { Sid::systemTextLineFontSize,              "systemTextLineFontSize",             12.0 },
1056       { Sid::systemTextLineFontSpatiumDependent,  "systemTextLineFontSpatiumDependent", true },
1057       { Sid::systemTextLineFontStyle,             "systemTextLineFontStyle",            int(FontStyle::Normal) },
1058       { Sid::systemTextLineColor,                 "systemTextLineColor",                QColor(0, 0, 0, 255) },
1059       { Sid::systemTextLineTextAlign,             "systemTextLineTextAlign",            QVariant::fromValue(Align::LEFT | Align::VCENTER) },
1060       { Sid::systemTextLineSystemFlag,            "systemTextLineSystemFlag",           true },
1061 
1062       { Sid::glissandoFontFace,             "glissandoFontFace",            "Edwin" },
1063       { Sid::glissandoFontSize,             "glissandoFontSize",            QVariant(8.0) },
1064       { Sid::glissandoLineSpacing,         "glissandoLineSpacing",          1.0 },
1065       { Sid::glissandoFontSpatiumDependent, "glissandoFontSpatiumDependent", true },
1066       { Sid::glissandoFontStyle,            "glissandoFontStyle",           int(FontStyle::Italic) },
1067       { Sid::glissandoColor,                "glissandoColor",               QColor(0, 0, 0, 255) },
1068       { Sid::glissandoAlign,                "glissandoAlign",               QVariant::fromValue(Align::LEFT) },
1069       { Sid::glissandoOffset,               "glissandoOffset",              QPointF() },
1070       { Sid::glissandoFrameType,            "glissandoFrameType",           int(FrameType::NO_FRAME) },
1071       { Sid::glissandoFramePadding,         "glissandoFramePadding",        0.2 },
1072       { Sid::glissandoFrameWidth,           "glissandoFrameWidth",          0.1 },
1073       { Sid::glissandoFrameRound,           "glissandoFrameRound",          0 },
1074       { Sid::glissandoFrameFgColor,         "glissandoFrameFgColor",        QColor(0, 0, 0, 255) },
1075       { Sid::glissandoFrameBgColor,         "glissandoFrameBgColor",        QColor(255, 255, 255, 0) },
1076       { Sid::glissandoLineWidth,            "glissandoLineWidth",           Spatium(0.15) },
1077       { Sid::glissandoText,                 "glissandoText",                QString("gliss.") },
1078 
1079       { Sid::bendFontFace,                  "bendFontFace",                 "Edwin" },
1080       { Sid::bendFontSize,                  "bendFontSize",                 8.0 },
1081       { Sid::bendLineSpacing,               "bendLineSpacing",              1.0 },
1082       { Sid::bendFontSpatiumDependent,      "bendFontSpatiumDependent",     true },
1083       { Sid::bendFontStyle,                 "bendFontStyle",                int(FontStyle::Normal) },
1084       { Sid::bendColor,                     "bendColor",                    QColor(0, 0, 0, 255) },
1085       { Sid::bendAlign,                     "bendAlign",                    QVariant::fromValue(Align::LEFT | Align::BASELINE) },
1086       { Sid::bendOffset,                    "bendOffset",                   QPointF() },
1087       { Sid::bendFrameType,                 "bendFrameType",                int(FrameType::NO_FRAME) },
1088       { Sid::bendFramePadding,              "bendFramePadding",             0.2 },
1089       { Sid::bendFrameWidth,                "bendFrameWidth",               0.1 },
1090       { Sid::bendFrameRound,                "bendFrameRound",               0 },
1091       { Sid::bendFrameFgColor,              "bendFrameFgColor",             QColor(0, 0, 0, 255) },
1092       { Sid::bendFrameBgColor,              "bendFrameBgColor",             QColor(255, 255, 255, 0) },
1093       { Sid::bendLineWidth,                 "bendLineWidth",                Spatium(0.15) },
1094       { Sid::bendArrowWidth,                "bendArrowWidth",               Spatium(.5) },
1095 
1096       { Sid::headerFontFace,                "headerFontFace",               "Edwin" },
1097       { Sid::headerFontSize,                "headerFontSize",               11.0 },
1098       { Sid::headerLineSpacing,             "headerLineSpacing",            1.0 },
1099       { Sid::headerFontSpatiumDependent,    "headerFontSpatiumDependent",   false },
1100       { Sid::headerFontStyle,               "headerFontStyle",              1 },
1101       { Sid::headerColor,                   "headerColor",                  QColor(0, 0, 0, 255) },
1102       { Sid::headerAlign,                   "headerAlign",                  QVariant::fromValue(Align::CENTER | Align::TOP) },
1103       { Sid::headerOffset,                  "headerOffset",                 QPointF() },
1104       { Sid::headerFrameType,               "headerFrameType",              int(FrameType::NO_FRAME) },
1105       { Sid::headerFramePadding,            "headerFramePadding",           0.2 },
1106       { Sid::headerFrameWidth,              "headerFrameWidth",             0.1 },
1107       { Sid::headerFrameRound,              "headerFrameRound",             0  },
1108       { Sid::headerFrameFgColor,            "headerFrameFgColor",           QColor(0, 0, 0, 255) },
1109       { Sid::headerFrameBgColor,            "headerFrameBgColor",           QColor(255, 255, 255, 0) },
1110 
1111       { Sid::footerFontFace,                "footerFontFace",               "Edwin" },
1112       { Sid::footerFontSize,                "footerFontSize",               9.0 },
1113       { Sid::footerLineSpacing,             "footerLineSpacing",            1.0 },
1114       { Sid::footerFontSpatiumDependent,    "footerFontSpatiumDependent",   false },
1115       { Sid::footerFontStyle,               "footerFontStyle",              int(FontStyle::Normal) },
1116       { Sid::footerColor,                   "footerColor",                  QColor(0, 0, 0, 255) },
1117       { Sid::footerAlign,                   "footerAlign",                  QVariant::fromValue(Align::CENTER | Align::BOTTOM) },
1118       { Sid::footerOffset,                  "footerOffset",                 QPointF(0.0, 5.0) },
1119       { Sid::footerFrameType,               "footerFrameType",              int(FrameType::NO_FRAME) },
1120       { Sid::footerFramePadding,            "footerFramePadding",           0.2 },
1121       { Sid::footerFrameWidth,              "footerFrameWidth",             0.1 },
1122       { Sid::footerFrameRound,              "footerFrameRound",             0  },
1123       { Sid::footerFrameFgColor,            "footerFrameFgColor",           QColor(0, 0, 0, 255) },
1124       { Sid::footerFrameBgColor,            "footerFrameBgColor",           QColor(255, 255, 255, 0) },
1125 
1126       { Sid::instrumentChangeFontFace,      "instrumentChangeFontFace",     "Edwin" },
1127       { Sid::instrumentChangeFontSize,      "instrumentChangeFontSize",     10.0 },
1128       { Sid::instrumentChangeLineSpacing,   "instrumentChangeLineSpacing",  1.0 },
1129       { Sid::instrumentChangeFontSpatiumDependent, "instrumentChangeFontSpatiumDependent", true },
1130       { Sid::instrumentChangeFontStyle,     "instrumentChangeFontStyle",    int(FontStyle::Bold) },
1131       { Sid::instrumentChangeColor,         "instrumentChangeColor",        QColor(0, 0, 0, 255) },
1132       { Sid::instrumentChangeAlign,         "instrumentChangeAlign",        QVariant::fromValue(Align::LEFT | Align::BASELINE) },
1133       { Sid::instrumentChangeOffset,        "instrumentChangeOffset",       QPointF() },
1134       { Sid::instrumentChangePlacement,     "instrumentChangePlacement",    int(Placement::ABOVE)  },
1135       { Sid::instrumentChangePosAbove,      "instrumentChangePosAbove",     QPointF(.0, -2.0) },
1136       { Sid::instrumentChangePosBelow,      "instrumentChangePosBelow",     QPointF(.0, 3.5)  },
1137       { Sid::instrumentChangeMinDistance,   "instrumentChangeMinDistance",  Spatium(0.5)  },
1138       { Sid::instrumentChangeFrameType,     "instrumentChangeFrameType",    int(FrameType::NO_FRAME) },
1139       { Sid::instrumentChangeFramePadding,  "instrumentChangeFramePadding", 0.2 },
1140       { Sid::instrumentChangeFrameWidth,    "instrumentChangeFrameWidth",   0.1 },
1141       { Sid::instrumentChangeFrameRound,    "instrumentChangeFrameRound",   0 },
1142       { Sid::instrumentChangeFrameFgColor,  "instrumentChangeFrameFgColor", QColor(0, 0, 0, 255) },
1143       { Sid::instrumentChangeFrameBgColor,  "instrumentChangeFrameBgColor", QColor(255, 255, 255, 0) },
1144 
1145       { Sid::stickingFontFace,              "stickingFontFace",     "Edwin" },
1146       { Sid::stickingFontSize,              "stickingFontSize",     10.0 },
1147       { Sid::stickingLineSpacing,           "stickingLineSpacing",  1.0 },
1148       { Sid::stickingFontSpatiumDependent,  "stickingFontSpatiumDependent", true },
1149       { Sid::stickingFontStyle,             "stickingFontStyle",    int(FontStyle::Normal) },
1150       { Sid::stickingColor,                 "stickingColor",        QColor(0, 0, 0, 255) },
1151       { Sid::stickingAlign,                 "stickingAlign",        QVariant::fromValue(Align::LEFT | Align::BASELINE) },
1152       { Sid::stickingOffset,                "stickingOffset",       QPointF() },
1153       { Sid::stickingPlacement,             "stickingPlacement",    int(Placement::BELOW)  },
1154       { Sid::stickingPosAbove,              "stickingPosAbove",     QPointF(.0, -2.0) },
1155       { Sid::stickingPosBelow,              "stickingPosBelow",     QPointF(.0, 2.0)  },
1156       { Sid::stickingMinDistance,           "stickingMinDistance",  Spatium(0.5)  },
1157       { Sid::stickingFrameType,             "stickingFrameType",    int(FrameType::NO_FRAME) },
1158       { Sid::stickingFramePadding,          "stickingFramePadding", 0.2 },
1159       { Sid::stickingFrameWidth,            "stickingFrameWidth",   0.1 },
1160       { Sid::stickingFrameRound,            "stickingFrameRound",   0 },
1161       { Sid::stickingFrameFgColor,          "stickingFrameFgColor", QColor(0, 0, 0, 255) },
1162       { Sid::stickingFrameBgColor,          "stickingFrameBgColor", QColor(255, 255, 255, 0) },
1163 
1164       { Sid::figuredBassFontFace,           "figuredBassFontFace",          "MScoreBC" },
1165       { Sid::figuredBassFontSize,           "figuredBassFontSize",          8.0 },
1166       { Sid::figuredBassLineSpacing,        "figuredBassLineSpacing",       1.0 },
1167       { Sid::figuredBassFontSpatiumDependent, "figuredBassFontSpatiumDependent", true },
1168       { Sid::figuredBassFontStyle,          "figuredBassFontStyle",         int(FontStyle::Normal) },
1169       { Sid::figuredBassColor,              "figuredBassColor",             QColor(0, 0, 0, 255) },
1170 
1171       { Sid::user1Name,                     "user1Name",                    "" },
1172       { Sid::user1FontFace,                 "user1FontFace",                "Edwin" },
1173       { Sid::user1FontSize,                 "user1FontSize",                10.0 },
1174       { Sid::user1LineSpacing,              "user1LineSpacing",             1.0 },
1175       { Sid::user1FontSpatiumDependent,     "user1FontSpatiumDependent",    true },
1176       { Sid::user1FontStyle,                "user1FontStyle",               int(FontStyle::Normal) },
1177       { Sid::user1Color,                    "user1Color",                   QColor(0, 0, 0, 255) },
1178       { Sid::user1Align,                    "user1Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1179       { Sid::user1Offset,                   "user1Offset",                  QPointF() },
1180       { Sid::user1OffsetType,               "user1OffsetType",              int(OffsetType::SPATIUM)    },
1181       { Sid::user1FrameType,                "user1FrameType",               int(FrameType::NO_FRAME) },
1182       { Sid::user1FramePadding,             "user1FramePadding",            0.2 },
1183       { Sid::user1FrameWidth,               "user1FrameWidth",              0.1 },
1184       { Sid::user1FrameRound,               "user1FrameRound",              0 },
1185       { Sid::user1FrameFgColor,             "user1FrameFgColor",            QColor(0, 0, 0, 255) },
1186       { Sid::user1FrameBgColor,             "user1FrameBgColor",            QColor(255, 255, 255, 0) },
1187 
1188       { Sid::user2Name,                     "user2Name",                    "" },
1189       { Sid::user2FontFace,                 "user2FontFace",                "Edwin" },
1190       { Sid::user2FontSize,                 "user2FontSize",                10.0 },
1191       { Sid::user2LineSpacing,              "user2LineSpacing",             1.0 },
1192       { Sid::user2FontSpatiumDependent,     "user2FontSpatiumDependent",    true },
1193       { Sid::user2FontStyle,                "user2FontStyle",               int(FontStyle::Normal) },
1194       { Sid::user2Color,                    "user2Color",                   QColor(0, 0, 0, 255) },
1195       { Sid::user2Align,                    "user2Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1196       { Sid::user2Offset,                   "user2Offset",                  QPointF() },
1197       { Sid::user2OffsetType,               "user2OffsetType",              int(OffsetType::SPATIUM)    },
1198       { Sid::user2FrameType,                "user2FrameType",               int(FrameType::NO_FRAME) },
1199       { Sid::user2FramePadding,             "user2FramePadding",            0.2 },
1200       { Sid::user2FrameWidth,               "user2FrameWidth",              0.1 },
1201       { Sid::user2FrameRound,               "user2FrameRound",              0 },
1202       { Sid::user2FrameFgColor,             "user2FrameFgColor",            QColor(0, 0, 0, 255) },
1203       { Sid::user2FrameBgColor,             "user2FrameBgColor",            QColor(255, 255, 255, 0) },
1204 
1205       { Sid::user3Name,                     "user3Name",                    "" },
1206       { Sid::user3FontFace,                 "user3FontFace",                "Edwin" },
1207       { Sid::user3FontSize,                 "user3FontSize",                10.0 },
1208       { Sid::user3LineSpacing,              "user3LineSpacing",             1.0 },
1209       { Sid::user3FontSpatiumDependent,     "user3FontSpatiumDependent",    true },
1210       { Sid::user3FontStyle,                "user3FontStyle",               int(FontStyle::Normal) },
1211       { Sid::user3Color,                    "user3Color",                   QColor(0, 0, 0, 255) },
1212       { Sid::user3Align,                    "user3Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1213       { Sid::user3Offset,                   "user3Offset",                  QPointF() },
1214       { Sid::user3OffsetType,               "user3OffsetType",              int(OffsetType::SPATIUM)    },
1215       { Sid::user3FrameType,                "user3FrameType",               int(FrameType::NO_FRAME) },
1216       { Sid::user3FramePadding,             "user3FramePadding",            0.2 },
1217       { Sid::user3FrameWidth,               "user3FrameWidth",              0.1 },
1218       { Sid::user3FrameRound,               "user3FrameRound",              0 },
1219       { Sid::user3FrameFgColor,             "user3FrameFgColor",            QColor(0, 0, 0, 255) },
1220       { Sid::user3FrameBgColor,             "user3FrameBgColor",            QColor(255, 255, 255, 0) },
1221 
1222       { Sid::user4Name,                     "user4Name",                    "" },
1223       { Sid::user4FontFace,                 "user4FontFace",                "Edwin" },
1224       { Sid::user4FontSize,                 "user4FontSize",                10.0 },
1225       { Sid::user4LineSpacing,              "user4LineSpacing",             1.0 },
1226       { Sid::user4FontSpatiumDependent,     "user4FontSpatiumDependent",    true },
1227       { Sid::user4FontStyle,                "user4FontStyle",               int(FontStyle::Normal) },
1228       { Sid::user4Color,                    "user4Color",                   QColor(0, 0, 0, 255) },
1229       { Sid::user4Align,                    "user4Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1230       { Sid::user4Offset,                   "user4Offset",                  QPointF() },
1231       { Sid::user4OffsetType,               "user4OffsetType",              int(OffsetType::SPATIUM)    },
1232       { Sid::user4FrameType,                "user4FrameType",               int(FrameType::NO_FRAME) },
1233       { Sid::user4FramePadding,             "user4FramePadding",            0.2 },
1234       { Sid::user4FrameWidth,               "user4FrameWidth",              0.1 },
1235       { Sid::user4FrameRound,               "user4FrameRound",              0 },
1236       { Sid::user4FrameFgColor,             "user4FrameFgColor",            QColor(0, 0, 0, 255) },
1237       { Sid::user4FrameBgColor,             "user4FrameBgColor",            QColor(255, 255, 255, 0) },
1238 
1239       { Sid::user5Name,                     "user5Name",                    "" },
1240       { Sid::user5FontFace,                 "user5FontFace",                "Edwin" },
1241       { Sid::user5FontSize,                 "user5FontSize",                10.0 },
1242       { Sid::user5LineSpacing,              "user5LineSpacing",             1.0 },
1243       { Sid::user5FontSpatiumDependent,     "user5FontSpatiumDependent",    true },
1244       { Sid::user5FontStyle,                "user5FontStyle",               int(FontStyle::Normal) },
1245       { Sid::user5Color,                    "user5Color",                   QColor(0, 0, 0, 255) },
1246       { Sid::user5Align,                    "user5Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1247       { Sid::user5Offset,                   "user5Offset",                  QPointF() },
1248       { Sid::user5OffsetType,               "user5OffsetType",              int(OffsetType::SPATIUM)    },
1249       { Sid::user5FrameType,                "user5FrameType",               int(FrameType::NO_FRAME) },
1250       { Sid::user5FramePadding,             "user5FramePadding",            0.2 },
1251       { Sid::user5FrameWidth,               "user5FrameWidth",              0.1 },
1252       { Sid::user5FrameRound,               "user5FrameRound",              0 },
1253       { Sid::user5FrameFgColor,             "user5FrameFgColor",            QColor(0, 0, 0, 255) },
1254       { Sid::user5FrameBgColor,             "user5FrameBgColor",            QColor(255, 255, 255, 0) },
1255 
1256       { Sid::user6Name,                     "user6Name",                    "" },
1257       { Sid::user6FontFace,                 "user6FontFace",                "Edwin" },
1258       { Sid::user6FontSize,                 "user6FontSize",                10.0 },
1259       { Sid::user6LineSpacing,              "user6LineSpacing",             1.0 },
1260       { Sid::user6FontSpatiumDependent,     "user6FontSpatiumDependent",    true },
1261       { Sid::user6FontStyle,                "user6FontStyle",               int(FontStyle::Normal) },
1262       { Sid::user6Color,                    "user6Color",                   QColor(0, 0, 0, 255) },
1263       { Sid::user6Align,                    "user6Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1264       { Sid::user6Offset,                   "user6Offset",                  QPointF() },
1265       { Sid::user6OffsetType,               "user6OffsetType",              int(OffsetType::SPATIUM)    },
1266       { Sid::user6FrameType,                "user6FrameType",               int(FrameType::NO_FRAME) },
1267       { Sid::user6FramePadding,             "user6FramePadding",            0.2 },
1268       { Sid::user6FrameWidth,               "user6FrameWidth",              0.1 },
1269       { Sid::user6FrameRound,               "user6FrameRound",              0 },
1270       { Sid::user6FrameFgColor,             "user6FrameFgColor",            QColor(0, 0, 0, 255) },
1271       { Sid::user6FrameBgColor,             "user6FrameBgColor",            QColor(255, 255, 255, 0) },
1272 
1273       { Sid::user7Name,                     "user7Name",                    "" },
1274       { Sid::user7FontFace,                 "user7FontFace",                "Edwin" },
1275       { Sid::user7FontSize,                 "user7FontSize",                10.0 },
1276       { Sid::user7LineSpacing,              "user7LineSpacing",             1.0 },
1277       { Sid::user7FontSpatiumDependent,     "user7FontSpatiumDependent",    true },
1278       { Sid::user7FontStyle,                "user7FontStyle",               int(FontStyle::Normal) },
1279       { Sid::user7Color,                    "user7Color",                   QColor(0, 0, 0, 255) },
1280       { Sid::user7Align,                    "user7Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1281       { Sid::user7Offset,                   "user7Offset",                  QPointF() },
1282       { Sid::user7OffsetType,               "user7OffsetType",              int(OffsetType::SPATIUM)    },
1283       { Sid::user7FrameType,                "user7FrameType",               int(FrameType::NO_FRAME) },
1284       { Sid::user7FramePadding,             "user7FramePadding",            0.2 },
1285       { Sid::user7FrameWidth,               "user7FrameWidth",              0.1 },
1286       { Sid::user7FrameRound,               "user7FrameRound",              0 },
1287       { Sid::user7FrameFgColor,             "user7FrameFgColor",            QColor(0, 0, 0, 255) },
1288       { Sid::user7FrameBgColor,             "user7FrameBgColor",            QColor(255, 255, 255, 0) },
1289 
1290       { Sid::user8Name,                     "user8Name",                    "" },
1291       { Sid::user8FontFace,                 "user8FontFace",                "Edwin" },
1292       { Sid::user8FontSize,                 "user8FontSize",                10.0 },
1293       { Sid::user8LineSpacing,              "user8LineSpacing",             1.0 },
1294       { Sid::user8FontSpatiumDependent,     "user8FontSpatiumDependent",    true },
1295       { Sid::user8FontStyle,                "user8FontStyle",               int(FontStyle::Normal) },
1296       { Sid::user8Color,                    "user8Color",                   QColor(0, 0, 0, 255) },
1297       { Sid::user8Align,                    "user8Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1298       { Sid::user8Offset,                   "user8Offset",                  QPointF() },
1299       { Sid::user8OffsetType,               "user8OffsetType",              int(OffsetType::SPATIUM)    },
1300       { Sid::user8FrameType,                "user8FrameType",               int(FrameType::NO_FRAME) },
1301       { Sid::user8FramePadding,             "user8FramePadding",            0.2 },
1302       { Sid::user8FrameWidth,               "user8FrameWidth",              0.1 },
1303       { Sid::user8FrameRound,               "user8FrameRound",              0 },
1304       { Sid::user8FrameFgColor,             "user8FrameFgColor",            QColor(0, 0, 0, 255) },
1305       { Sid::user8FrameBgColor,             "user8FrameBgColor",            QColor(255, 255, 255, 0) },
1306 
1307       { Sid::user9Name,                     "user9Name",                    "" },
1308       { Sid::user9FontFace,                 "user9FontFace",                "Edwin" },
1309       { Sid::user9FontSize,                 "user9FontSize",                10.0 },
1310       { Sid::user9LineSpacing,              "user9LineSpacing",             1.0 },
1311       { Sid::user9FontSpatiumDependent,     "user9FontSpatiumDependent",    true },
1312       { Sid::user9FontStyle,                "user9FontStyle",               int(FontStyle::Normal) },
1313       { Sid::user9Color,                    "user9Color",                   QColor(0, 0, 0, 255) },
1314       { Sid::user9Align,                    "user9Align",                   QVariant::fromValue(Align::LEFT | Align::TOP) },
1315       { Sid::user9Offset,                   "user9Offset",                  QPointF() },
1316       { Sid::user9OffsetType,               "user9OffsetType",              int(OffsetType::SPATIUM)    },
1317       { Sid::user9FrameType,                "user9FrameType",               int(FrameType::NO_FRAME) },
1318       { Sid::user9FramePadding,             "user9FramePadding",            0.2 },
1319       { Sid::user9FrameWidth,               "user9FrameWidth",              0.1 },
1320       { Sid::user9FrameRound,               "user9FrameRound",              0 },
1321       { Sid::user9FrameFgColor,             "user9FrameFgColor",            QColor(0, 0, 0, 255) },
1322       { Sid::user9FrameBgColor,             "user9FrameBgColor",            QColor(255, 255, 255, 0) },
1323 
1324       { Sid::user10Name,                    "user10Name",                   "" },
1325       { Sid::user10FontFace,                "user10FontFace",               "Edwin" },
1326       { Sid::user10FontSize,                "user10FontSize",               10.0 },
1327       { Sid::user10LineSpacing,             "user10LineSpacing",            1.0 },
1328       { Sid::user10FontSpatiumDependent,    "user10FontSpatiumDependent",   true },
1329       { Sid::user10FontStyle,               "user10FontStyle",              int(FontStyle::Normal) },
1330       { Sid::user10Color,                   "user10Color",                  QColor(0, 0, 0, 255) },
1331       { Sid::user10Align,                   "user10Align",                  QVariant::fromValue(Align::LEFT | Align::TOP) },
1332       { Sid::user10Offset,                  "user10Offset",                 QPointF() },
1333       { Sid::user10OffsetType,              "user10OffsetType",             int(OffsetType::SPATIUM)    },
1334       { Sid::user10FrameType,               "user10FrameType",              int(FrameType::NO_FRAME) },
1335       { Sid::user10FramePadding,            "user10FramePadding",           0.2 },
1336       { Sid::user10FrameWidth,              "user10FrameWidth",             0.1 },
1337       { Sid::user10FrameRound,              "user10FrameRound",             0 },
1338       { Sid::user10FrameFgColor,            "user10FrameFgColor",           QColor(0, 0, 0, 255) },
1339       { Sid::user10FrameBgColor,            "user10FrameBgColor",           QColor(255, 255, 255, 0) },
1340 
1341       { Sid::user11Name,                    "user11Name",                   "" },
1342       { Sid::user11FontFace,                "user11FontFace",               "Edwin" },
1343       { Sid::user11FontSize,                "user11FontSize",               10.0 },
1344       { Sid::user11LineSpacing,             "user11LineSpacing",            1.0 },
1345       { Sid::user11FontSpatiumDependent,    "user11FontSpatiumDependent",   true },
1346       { Sid::user11FontStyle,               "user11FontStyle",              int(FontStyle::Normal) },
1347       { Sid::user11Color,                   "user11Color",                  QColor(0, 0, 0, 255) },
1348       { Sid::user11Align,                   "user11Align",                  QVariant::fromValue(Align::LEFT | Align::TOP) },
1349       { Sid::user11Offset,                  "user11Offset",                 QPointF() },
1350       { Sid::user11OffsetType,              "user11OffsetType",             int(OffsetType::SPATIUM)    },
1351       { Sid::user11FrameType,               "user11FrameType",              int(FrameType::NO_FRAME) },
1352       { Sid::user11FramePadding,            "user11FramePadding",           0.2 },
1353       { Sid::user11FrameWidth,              "user11FrameWidth",             0.1 },
1354       { Sid::user11FrameRound,              "user11FrameRound",             0 },
1355       { Sid::user11FrameFgColor,            "user11FrameFgColor",           QColor(0, 0, 0, 255) },
1356       { Sid::user11FrameBgColor,            "user11FrameBgColor",           QColor(255, 255, 255, 0) },
1357 
1358       { Sid::user12Name,                    "user12Name",                   "" },
1359       { Sid::user12FontFace,                "user12FontFace",               "Edwin" },
1360       { Sid::user12FontSize,                "user12FontSize",               10.0 },
1361       { Sid::user12LineSpacing,             "user12LineSpacing",            1.0 },
1362       { Sid::user12FontSpatiumDependent,    "user12FontSpatiumDependent",   true },
1363       { Sid::user12FontStyle,               "user12FontStyle",              int(FontStyle::Normal) },
1364       { Sid::user12Color,                   "user12Color",                  QColor(0, 0, 0, 255) },
1365       { Sid::user12Align,                   "user12Align",                  QVariant::fromValue(Align::LEFT | Align::TOP) },
1366       { Sid::user12Offset,                  "user12Offset",                 QPointF() },
1367       { Sid::user12OffsetType,              "user12OffsetType",             int(OffsetType::SPATIUM)    },
1368       { Sid::user12FrameType,               "user12FrameType",              int(FrameType::NO_FRAME) },
1369       { Sid::user12FramePadding,            "user12FramePadding",           0.2 },
1370       { Sid::user12FrameWidth,              "user12FrameWidth",             0.1 },
1371       { Sid::user12FrameRound,              "user12FrameRound",             0 },
1372       { Sid::user12FrameFgColor,            "user12FrameFgColor",           QColor(0, 0, 0, 255) },
1373       { Sid::user12FrameBgColor,            "user12FrameBgColor",           QColor(255, 255, 255, 0) },
1374 
1375       { Sid::letRingFontFace,               "letRingFontFace",              "Edwin" },
1376       { Sid::letRingFontSize,               "letRingFontSize",              10.0 },
1377       { Sid::letRingLineSpacing,            "letRingLineSpacing",           1.0 },
1378       { Sid::letRingFontSpatiumDependent,   "letRingFontSpatiumDependent",  true },
1379       { Sid::letRingFontStyle,              "letRingFontStyle",             int(FontStyle::Normal) },
1380       { Sid::letRingColor,                  "letRingColor",                 QColor(0, 0, 0, 255) },
1381       { Sid::letRingTextAlign,              "letRingTextAlign",             QVariant::fromValue(Align::LEFT | Align::VCENTER) },
1382       { Sid::letRingHookHeight,             "letRingHookHeight",            Spatium(0.6) },
1383       { Sid::letRingPlacement,              "letRingPlacement",             int(Placement::BELOW)  },
1384       { Sid::letRingPosAbove,               "letRingPosAbove",              QPointF(.0, 0.0) },
1385       { Sid::letRingPosBelow,               "letRingPosBelow",              QPointF(.0, 0.0)  },
1386       { Sid::letRingLineWidth,              "letRingLineWidth",             Spatium(0.15) },
1387       { Sid::letRingLineStyle,              "letRingLineStyle",             QVariant(int(Qt::DashLine)) },
1388       { Sid::letRingBeginTextOffset,        "letRingBeginTextOffset",       QPointF(0.0, 0.15) },
1389       { Sid::letRingText,                   "letRingText",                  "let ring" },
1390       { Sid::letRingFrameType,              "letRingFrameType",             int(FrameType::NO_FRAME) },
1391       { Sid::letRingFramePadding,           "letRingFramePadding",          0.2 },
1392       { Sid::letRingFrameWidth,             "letRingFrameWidth",            0.1 },
1393       { Sid::letRingFrameRound,             "letRingFrameRound",            0 },
1394       { Sid::letRingFrameFgColor,           "letRingFrameFgColor",          QColor(0, 0, 0, 255) },
1395       { Sid::letRingFrameBgColor,           "letRingFrameBgColor",          QColor(255, 255, 255, 0) },
1396       { Sid::letRingEndHookType,            "letRingEndHookType",           int(HookType::HOOK_90T) },
1397 
1398       { Sid::palmMuteFontFace,              "palmMuteFontFace",              "Edwin" },
1399       { Sid::palmMuteFontSize,              "palmMuteFontSize",              10.0 },
1400       { Sid::palmMuteLineSpacing,           "palmMuteLineSpacing",           1.0 },
1401       { Sid::palmMuteFontSpatiumDependent,  "palmMuteFontSpatiumDependent",  true },
1402       { Sid::palmMuteFontStyle,             "palmMuteFontStyle",             int(FontStyle::Normal) },
1403       { Sid::palmMuteColor,                 "palmMuteColor",                 QColor(0, 0, 0, 255) },
1404       { Sid::palmMuteTextAlign,             "palmMuteTextAlign",             QVariant::fromValue(Align::LEFT | Align::VCENTER) },
1405       { Sid::palmMuteHookHeight,            "palmMuteHookHeight",            Spatium(0.6) },
1406       { Sid::palmMutePlacement,             "palmMutePlacement",             int(Placement::BELOW)  },
1407       { Sid::palmMutePosAbove,              "palmMutePosAbove",              QPointF(.0, -4.0) },
1408       { Sid::palmMutePosBelow,              "palmMutePosBelow",              QPointF(.0, 4.0)  },
1409       { Sid::palmMuteLineWidth,             "palmMuteLineWidth",             Spatium(0.15) },
1410       { Sid::palmMuteLineStyle,             "palmMuteLineStyle",             QVariant(int(Qt::DashLine)) },
1411       { Sid::palmMuteBeginTextOffset,       "palmMuteBeginTextOffset",       QPointF(0.0, 0.15) },
1412       { Sid::palmMuteText,                  "palmMuteText",                  "P.M." },
1413       { Sid::palmMuteFrameType,             "palmMuteFrameType",             int(FrameType::NO_FRAME) },
1414       { Sid::palmMuteFramePadding,          "palmMuteFramePadding",          0.2 },
1415       { Sid::palmMuteFrameWidth,            "palmMuteFrameWidth",            0.1 },
1416       { Sid::palmMuteFrameRound,            "palmMuteFrameRound",            0 },
1417       { Sid::palmMuteFrameFgColor,          "palmMuteFrameFgColor",          QColor(0, 0, 0, 255) },
1418       { Sid::palmMuteFrameBgColor,          "palmMuteFrameBgColor",          QColor(255, 255, 255, 0) },
1419       { Sid::palmMuteEndHookType,           "palmMuteEndHookType",           int(HookType::HOOK_90T) },
1420 
1421       { Sid::fermataPosAbove,               "fermataPosAbove",               QPointF(.0, -0.5) },
1422       { Sid::fermataPosBelow,               "fermataPosBelow",               QPointF(.0, 0.5)  },
1423       { Sid::fermataMinDistance,            "fermataMinDistance",            Spatium(0.4)  },
1424 
1425       { Sid::fingeringPlacement,            "fingeringPlacement",            int(Placement::ABOVE) },
1426 
1427       { Sid::articulationMinDistance,       "articulationMinDistance",       Spatium(0.5)  },
1428       { Sid::fingeringMinDistance,          "fingeringMinDistance",          Spatium(0.5)  },
1429       { Sid::hairpinMinDistance,            "hairpinMinDistance",            Spatium(0.7)  },
1430       { Sid::letRingMinDistance,            "letRingMinDistance",            Spatium(0.7)  },
1431       { Sid::ottavaMinDistance,             "ottavaMinDistance",             Spatium(0.7)  },
1432       { Sid::palmMuteMinDistance,           "palmMuteMinDistance",           Spatium(0.7)  },
1433       { Sid::pedalMinDistance,              "pedalMinDistance",              Spatium(0.7)  },
1434       { Sid::repeatMinDistance,             "repeatMinDistance",             Spatium(0.5)  },
1435       { Sid::textLineMinDistance,           "textLineMinDistance",           Spatium(0.7)  },
1436       { Sid::systemTextLineMinDistance,     "systemTextLineMinDistance",     Spatium(0.7)  },
1437       { Sid::trillMinDistance,              "trillMinDistance",              Spatium(0.5)  },
1438       { Sid::vibratoMinDistance,            "vibratoMinDistance",            Spatium(1.0)  },
1439       { Sid::voltaMinDistance,              "voltaMinDistance",              Spatium(1.0)  },
1440       { Sid::figuredBassMinDistance,        "figuredBassMinDistance",        Spatium(0.5)  },
1441       { Sid::tupletMinDistance,             "tupletMinDistance",             Spatium(0.5)  },
1442 
1443       { Sid::autoplaceEnabled,              "autoplaceEnabled",              true },
1444       { Sid::usePre_3_6_defaults,           "usePre_3_6_defaults",           false},
1445       { Sid::defaultsVersion,               "defaultsVersion",               Ms::MSCVERSION}
1446       };
1447 
1448 MStyle  MScore::_baseStyle;
1449 MStyle  MScore::_defaultStyle;
1450 
1451 //---------------------------------------------------------
1452 //   text styles
1453 //---------------------------------------------------------
1454 
1455 const TextStyle defaultTextStyle {{
1456       { Sid::defaultFontFace,                    Pid::FONT_FACE              },
1457       { Sid::defaultFontSize,                    Pid::FONT_SIZE              },
1458       { Sid::defaultLineSpacing,                 Pid::TEXT_LINE_SPACING      },
1459       { Sid::defaultFontSpatiumDependent,        Pid::SIZE_SPATIUM_DEPENDENT },
1460       { Sid::defaultFontStyle,                   Pid::FONT_STYLE             },
1461       { Sid::defaultColor,                       Pid::COLOR                  },
1462       { Sid::defaultAlign,                       Pid::ALIGN                  },
1463       { Sid::defaultOffset,                      Pid::OFFSET                 },
1464       { Sid::defaultFrameType,                   Pid::FRAME_TYPE             },
1465       { Sid::defaultFramePadding,                Pid::FRAME_PADDING          },
1466       { Sid::defaultFrameWidth,                  Pid::FRAME_WIDTH            },
1467       { Sid::defaultFrameRound,                  Pid::FRAME_ROUND            },
1468       { Sid::defaultFrameFgColor,                Pid::FRAME_FG_COLOR         },
1469       { Sid::defaultFrameBgColor,                Pid::FRAME_BG_COLOR         },
1470       }};
1471 
1472 const TextStyle titleTextStyle {{
1473       { Sid::titleFontFace,                      Pid::FONT_FACE              },
1474       { Sid::titleFontSize,                      Pid::FONT_SIZE              },
1475       { Sid::titleLineSpacing,                   Pid::TEXT_LINE_SPACING      },
1476       { Sid::titleFontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
1477       { Sid::titleFontStyle,                     Pid::FONT_STYLE             },
1478       { Sid::titleColor,                         Pid::COLOR                  },
1479       { Sid::titleAlign,                         Pid::ALIGN                  },
1480       { Sid::titleOffset,                        Pid::OFFSET                 },
1481       { Sid::titleFrameType,                     Pid::FRAME_TYPE             },
1482       { Sid::titleFramePadding,                  Pid::FRAME_PADDING          },
1483       { Sid::titleFrameWidth,                    Pid::FRAME_WIDTH            },
1484       { Sid::titleFrameRound,                    Pid::FRAME_ROUND            },
1485       { Sid::titleFrameFgColor,                  Pid::FRAME_FG_COLOR         },
1486       { Sid::titleFrameBgColor,                  Pid::FRAME_BG_COLOR         },
1487 
1488       }};
1489 
1490 const TextStyle subTitleTextStyle {{
1491       { Sid::subTitleFontFace,                   Pid::FONT_FACE              },
1492       { Sid::subTitleFontSize,                   Pid::FONT_SIZE              },
1493       { Sid::subTitleLineSpacing,                Pid::TEXT_LINE_SPACING      },
1494       { Sid::subTitleFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
1495       { Sid::subTitleFontStyle,                  Pid::FONT_STYLE             },
1496       { Sid::subTitleColor,                      Pid::COLOR                  },
1497       { Sid::subTitleAlign,                      Pid::ALIGN                  },
1498       { Sid::subTitleOffset,                     Pid::OFFSET                 },
1499       { Sid::subTitleFrameType,                  Pid::FRAME_TYPE             },
1500       { Sid::subTitleFramePadding,               Pid::FRAME_PADDING          },
1501       { Sid::subTitleFrameWidth,                 Pid::FRAME_WIDTH            },
1502       { Sid::subTitleFrameRound,                 Pid::FRAME_ROUND            },
1503       { Sid::subTitleFrameFgColor,               Pid::FRAME_FG_COLOR         },
1504       { Sid::subTitleFrameBgColor,               Pid::FRAME_BG_COLOR         },
1505       }};
1506 
1507 const TextStyle composerTextStyle {{
1508       { Sid::composerFontFace,                   Pid::FONT_FACE              },
1509       { Sid::composerFontSize,                   Pid::FONT_SIZE              },
1510       { Sid::composerLineSpacing,                Pid::TEXT_LINE_SPACING      },
1511       { Sid::composerFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
1512       { Sid::composerFontStyle,                  Pid::FONT_STYLE             },
1513       { Sid::composerColor,                      Pid::COLOR                  },
1514       { Sid::composerAlign,                      Pid::ALIGN                  },
1515       { Sid::composerOffset,                     Pid::OFFSET                 },
1516       { Sid::composerFrameType,                  Pid::FRAME_TYPE             },
1517       { Sid::composerFramePadding,               Pid::FRAME_PADDING          },
1518       { Sid::composerFrameWidth,                 Pid::FRAME_WIDTH            },
1519       { Sid::composerFrameRound,                 Pid::FRAME_ROUND            },
1520       { Sid::composerFrameFgColor,               Pid::FRAME_FG_COLOR         },
1521       { Sid::composerFrameBgColor,               Pid::FRAME_BG_COLOR         },
1522       }};
1523 
1524 const TextStyle lyricistTextStyle {{
1525       { Sid::lyricistFontFace,                   Pid::FONT_FACE              },
1526       { Sid::lyricistFontSize,                   Pid::FONT_SIZE              },
1527       { Sid::lyricistLineSpacing,                Pid::TEXT_LINE_SPACING      },
1528       { Sid::lyricistFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
1529       { Sid::lyricistFontStyle,                  Pid::FONT_STYLE             },
1530       { Sid::lyricistColor,                      Pid::COLOR                  },
1531       { Sid::lyricistAlign,                      Pid::ALIGN                  },
1532       { Sid::lyricistOffset,                     Pid::OFFSET                 },
1533       { Sid::lyricistFrameType,                  Pid::FRAME_TYPE             },
1534       { Sid::lyricistFramePadding,               Pid::FRAME_PADDING          },
1535       { Sid::lyricistFrameWidth,                 Pid::FRAME_WIDTH            },
1536       { Sid::lyricistFrameRound,                 Pid::FRAME_ROUND            },
1537       { Sid::lyricistFrameFgColor,               Pid::FRAME_FG_COLOR         },
1538       { Sid::lyricistFrameBgColor,               Pid::FRAME_BG_COLOR         },
1539       }};
1540 
1541 const TextStyle lyricsEvenTextStyle {{
1542       { Sid::lyricsEvenFontFace,                 Pid::FONT_FACE              },
1543       { Sid::lyricsEvenFontSize,                 Pid::FONT_SIZE              },
1544       { Sid::lyricsEvenLineSpacing,              Pid::TEXT_LINE_SPACING      },
1545       { Sid::lyricsEvenFontSpatiumDependent,     Pid::SIZE_SPATIUM_DEPENDENT },
1546       { Sid::lyricsEvenFontStyle,                Pid::FONT_STYLE             },
1547       { Sid::lyricsEvenColor,                    Pid::COLOR                  },
1548       { Sid::lyricsEvenAlign,                    Pid::ALIGN                  },
1549       { Sid::lyricsPosBelow,                     Pid::OFFSET                 },
1550       { Sid::lyricsEvenFrameType,                Pid::FRAME_TYPE             },
1551       { Sid::lyricsEvenFramePadding,             Pid::FRAME_PADDING          },
1552       { Sid::lyricsEvenFrameWidth,               Pid::FRAME_WIDTH            },
1553       { Sid::lyricsEvenFrameRound,               Pid::FRAME_ROUND            },
1554       { Sid::lyricsEvenFrameFgColor,             Pid::FRAME_FG_COLOR         },
1555       { Sid::lyricsEvenFrameBgColor,             Pid::FRAME_BG_COLOR         },
1556       }};
1557 
1558 const TextStyle lyricsOddTextStyle {{
1559       { Sid::lyricsOddFontFace,                  Pid::FONT_FACE              },
1560       { Sid::lyricsOddFontSize,                  Pid::FONT_SIZE              },
1561       { Sid::lyricsOddLineSpacing,               Pid::TEXT_LINE_SPACING      },
1562       { Sid::lyricsOddFontSpatiumDependent,      Pid::SIZE_SPATIUM_DEPENDENT },
1563       { Sid::lyricsOddFontStyle,                 Pid::FONT_STYLE             },
1564       { Sid::lyricsOddColor,                     Pid::COLOR                  },
1565       { Sid::lyricsOddAlign,                     Pid::ALIGN                  },
1566       { Sid::lyricsPosBelow,                     Pid::OFFSET                 },
1567       { Sid::lyricsOddFrameType,                 Pid::FRAME_TYPE             },
1568       { Sid::lyricsOddFramePadding,              Pid::FRAME_PADDING          },
1569       { Sid::lyricsOddFrameWidth,                Pid::FRAME_WIDTH            },
1570       { Sid::lyricsOddFrameRound,                Pid::FRAME_ROUND            },
1571       { Sid::lyricsOddFrameFgColor,              Pid::FRAME_FG_COLOR         },
1572       { Sid::lyricsOddFrameBgColor,              Pid::FRAME_BG_COLOR         },
1573       }};
1574 
1575 const TextStyle fingeringTextStyle {{
1576       { Sid::fingeringFontFace,                  Pid::FONT_FACE              },
1577       { Sid::fingeringFontSize,                  Pid::FONT_SIZE              },
1578       { Sid::fingeringLineSpacing,               Pid::TEXT_LINE_SPACING      },
1579       { Sid::fingeringFontSpatiumDependent,      Pid::SIZE_SPATIUM_DEPENDENT },
1580       { Sid::fingeringFontStyle,                 Pid::FONT_STYLE             },
1581       { Sid::fingeringColor,                     Pid::COLOR                  },
1582       { Sid::fingeringAlign,                     Pid::ALIGN                  },
1583       { Sid::fingeringOffset,                    Pid::OFFSET                 },
1584       { Sid::fingeringFrameType,                 Pid::FRAME_TYPE             },
1585       { Sid::fingeringFramePadding,              Pid::FRAME_PADDING          },
1586       { Sid::fingeringFrameWidth,                Pid::FRAME_WIDTH            },
1587       { Sid::fingeringFrameRound,                Pid::FRAME_ROUND            },
1588       { Sid::fingeringFrameFgColor,              Pid::FRAME_FG_COLOR         },
1589       { Sid::fingeringFrameBgColor,              Pid::FRAME_BG_COLOR         },
1590       }};
1591 
1592 const TextStyle lhGuitarFingeringTextStyle {{
1593       { Sid::lhGuitarFingeringFontFace,             Pid::FONT_FACE              },
1594       { Sid::lhGuitarFingeringFontSize,             Pid::FONT_SIZE              },
1595       { Sid::lhGuitarFingeringLineSpacing,          Pid::TEXT_LINE_SPACING      },
1596       { Sid::lhGuitarFingeringFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
1597       { Sid::lhGuitarFingeringFontStyle,            Pid::FONT_STYLE             },
1598       { Sid::lhGuitarFingeringColor,                Pid::COLOR                  },
1599       { Sid::lhGuitarFingeringAlign,                Pid::ALIGN                  },
1600       { Sid::lhGuitarFingeringOffset,               Pid::OFFSET                 },
1601       { Sid::lhGuitarFingeringFrameType,            Pid::FRAME_TYPE             },
1602       { Sid::lhGuitarFingeringFramePadding,         Pid::FRAME_PADDING          },
1603       { Sid::lhGuitarFingeringFrameWidth,           Pid::FRAME_WIDTH            },
1604       { Sid::lhGuitarFingeringFrameRound,           Pid::FRAME_ROUND            },
1605       { Sid::lhGuitarFingeringFrameFgColor,         Pid::FRAME_FG_COLOR         },
1606       { Sid::lhGuitarFingeringFrameBgColor,         Pid::FRAME_BG_COLOR         },
1607       }};
1608 
1609 const TextStyle rhGuitarFingeringTextStyle {{
1610       { Sid::rhGuitarFingeringFontFace,             Pid::FONT_FACE              },
1611       { Sid::rhGuitarFingeringFontSize,             Pid::FONT_SIZE              },
1612       { Sid::rhGuitarFingeringLineSpacing,          Pid::TEXT_LINE_SPACING      },
1613       { Sid::rhGuitarFingeringFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
1614       { Sid::rhGuitarFingeringFontStyle,            Pid::FONT_STYLE             },
1615       { Sid::rhGuitarFingeringColor,                Pid::COLOR                  },
1616       { Sid::rhGuitarFingeringAlign,                Pid::ALIGN                  },
1617       { Sid::rhGuitarFingeringOffset,               Pid::OFFSET                 },
1618       { Sid::rhGuitarFingeringFrameType,            Pid::FRAME_TYPE             },
1619       { Sid::rhGuitarFingeringFramePadding,         Pid::FRAME_PADDING          },
1620       { Sid::rhGuitarFingeringFrameWidth,           Pid::FRAME_WIDTH            },
1621       { Sid::rhGuitarFingeringFrameRound,           Pid::FRAME_ROUND            },
1622       { Sid::rhGuitarFingeringFrameFgColor,         Pid::FRAME_FG_COLOR         },
1623       { Sid::rhGuitarFingeringFrameBgColor,         Pid::FRAME_BG_COLOR         },
1624       }};
1625 
1626 const TextStyle stringNumberTextStyle {{
1627       { Sid::stringNumberFontFace,               Pid::FONT_FACE              },
1628       { Sid::stringNumberFontSize,               Pid::FONT_SIZE              },
1629       { Sid::stringNumberLineSpacing,            Pid::TEXT_LINE_SPACING      },
1630       { Sid::stringNumberFontSpatiumDependent,   Pid::SIZE_SPATIUM_DEPENDENT },
1631       { Sid::stringNumberFontStyle,              Pid::FONT_STYLE             },
1632       { Sid::stringNumberColor,                  Pid::COLOR                  },
1633       { Sid::stringNumberAlign,                  Pid::ALIGN                  },
1634       { Sid::stringNumberOffset,                 Pid::OFFSET                 },
1635       { Sid::stringNumberFrameType,              Pid::FRAME_TYPE             },
1636       { Sid::stringNumberFramePadding,           Pid::FRAME_PADDING          },
1637       { Sid::stringNumberFrameWidth,             Pid::FRAME_WIDTH            },
1638       { Sid::stringNumberFrameRound,             Pid::FRAME_ROUND            },
1639       { Sid::stringNumberFrameFgColor,           Pid::FRAME_FG_COLOR         },
1640       { Sid::stringNumberFrameBgColor,           Pid::FRAME_BG_COLOR         },
1641       }};
1642 
1643 const TextStyle longInstrumentTextStyle {{
1644       { Sid::longInstrumentFontFace,             Pid::FONT_FACE              },
1645       { Sid::longInstrumentFontSize,             Pid::FONT_SIZE              },
1646       { Sid::longInstrumentLineSpacing,          Pid::TEXT_LINE_SPACING      },
1647       { Sid::longInstrumentFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
1648       { Sid::longInstrumentFontStyle,            Pid::FONT_STYLE             },
1649       { Sid::longInstrumentColor,                Pid::COLOR                  },
1650       { Sid::longInstrumentAlign,                Pid::ALIGN                  },
1651       { Sid::longInstrumentOffset,               Pid::OFFSET                 },
1652       { Sid::longInstrumentFrameType,            Pid::FRAME_TYPE             },
1653       { Sid::longInstrumentFramePadding,         Pid::FRAME_PADDING          },
1654       { Sid::longInstrumentFrameWidth,           Pid::FRAME_WIDTH            },
1655       { Sid::longInstrumentFrameRound,           Pid::FRAME_ROUND            },
1656       { Sid::longInstrumentFrameFgColor,         Pid::FRAME_FG_COLOR         },
1657       { Sid::longInstrumentFrameBgColor,         Pid::FRAME_BG_COLOR         },
1658       }};
1659 
1660 const TextStyle shortInstrumentTextStyle {{
1661       { Sid::shortInstrumentFontFace,             Pid::FONT_FACE              },
1662       { Sid::shortInstrumentFontSize,             Pid::FONT_SIZE              },
1663       { Sid::shortInstrumentLineSpacing,          Pid::TEXT_LINE_SPACING      },
1664       { Sid::shortInstrumentFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
1665       { Sid::shortInstrumentFontStyle,            Pid::FONT_STYLE             },
1666       { Sid::shortInstrumentColor,                Pid::COLOR                  },
1667       { Sid::shortInstrumentAlign,                Pid::ALIGN                  },
1668       { Sid::shortInstrumentOffset,               Pid::OFFSET                 },
1669       { Sid::shortInstrumentFrameType,            Pid::FRAME_TYPE             },
1670       { Sid::shortInstrumentFramePadding,         Pid::FRAME_PADDING          },
1671       { Sid::shortInstrumentFrameWidth,           Pid::FRAME_WIDTH            },
1672       { Sid::shortInstrumentFrameRound,           Pid::FRAME_ROUND            },
1673       { Sid::shortInstrumentFrameFgColor,         Pid::FRAME_FG_COLOR         },
1674       { Sid::shortInstrumentFrameBgColor,         Pid::FRAME_BG_COLOR         },
1675       }};
1676 
1677 const TextStyle partInstrumentTextStyle {{
1678       { Sid::partInstrumentFontFace,             Pid::FONT_FACE              },
1679       { Sid::partInstrumentFontSize,             Pid::FONT_SIZE              },
1680       { Sid::partInstrumentLineSpacing,          Pid::TEXT_LINE_SPACING      },
1681       { Sid::partInstrumentFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
1682       { Sid::partInstrumentFontStyle,            Pid::FONT_STYLE             },
1683       { Sid::partInstrumentColor,                Pid::COLOR                  },
1684       { Sid::partInstrumentAlign,                Pid::ALIGN                  },
1685       { Sid::partInstrumentOffset,               Pid::OFFSET                 },
1686       { Sid::partInstrumentFrameType,            Pid::FRAME_TYPE             },
1687       { Sid::partInstrumentFramePadding,         Pid::FRAME_PADDING          },
1688       { Sid::partInstrumentFrameWidth,           Pid::FRAME_WIDTH            },
1689       { Sid::partInstrumentFrameRound,           Pid::FRAME_ROUND            },
1690       { Sid::partInstrumentFrameFgColor,         Pid::FRAME_FG_COLOR         },
1691       { Sid::partInstrumentFrameBgColor,         Pid::FRAME_BG_COLOR         },
1692       }};
1693 
1694 const TextStyle dynamicsTextStyle {{
1695       { Sid::dynamicsFontFace,                   Pid::FONT_FACE              },
1696       { Sid::dynamicsFontSize,                   Pid::FONT_SIZE              },
1697       { Sid::dynamicsLineSpacing,                Pid::TEXT_LINE_SPACING      },
1698       { Sid::dynamicsFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
1699       { Sid::dynamicsFontStyle,                  Pid::FONT_STYLE             },
1700       { Sid::dynamicsColor,                      Pid::COLOR                  },
1701       { Sid::dynamicsAlign,                      Pid::ALIGN                  },
1702       { Sid::dynamicsPosBelow,                   Pid::OFFSET                 },
1703       { Sid::dynamicsFrameType,                  Pid::FRAME_TYPE             },
1704       { Sid::dynamicsFramePadding,               Pid::FRAME_PADDING          },
1705       { Sid::dynamicsFrameWidth,                 Pid::FRAME_WIDTH            },
1706       { Sid::dynamicsFrameRound,                 Pid::FRAME_ROUND            },
1707       { Sid::dynamicsFrameFgColor,               Pid::FRAME_FG_COLOR         },
1708       { Sid::dynamicsFrameBgColor,               Pid::FRAME_BG_COLOR         },
1709       }};
1710 
1711 const TextStyle expressionTextStyle {{
1712       { Sid::expressionFontFace,                 Pid::FONT_FACE              },
1713       { Sid::expressionFontSize,                 Pid::FONT_SIZE              },
1714       { Sid::expressionLineSpacing,              Pid::TEXT_LINE_SPACING      },
1715       { Sid::expressionFontSpatiumDependent,     Pid::SIZE_SPATIUM_DEPENDENT },
1716       { Sid::expressionFontStyle,                Pid::FONT_STYLE             },
1717       { Sid::expressionColor,                    Pid::COLOR                  },
1718       { Sid::expressionAlign,                    Pid::ALIGN                  },
1719       { Sid::expressionOffset,                   Pid::OFFSET                 },
1720       { Sid::expressionFrameType,                Pid::FRAME_TYPE             },
1721       { Sid::expressionFramePadding,             Pid::FRAME_PADDING          },
1722       { Sid::expressionFrameWidth,               Pid::FRAME_WIDTH            },
1723       { Sid::expressionFrameRound,               Pid::FRAME_ROUND            },
1724       { Sid::expressionFrameFgColor,             Pid::FRAME_FG_COLOR         },
1725       { Sid::expressionFrameBgColor,             Pid::FRAME_BG_COLOR         },
1726       }};
1727 
1728 const TextStyle tempoTextStyle {{
1729       { Sid::tempoFontFace,                      Pid::FONT_FACE              },
1730       { Sid::tempoFontSize,                      Pid::FONT_SIZE              },
1731       { Sid::tempoLineSpacing,                   Pid::TEXT_LINE_SPACING      },
1732       { Sid::tempoFontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
1733       { Sid::tempoFontStyle,                     Pid::FONT_STYLE             },
1734       { Sid::tempoColor,                         Pid::COLOR                  },
1735       { Sid::tempoAlign,                         Pid::ALIGN                  },
1736       { Sid::tempoPosAbove,                      Pid::OFFSET                 },
1737       { Sid::tempoFrameType,                     Pid::FRAME_TYPE             },
1738       { Sid::tempoFramePadding,                  Pid::FRAME_PADDING          },
1739       { Sid::tempoFrameWidth,                    Pid::FRAME_WIDTH            },
1740       { Sid::tempoFrameRound,                    Pid::FRAME_ROUND            },
1741       { Sid::tempoFrameFgColor,                  Pid::FRAME_FG_COLOR         },
1742       { Sid::tempoFrameBgColor,                  Pid::FRAME_BG_COLOR         },
1743       }};
1744 
1745 const TextStyle metronomeTextStyle {{
1746       { Sid::metronomeFontFace,                  Pid::FONT_FACE              },
1747       { Sid::metronomeFontSize,                  Pid::FONT_SIZE              },
1748       { Sid::metronomeLineSpacing,               Pid::TEXT_LINE_SPACING      },
1749       { Sid::metronomeFontSpatiumDependent,      Pid::SIZE_SPATIUM_DEPENDENT },
1750       { Sid::metronomeFontStyle,                 Pid::FONT_STYLE             },
1751       { Sid::metronomeColor,                     Pid::COLOR                  },
1752       { Sid::metronomeAlign,                     Pid::ALIGN                  },
1753       { Sid::metronomeOffset,                    Pid::OFFSET                 },
1754       { Sid::metronomeFrameType,                 Pid::FRAME_TYPE             },
1755       { Sid::metronomeFramePadding,              Pid::FRAME_PADDING          },
1756       { Sid::metronomeFrameWidth,                Pid::FRAME_WIDTH            },
1757       { Sid::metronomeFrameRound,                Pid::FRAME_ROUND            },
1758       { Sid::metronomeFrameFgColor,              Pid::FRAME_FG_COLOR         },
1759       { Sid::metronomeFrameBgColor,              Pid::FRAME_BG_COLOR         },
1760       }};
1761 
1762 const TextStyle measureNumberTextStyle {{
1763       { Sid::measureNumberFontFace,              Pid::FONT_FACE              },
1764       { Sid::measureNumberFontSize,              Pid::FONT_SIZE              },
1765       { Sid::measureNumberLineSpacing,           Pid::TEXT_LINE_SPACING      },
1766       { Sid::measureNumberFontSpatiumDependent,  Pid::SIZE_SPATIUM_DEPENDENT },
1767       { Sid::measureNumberFontStyle,             Pid::FONT_STYLE             },
1768       { Sid::measureNumberColor,                 Pid::COLOR                  },
1769       { Sid::measureNumberAlign,                 Pid::ALIGN                  },
1770       { Sid::measureNumberPosAbove,              Pid::OFFSET                 },
1771       { Sid::measureNumberFrameType,             Pid::FRAME_TYPE             },
1772       { Sid::measureNumberFramePadding,          Pid::FRAME_PADDING          },
1773       { Sid::measureNumberFrameWidth,            Pid::FRAME_WIDTH            },
1774       { Sid::measureNumberFrameRound,            Pid::FRAME_ROUND            },
1775       { Sid::measureNumberFrameFgColor,          Pid::FRAME_FG_COLOR         },
1776       { Sid::measureNumberFrameBgColor,          Pid::FRAME_BG_COLOR         },
1777       }};
1778 
1779 const TextStyle mmRestRangeTextStyle {{
1780       { Sid::mmRestRangeFontFace,              Pid::FONT_FACE              },
1781       { Sid::mmRestRangeFontSize,              Pid::FONT_SIZE              },
1782       { Sid::mmRestRangeFontSpatiumDependent,  Pid::SIZE_SPATIUM_DEPENDENT },
1783       { Sid::mmRestRangeFontStyle,             Pid::FONT_STYLE             },
1784       { Sid::mmRestRangeColor,                 Pid::COLOR                  },
1785       { Sid::mmRestRangeAlign,                 Pid::ALIGN                  },
1786       { Sid::mmRestRangePosAbove,              Pid::OFFSET                 },
1787       { Sid::mmRestRangeFrameType,             Pid::FRAME_TYPE             },
1788       { Sid::mmRestRangeFramePadding,          Pid::FRAME_PADDING          },
1789       { Sid::mmRestRangeFrameWidth,            Pid::FRAME_WIDTH            },
1790       { Sid::mmRestRangeFrameRound,            Pid::FRAME_ROUND            },
1791       { Sid::mmRestRangeFrameFgColor,          Pid::FRAME_FG_COLOR         },
1792       { Sid::mmRestRangeFrameBgColor,          Pid::FRAME_BG_COLOR         },
1793       }};
1794 
1795 const TextStyle translatorTextStyle {{
1796       { Sid::translatorFontFace,                 Pid::FONT_FACE              },
1797       { Sid::translatorFontSize,                 Pid::FONT_SIZE              },
1798       { Sid::translatorLineSpacing,              Pid::TEXT_LINE_SPACING      },
1799       { Sid::translatorFontSpatiumDependent,     Pid::SIZE_SPATIUM_DEPENDENT },
1800       { Sid::translatorFontStyle,                Pid::FONT_STYLE             },
1801       { Sid::translatorColor,                    Pid::COLOR                  },
1802       { Sid::translatorAlign,                    Pid::ALIGN                  },
1803       { Sid::translatorOffset,                   Pid::OFFSET                 },
1804       { Sid::translatorFrameType,                Pid::FRAME_TYPE             },
1805       { Sid::translatorFramePadding,             Pid::FRAME_PADDING          },
1806       { Sid::translatorFrameWidth,               Pid::FRAME_WIDTH            },
1807       { Sid::translatorFrameRound,               Pid::FRAME_ROUND            },
1808       { Sid::translatorFrameFgColor,             Pid::FRAME_FG_COLOR         },
1809       { Sid::translatorFrameBgColor,             Pid::FRAME_BG_COLOR         },
1810       }};
1811 
1812 const TextStyle tupletTextStyle {{
1813       { Sid::tupletFontFace,                     Pid::FONT_FACE              },
1814       { Sid::tupletFontSize,                     Pid::FONT_SIZE              },
1815       { Sid::tupletLineSpacing,                  Pid::TEXT_LINE_SPACING      },
1816       { Sid::tupletFontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
1817       { Sid::tupletFontStyle,                    Pid::FONT_STYLE             },
1818       { Sid::tupletColor,                        Pid::COLOR                  },
1819       { Sid::tupletAlign,                        Pid::ALIGN                  },
1820       { Sid::tupletOffset,                       Pid::OFFSET                 },
1821       { Sid::tupletFrameType,                    Pid::FRAME_TYPE             },
1822       { Sid::tupletFramePadding,                 Pid::FRAME_PADDING          },
1823       { Sid::tupletFrameWidth,                   Pid::FRAME_WIDTH            },
1824       { Sid::tupletFrameRound,                   Pid::FRAME_ROUND            },
1825       { Sid::tupletFrameFgColor,                 Pid::FRAME_FG_COLOR         },
1826       { Sid::tupletFrameBgColor,                 Pid::FRAME_BG_COLOR         },
1827       }};
1828 
1829 const TextStyle systemTextStyle {{
1830       { Sid::systemTextFontFace,                 Pid::FONT_FACE              },
1831       { Sid::systemTextFontSize,                 Pid::FONT_SIZE              },
1832       { Sid::systemTextLineSpacing,              Pid::TEXT_LINE_SPACING      },
1833       { Sid::systemTextFontSpatiumDependent,     Pid::SIZE_SPATIUM_DEPENDENT },
1834       { Sid::systemTextFontStyle,                Pid::FONT_STYLE             },
1835       { Sid::systemTextColor,                    Pid::COLOR                  },
1836       { Sid::systemTextAlign,                    Pid::ALIGN                  },
1837       { Sid::systemTextPosAbove,                 Pid::OFFSET                 },
1838       { Sid::systemTextFrameType,                Pid::FRAME_TYPE             },
1839       { Sid::systemTextFramePadding,             Pid::FRAME_PADDING          },
1840       { Sid::systemTextFrameWidth,               Pid::FRAME_WIDTH            },
1841       { Sid::systemTextFrameRound,               Pid::FRAME_ROUND            },
1842       { Sid::systemTextFrameFgColor,             Pid::FRAME_FG_COLOR         },
1843       { Sid::systemTextFrameBgColor,             Pid::FRAME_BG_COLOR         },
1844       }};
1845 
1846 const TextStyle staffTextStyle {{
1847       { Sid::staffTextFontFace,                  Pid::FONT_FACE              },
1848       { Sid::staffTextFontSize,                  Pid::FONT_SIZE              },
1849       { Sid::staffTextLineSpacing,               Pid::TEXT_LINE_SPACING      },
1850       { Sid::staffTextFontSpatiumDependent,      Pid::SIZE_SPATIUM_DEPENDENT },
1851       { Sid::staffTextFontStyle,                 Pid::FONT_STYLE             },
1852       { Sid::staffTextColor,                     Pid::COLOR                  },
1853       { Sid::staffTextAlign,                     Pid::ALIGN                  },
1854       { Sid::staffTextPosAbove,                  Pid::OFFSET                 },
1855       { Sid::staffTextFrameType,                 Pid::FRAME_TYPE             },
1856       { Sid::staffTextFramePadding,              Pid::FRAME_PADDING          },
1857       { Sid::staffTextFrameWidth,                Pid::FRAME_WIDTH            },
1858       { Sid::staffTextFrameRound,                Pid::FRAME_ROUND            },
1859       { Sid::staffTextFrameFgColor,              Pid::FRAME_FG_COLOR         },
1860       { Sid::staffTextFrameBgColor,              Pid::FRAME_BG_COLOR         },
1861       }};
1862 
1863 const TextStyle chordSymbolTextStyleA {{
1864       { Sid::chordSymbolAFontFace,               Pid::FONT_FACE              },
1865       { Sid::chordSymbolAFontSize,               Pid::FONT_SIZE              },
1866       { Sid::chordSymbolALineSpacing,            Pid::TEXT_LINE_SPACING      },
1867       { Sid::chordSymbolAFontSpatiumDependent,   Pid::SIZE_SPATIUM_DEPENDENT },
1868       { Sid::chordSymbolAFontStyle,              Pid::FONT_STYLE             },
1869       { Sid::chordSymbolAColor,                  Pid::COLOR                  },
1870       { Sid::chordSymbolAAlign,                  Pid::ALIGN                  },
1871       { Sid::chordSymbolAPosAbove,               Pid::OFFSET                 },
1872       { Sid::chordSymbolAFrameType,              Pid::FRAME_TYPE             },
1873       { Sid::chordSymbolAFramePadding,           Pid::FRAME_PADDING          },
1874       { Sid::chordSymbolAFrameWidth,             Pid::FRAME_WIDTH            },
1875       { Sid::chordSymbolAFrameRound,             Pid::FRAME_ROUND            },
1876       { Sid::chordSymbolAFrameFgColor,           Pid::FRAME_FG_COLOR         },
1877       { Sid::chordSymbolAFrameBgColor,           Pid::FRAME_BG_COLOR         },
1878       }};
1879 
1880 const TextStyle chordSymbolTextStyleB {{
1881       { Sid::chordSymbolBFontFace,               Pid::FONT_FACE              },
1882       { Sid::chordSymbolBFontSize,               Pid::FONT_SIZE              },
1883       { Sid::chordSymbolBLineSpacing,            Pid::TEXT_LINE_SPACING      },
1884       { Sid::chordSymbolBFontSpatiumDependent,   Pid::SIZE_SPATIUM_DEPENDENT },
1885       { Sid::chordSymbolBFontStyle,              Pid::FONT_STYLE             },
1886       { Sid::chordSymbolBColor,                  Pid::COLOR                  },
1887       { Sid::chordSymbolBAlign,                  Pid::ALIGN                  },
1888       { Sid::chordSymbolBPosAbove,               Pid::OFFSET                 },
1889       { Sid::chordSymbolBFrameType,              Pid::FRAME_TYPE             },
1890       { Sid::chordSymbolBFramePadding,           Pid::FRAME_PADDING          },
1891       { Sid::chordSymbolBFrameWidth,             Pid::FRAME_WIDTH            },
1892       { Sid::chordSymbolBFrameRound,             Pid::FRAME_ROUND            },
1893       { Sid::chordSymbolBFrameFgColor,           Pid::FRAME_FG_COLOR         },
1894       { Sid::chordSymbolBFrameBgColor,           Pid::FRAME_BG_COLOR         },
1895       }};
1896 
1897 const TextStyle romanNumeralTextStyle {{
1898       { Sid::romanNumeralFontFace,               Pid::FONT_FACE              },
1899       { Sid::romanNumeralFontSize,               Pid::FONT_SIZE              },
1900       { Sid::romanNumeralLineSpacing,            Pid::TEXT_LINE_SPACING      },
1901       { Sid::romanNumeralFontSpatiumDependent,   Pid::SIZE_SPATIUM_DEPENDENT },
1902       { Sid::romanNumeralFontStyle,              Pid::FONT_STYLE             },
1903       { Sid::romanNumeralColor,                  Pid::COLOR                  },
1904       { Sid::romanNumeralAlign,                  Pid::ALIGN                  },
1905       { Sid::romanNumeralPosAbove,               Pid::OFFSET                 },
1906       { Sid::romanNumeralFrameType,              Pid::FRAME_TYPE             },
1907       { Sid::romanNumeralFramePadding,           Pid::FRAME_PADDING          },
1908       { Sid::romanNumeralFrameWidth,             Pid::FRAME_WIDTH            },
1909       { Sid::romanNumeralFrameRound,             Pid::FRAME_ROUND            },
1910       { Sid::romanNumeralFrameFgColor,           Pid::FRAME_FG_COLOR         },
1911       { Sid::romanNumeralFrameBgColor,           Pid::FRAME_BG_COLOR         },
1912       }};
1913 
1914 const TextStyle nashvilleNumberTextStyle {{
1915       { Sid::nashvilleNumberFontFace,               Pid::FONT_FACE              },
1916       { Sid::nashvilleNumberFontSize,               Pid::FONT_SIZE              },
1917       { Sid::nashvilleNumberLineSpacing,            Pid::TEXT_LINE_SPACING      },
1918       { Sid::nashvilleNumberFontSpatiumDependent,   Pid::SIZE_SPATIUM_DEPENDENT },
1919       { Sid::nashvilleNumberFontStyle,              Pid::FONT_STYLE             },
1920       { Sid::nashvilleNumberColor,                  Pid::COLOR                  },
1921       { Sid::nashvilleNumberAlign,                  Pid::ALIGN                  },
1922       { Sid::nashvilleNumberPosAbove,               Pid::OFFSET                 },
1923       { Sid::nashvilleNumberFrameType,              Pid::FRAME_TYPE             },
1924       { Sid::nashvilleNumberFramePadding,           Pid::FRAME_PADDING          },
1925       { Sid::nashvilleNumberFrameWidth,             Pid::FRAME_WIDTH            },
1926       { Sid::nashvilleNumberFrameRound,             Pid::FRAME_ROUND            },
1927       { Sid::nashvilleNumberFrameFgColor,           Pid::FRAME_FG_COLOR         },
1928       { Sid::nashvilleNumberFrameBgColor,           Pid::FRAME_BG_COLOR         },
1929       }};
1930 
1931 const TextStyle rehearsalMarkTextStyle {{
1932       { Sid::rehearsalMarkFontFace,              Pid::FONT_FACE              },
1933       { Sid::rehearsalMarkFontSize,              Pid::FONT_SIZE              },
1934       { Sid::rehearsalMarkLineSpacing,           Pid::TEXT_LINE_SPACING      },
1935       { Sid::rehearsalMarkFontSpatiumDependent,  Pid::SIZE_SPATIUM_DEPENDENT },
1936       { Sid::rehearsalMarkFontStyle,             Pid::FONT_STYLE             },
1937       { Sid::rehearsalMarkColor,                 Pid::COLOR                  },
1938       { Sid::rehearsalMarkAlign,                 Pid::ALIGN                  },
1939       { Sid::rehearsalMarkPosAbove,              Pid::OFFSET                 },
1940       { Sid::rehearsalMarkFrameType,             Pid::FRAME_TYPE             },
1941       { Sid::rehearsalMarkFramePadding,          Pid::FRAME_PADDING          },
1942       { Sid::rehearsalMarkFrameWidth,            Pid::FRAME_WIDTH            },
1943       { Sid::rehearsalMarkFrameRound,            Pid::FRAME_ROUND            },
1944       { Sid::rehearsalMarkFrameFgColor,          Pid::FRAME_FG_COLOR         },
1945       { Sid::rehearsalMarkFrameBgColor,          Pid::FRAME_BG_COLOR         },
1946       }};
1947 
1948 const TextStyle repeatLeftTextStyle {{
1949       { Sid::repeatLeftFontFace,                 Pid::FONT_FACE              },
1950       { Sid::repeatLeftFontSize,                 Pid::FONT_SIZE              },
1951       { Sid::repeatLeftLineSpacing,              Pid::TEXT_LINE_SPACING      },
1952       { Sid::repeatLeftFontSpatiumDependent,     Pid::SIZE_SPATIUM_DEPENDENT },
1953       { Sid::repeatLeftFontStyle,                Pid::FONT_STYLE             },
1954       { Sid::repeatLeftColor,                    Pid::COLOR                  },
1955       { Sid::repeatLeftAlign,                    Pid::ALIGN                  },
1956       { Sid::markerPosAbove,                     Pid::OFFSET                 },
1957       { Sid::repeatLeftFrameType,                Pid::FRAME_TYPE             },
1958       { Sid::repeatLeftFramePadding,             Pid::FRAME_PADDING          },
1959       { Sid::repeatLeftFrameWidth,               Pid::FRAME_WIDTH            },
1960       { Sid::repeatLeftFrameRound,               Pid::FRAME_ROUND            },
1961       { Sid::repeatLeftFrameFgColor,             Pid::FRAME_FG_COLOR         },
1962       { Sid::repeatLeftFrameBgColor,             Pid::FRAME_BG_COLOR         },
1963       }};
1964 
1965 const TextStyle repeatRightTextStyle {{
1966       { Sid::repeatRightFontFace,                Pid::FONT_FACE              },
1967       { Sid::repeatRightFontSize,                Pid::FONT_SIZE              },
1968       { Sid::repeatRightLineSpacing,             Pid::TEXT_LINE_SPACING      },
1969       { Sid::repeatRightFontSpatiumDependent,    Pid::SIZE_SPATIUM_DEPENDENT },
1970       { Sid::repeatRightFontStyle,               Pid::FONT_STYLE             },
1971       { Sid::repeatRightColor,                   Pid::COLOR                  },
1972       { Sid::repeatRightAlign,                   Pid::ALIGN                  },
1973       { Sid::jumpPosAbove,                       Pid::OFFSET                 },
1974       { Sid::repeatRightFrameType,               Pid::FRAME_TYPE             },
1975       { Sid::repeatRightFramePadding,            Pid::FRAME_PADDING          },
1976       { Sid::repeatRightFrameWidth,              Pid::FRAME_WIDTH            },
1977       { Sid::repeatRightFrameRound,              Pid::FRAME_ROUND            },
1978       { Sid::repeatRightFrameFgColor,            Pid::FRAME_FG_COLOR         },
1979       { Sid::repeatRightFrameBgColor,            Pid::FRAME_BG_COLOR         },
1980       }};
1981 
1982 const TextStyle frameTextStyle {{
1983       { Sid::frameFontFace,                      Pid::FONT_FACE              },
1984       { Sid::frameFontSize,                      Pid::FONT_SIZE              },
1985       { Sid::frameLineSpacing,                   Pid::TEXT_LINE_SPACING      },
1986       { Sid::frameFontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
1987       { Sid::frameFontStyle,                     Pid::FONT_STYLE             },
1988       { Sid::frameColor,                         Pid::COLOR                  },
1989       { Sid::frameAlign,                         Pid::ALIGN                  },
1990       { Sid::frameOffset,                        Pid::OFFSET                 },
1991       { Sid::frameFrameType,                     Pid::FRAME_TYPE             },
1992       { Sid::frameFramePadding,                  Pid::FRAME_PADDING          },
1993       { Sid::frameFrameWidth,                    Pid::FRAME_WIDTH            },
1994       { Sid::frameFrameRound,                    Pid::FRAME_ROUND            },
1995       { Sid::frameFrameFgColor,                  Pid::FRAME_FG_COLOR         },
1996       { Sid::frameFrameBgColor,                  Pid::FRAME_BG_COLOR         },
1997       }};
1998 
1999 const TextStyle textLineTextStyle {{
2000       { Sid::textLineFontFace,                   Pid::BEGIN_FONT_FACE        },
2001       { Sid::textLineFontSize,                   Pid::BEGIN_FONT_SIZE        },
2002       { Sid::textLineLineSpacing,                Pid::TEXT_LINE_SPACING      },
2003       { Sid::textLineFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
2004       { Sid::textLineFontStyle,                  Pid::BEGIN_FONT_STYLE       },
2005       { Sid::textLineColor,                      Pid::COLOR                  },
2006       { Sid::textLineTextAlign,                  Pid::ALIGN                  },
2007       { Sid::textLinePosAbove,                   Pid::OFFSET                 },
2008       { Sid::textLineFrameType,                  Pid::FRAME_TYPE             },
2009       { Sid::textLineFramePadding,               Pid::FRAME_PADDING          },
2010       { Sid::textLineFrameWidth,                 Pid::FRAME_WIDTH            },
2011       { Sid::textLineFrameRound,                 Pid::FRAME_ROUND            },
2012       { Sid::textLineFrameFgColor,               Pid::FRAME_FG_COLOR         },
2013       { Sid::textLineFrameBgColor,               Pid::FRAME_BG_COLOR         },
2014       }};
2015 
2016 const TextStyle glissandoTextStyle {{
2017       { Sid::glissandoFontFace,                  Pid::FONT_FACE              },
2018       { Sid::glissandoFontSize,                  Pid::FONT_SIZE              },
2019       { Sid::glissandoLineSpacing,               Pid::TEXT_LINE_SPACING      },
2020       { Sid::glissandoFontSpatiumDependent,      Pid::SIZE_SPATIUM_DEPENDENT },
2021       { Sid::glissandoFontStyle,                 Pid::FONT_STYLE             },
2022       { Sid::glissandoColor,                     Pid::COLOR                  },
2023       { Sid::glissandoAlign,                     Pid::ALIGN                  },
2024       { Sid::glissandoOffset,                    Pid::OFFSET                 },
2025       { Sid::glissandoFrameType,                 Pid::FRAME_TYPE             },
2026       { Sid::glissandoFramePadding,              Pid::FRAME_PADDING          },
2027       { Sid::glissandoFrameWidth,                Pid::FRAME_WIDTH            },
2028       { Sid::glissandoFrameRound,                Pid::FRAME_ROUND            },
2029       { Sid::glissandoFrameFgColor,              Pid::FRAME_FG_COLOR         },
2030       { Sid::glissandoFrameBgColor,              Pid::FRAME_BG_COLOR         },
2031       }};
2032 
2033 const TextStyle ottavaTextStyle {{
2034       { Sid::ottavaFontFace,                     Pid::BEGIN_FONT_FACE        },
2035       { Sid::ottavaFontSize,                     Pid::BEGIN_FONT_SIZE        },
2036       { Sid::ottavaLineSpacing,                  Pid::TEXT_LINE_SPACING      },
2037       { Sid::ottavaFontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2038       { Sid::ottavaFontStyle,                    Pid::BEGIN_FONT_STYLE       },
2039       { Sid::ottavaColor,                        Pid::COLOR                  },
2040       { Sid::ottavaTextAlign,                    Pid::BEGIN_TEXT_ALIGN       },
2041       { Sid::ottavaPosAbove,                     Pid::OFFSET                 },
2042       { Sid::ottavaFrameType,                    Pid::FRAME_TYPE             },
2043       { Sid::ottavaFramePadding,                 Pid::FRAME_PADDING          },
2044       { Sid::ottavaFrameWidth,                   Pid::FRAME_WIDTH            },
2045       { Sid::ottavaFrameRound,                   Pid::FRAME_ROUND            },
2046       { Sid::ottavaFrameFgColor,                 Pid::FRAME_FG_COLOR         },
2047       { Sid::ottavaFrameBgColor,                 Pid::FRAME_BG_COLOR         },
2048       }};
2049 
2050 const TextStyle voltaTextStyle {{
2051       { Sid::voltaFontFace,                      Pid::BEGIN_FONT_FACE        },
2052       { Sid::voltaFontSize,                      Pid::BEGIN_FONT_SIZE        },
2053       { Sid::voltaLineSpacing,                   Pid::TEXT_LINE_SPACING      },
2054       { Sid::voltaFontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2055       { Sid::voltaFontStyle,                     Pid::BEGIN_FONT_STYLE       },
2056       { Sid::voltaColor,                         Pid::COLOR                  },
2057       { Sid::voltaAlign,                         Pid::BEGIN_TEXT_ALIGN       },
2058       { Sid::voltaOffset,                        Pid::BEGIN_TEXT_OFFSET      },
2059       { Sid::voltaFrameType,                     Pid::FRAME_TYPE             },
2060       { Sid::voltaFramePadding,                  Pid::FRAME_PADDING          },
2061       { Sid::voltaFrameWidth,                    Pid::FRAME_WIDTH            },
2062       { Sid::voltaFrameRound,                    Pid::FRAME_ROUND            },
2063       { Sid::voltaFrameFgColor,                  Pid::FRAME_FG_COLOR         },
2064       { Sid::voltaFrameBgColor,                  Pid::FRAME_BG_COLOR         },
2065       }};
2066 
2067 const TextStyle pedalTextStyle {{
2068       { Sid::pedalFontFace,                      Pid::BEGIN_FONT_FACE        },
2069       { Sid::pedalFontSize,                      Pid::BEGIN_FONT_SIZE        },
2070       { Sid::pedalLineSpacing,                   Pid::TEXT_LINE_SPACING      },
2071       { Sid::pedalFontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2072       { Sid::pedalFontStyle,                     Pid::BEGIN_FONT_STYLE       },
2073       { Sid::pedalColor,                         Pid::COLOR                  },
2074       { Sid::pedalTextAlign,                     Pid::BEGIN_TEXT_ALIGN       },
2075       { Sid::pedalPosAbove,                      Pid::BEGIN_TEXT_OFFSET      },
2076       { Sid::pedalFrameType,                     Pid::FRAME_TYPE             },
2077       { Sid::pedalFramePadding,                  Pid::FRAME_PADDING          },
2078       { Sid::pedalFrameWidth,                    Pid::FRAME_WIDTH            },
2079       { Sid::pedalFrameRound,                    Pid::FRAME_ROUND            },
2080       { Sid::pedalFrameFgColor,                  Pid::FRAME_FG_COLOR         },
2081       { Sid::pedalFrameBgColor,                  Pid::FRAME_BG_COLOR         },
2082       }};
2083 
2084 const TextStyle letRingTextStyle {{
2085       { Sid::letRingFontFace,                    Pid::BEGIN_FONT_FACE        },
2086       { Sid::letRingFontSize,                    Pid::BEGIN_FONT_SIZE        },
2087       { Sid::letRingLineSpacing,                 Pid::TEXT_LINE_SPACING      },
2088       { Sid::letRingFontSpatiumDependent,        Pid::SIZE_SPATIUM_DEPENDENT },
2089       { Sid::letRingFontStyle,                   Pid::BEGIN_FONT_STYLE       },
2090       { Sid::letRingColor,                       Pid::COLOR                  },
2091       { Sid::letRingTextAlign,                   Pid::BEGIN_TEXT_ALIGN       },
2092       { Sid::letRingPosAbove,                    Pid::BEGIN_TEXT_OFFSET      },
2093       { Sid::letRingFrameType,                   Pid::FRAME_TYPE             },
2094       { Sid::letRingFramePadding,                Pid::FRAME_PADDING          },
2095       { Sid::letRingFrameWidth,                  Pid::FRAME_WIDTH            },
2096       { Sid::letRingFrameRound,                  Pid::FRAME_ROUND            },
2097       { Sid::letRingFrameFgColor,                Pid::FRAME_FG_COLOR         },
2098       { Sid::letRingFrameBgColor,                Pid::FRAME_BG_COLOR         },
2099       }};
2100 
2101 const TextStyle palmMuteTextStyle {{
2102       { Sid::palmMuteFontFace,                   Pid::BEGIN_FONT_FACE        },
2103       { Sid::palmMuteFontSize,                   Pid::BEGIN_FONT_SIZE        },
2104       { Sid::palmMuteLineSpacing,                Pid::TEXT_LINE_SPACING      },
2105       { Sid::palmMuteFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
2106       { Sid::palmMuteFontStyle,                  Pid::BEGIN_FONT_STYLE       },
2107       { Sid::palmMuteColor,                      Pid::COLOR                  },
2108       { Sid::palmMuteTextAlign,                  Pid::BEGIN_TEXT_ALIGN       },
2109       { Sid::palmMutePosAbove,                   Pid::BEGIN_TEXT_OFFSET      },
2110       { Sid::palmMuteFrameType,                  Pid::FRAME_TYPE             },
2111       { Sid::palmMuteFramePadding,               Pid::FRAME_PADDING          },
2112       { Sid::palmMuteFrameWidth,                 Pid::FRAME_WIDTH            },
2113       { Sid::palmMuteFrameRound,                 Pid::FRAME_ROUND            },
2114       { Sid::palmMuteFrameFgColor,               Pid::FRAME_FG_COLOR         },
2115       { Sid::palmMuteFrameBgColor,               Pid::FRAME_BG_COLOR         },
2116       }};
2117 
2118 const TextStyle hairpinTextStyle {{
2119       { Sid::hairpinFontFace,                    Pid::BEGIN_FONT_FACE        },
2120       { Sid::hairpinFontSize,                    Pid::BEGIN_FONT_SIZE        },
2121       { Sid::hairpinLineSpacing,                 Pid::TEXT_LINE_SPACING      },
2122       { Sid::hairpinFontSpatiumDependent,        Pid::SIZE_SPATIUM_DEPENDENT },
2123       { Sid::hairpinFontStyle,                   Pid::BEGIN_FONT_STYLE       },
2124       { Sid::hairpinColor,                       Pid::COLOR                  },
2125       { Sid::hairpinTextAlign,                   Pid::BEGIN_TEXT_ALIGN       },
2126       { Sid::hairpinPosAbove,                    Pid::BEGIN_TEXT_OFFSET      },
2127       { Sid::hairpinFrameType,                   Pid::FRAME_TYPE             },
2128       { Sid::hairpinFramePadding,                Pid::FRAME_PADDING          },
2129       { Sid::hairpinFrameWidth,                  Pid::FRAME_WIDTH            },
2130       { Sid::hairpinFrameRound,                  Pid::FRAME_ROUND            },
2131       { Sid::hairpinFrameFgColor,                Pid::FRAME_FG_COLOR         },
2132       { Sid::hairpinFrameBgColor,                Pid::FRAME_BG_COLOR         },
2133       }};
2134 
2135 const TextStyle bendTextStyle {{
2136       { Sid::bendFontFace,                       Pid::FONT_FACE              },
2137       { Sid::bendFontSize,                       Pid::FONT_SIZE              },
2138       { Sid::bendLineSpacing,                    Pid::TEXT_LINE_SPACING      },
2139       { Sid::bendFontSpatiumDependent,           Pid::SIZE_SPATIUM_DEPENDENT },
2140       { Sid::bendFontStyle,                      Pid::FONT_STYLE             },
2141       { Sid::bendColor,                          Pid::COLOR                  },
2142       { Sid::bendAlign,                          Pid::BEGIN_TEXT_ALIGN       },
2143       { Sid::bendOffset,                         Pid::BEGIN_TEXT_OFFSET      },
2144       { Sid::bendFrameType,                      Pid::FRAME_TYPE             },
2145       { Sid::bendFramePadding,                   Pid::FRAME_PADDING          },
2146       { Sid::bendFrameWidth,                     Pid::FRAME_WIDTH            },
2147       { Sid::bendFrameRound,                     Pid::FRAME_ROUND            },
2148       { Sid::bendFrameFgColor,                   Pid::FRAME_FG_COLOR         },
2149       { Sid::bendFrameBgColor,                   Pid::FRAME_BG_COLOR         },
2150       }};
2151 
2152 const TextStyle headerTextStyle {{
2153       { Sid::headerFontFace,                     Pid::FONT_FACE              },
2154       { Sid::headerFontSize,                     Pid::FONT_SIZE              },
2155       { Sid::headerLineSpacing,                  Pid::TEXT_LINE_SPACING      },
2156       { Sid::headerFontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2157       { Sid::headerFontStyle,                    Pid::FONT_STYLE             },
2158       { Sid::headerColor,                        Pid::COLOR                  },
2159       { Sid::headerAlign,                        Pid::ALIGN                  },
2160       { Sid::headerOffset,                       Pid::OFFSET                 },
2161       { Sid::headerFrameType,                    Pid::FRAME_TYPE             },
2162       { Sid::headerFramePadding,                 Pid::FRAME_PADDING          },
2163       { Sid::headerFrameWidth,                   Pid::FRAME_WIDTH            },
2164       { Sid::headerFrameRound,                   Pid::FRAME_ROUND            },
2165       { Sid::headerFrameFgColor,                 Pid::FRAME_FG_COLOR         },
2166       { Sid::headerFrameBgColor,                 Pid::FRAME_BG_COLOR         },
2167       }};
2168 
2169 const TextStyle footerTextStyle {{
2170       { Sid::footerFontFace,                     Pid::FONT_FACE              },
2171       { Sid::footerFontSize,                     Pid::FONT_SIZE              },
2172       { Sid::footerLineSpacing,                  Pid::TEXT_LINE_SPACING      },
2173       { Sid::footerFontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2174       { Sid::footerFontStyle,                    Pid::FONT_STYLE             },
2175       { Sid::footerColor,                        Pid::COLOR                  },
2176       { Sid::footerAlign,                        Pid::ALIGN                  },
2177       { Sid::footerOffset,                       Pid::OFFSET                 },
2178       { Sid::footerFrameType,                    Pid::FRAME_TYPE             },
2179       { Sid::footerFramePadding,                 Pid::FRAME_PADDING          },
2180       { Sid::footerFrameWidth,                   Pid::FRAME_WIDTH            },
2181       { Sid::footerFrameRound,                   Pid::FRAME_ROUND            },
2182       { Sid::footerFrameFgColor,                 Pid::FRAME_FG_COLOR         },
2183       { Sid::footerFrameBgColor,                 Pid::FRAME_BG_COLOR         },
2184       }};
2185 
2186 const TextStyle instrumentChangeTextStyle {{
2187       { Sid::instrumentChangeFontFace,             Pid::FONT_FACE              },
2188       { Sid::instrumentChangeFontSize,             Pid::FONT_SIZE              },
2189       { Sid::instrumentChangeLineSpacing,          Pid::TEXT_LINE_SPACING      },
2190       { Sid::instrumentChangeFontSpatiumDependent, Pid::SIZE_SPATIUM_DEPENDENT },
2191       { Sid::instrumentChangeFontStyle,            Pid::FONT_STYLE             },
2192       { Sid::instrumentChangeColor,                Pid::COLOR                  },
2193       { Sid::instrumentChangeAlign,                Pid::ALIGN                  },
2194       { Sid::instrumentChangeOffset,               Pid::OFFSET                 },
2195       { Sid::instrumentChangeFrameType,            Pid::FRAME_TYPE             },
2196       { Sid::instrumentChangeFramePadding,         Pid::FRAME_PADDING          },
2197       { Sid::instrumentChangeFrameWidth,           Pid::FRAME_WIDTH            },
2198       { Sid::instrumentChangeFrameRound,           Pid::FRAME_ROUND            },
2199       { Sid::instrumentChangeFrameFgColor,         Pid::FRAME_FG_COLOR         },
2200       { Sid::instrumentChangeFrameBgColor,         Pid::FRAME_BG_COLOR         },
2201       }};
2202 
2203 const TextStyle stickingTextStyle {{
2204       { Sid::stickingFontFace,                   Pid::FONT_FACE              },
2205       { Sid::stickingFontSize,                   Pid::FONT_SIZE              },
2206       { Sid::stickingLineSpacing,                Pid::TEXT_LINE_SPACING      },
2207       { Sid::stickingFontSpatiumDependent,       Pid::SIZE_SPATIUM_DEPENDENT },
2208       { Sid::stickingFontStyle,                  Pid::FONT_STYLE             },
2209       { Sid::stickingColor,                      Pid::COLOR                  },
2210       { Sid::stickingAlign,                      Pid::ALIGN                  },
2211       { Sid::stickingOffset,                     Pid::OFFSET                 },
2212       { Sid::stickingFrameType,                  Pid::FRAME_TYPE             },
2213       { Sid::stickingFramePadding,               Pid::FRAME_PADDING          },
2214       { Sid::stickingFrameWidth,                 Pid::FRAME_WIDTH            },
2215       { Sid::stickingFrameRound,                 Pid::FRAME_ROUND            },
2216       { Sid::stickingFrameFgColor,               Pid::FRAME_FG_COLOR         },
2217       { Sid::stickingFrameBgColor,               Pid::FRAME_BG_COLOR         },
2218       }};
2219 
2220 const TextStyle user1TextStyle {{
2221       { Sid::user1FontFace,                      Pid::FONT_FACE              },
2222       { Sid::user1FontSize,                      Pid::FONT_SIZE              },
2223       { Sid::user1LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2224       { Sid::user1FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2225       { Sid::user1FontStyle,                     Pid::FONT_STYLE             },
2226       { Sid::user1Color,                         Pid::COLOR                  },
2227       { Sid::user1Align,                         Pid::ALIGN                  },
2228       { Sid::user1Offset,                        Pid::OFFSET                 },
2229       { Sid::user1FrameType,                     Pid::FRAME_TYPE             },
2230       { Sid::user1FramePadding,                  Pid::FRAME_PADDING          },
2231       { Sid::user1FrameWidth,                    Pid::FRAME_WIDTH            },
2232       { Sid::user1FrameRound,                    Pid::FRAME_ROUND            },
2233       { Sid::user1FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2234       { Sid::user1FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2235       }};
2236 
2237 const TextStyle user2TextStyle {{
2238       { Sid::user2FontFace,                      Pid::FONT_FACE              },
2239       { Sid::user2FontSize,                      Pid::FONT_SIZE              },
2240       { Sid::user2LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2241       { Sid::user2FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2242       { Sid::user2FontStyle,                     Pid::FONT_STYLE             },
2243       { Sid::user2Color,                         Pid::COLOR                  },
2244       { Sid::user2Align,                         Pid::ALIGN                  },
2245       { Sid::user2Offset,                        Pid::OFFSET                 },
2246       { Sid::user2FrameType,                     Pid::FRAME_TYPE             },
2247       { Sid::user2FramePadding,                  Pid::FRAME_PADDING          },
2248       { Sid::user2FrameWidth,                    Pid::FRAME_WIDTH            },
2249       { Sid::user2FrameRound,                    Pid::FRAME_ROUND            },
2250       { Sid::user2FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2251       { Sid::user2FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2252       }};
2253 
2254 const TextStyle user3TextStyle {{
2255       { Sid::user3FontFace,                      Pid::FONT_FACE              },
2256       { Sid::user3FontSize,                      Pid::FONT_SIZE              },
2257       { Sid::user3LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2258       { Sid::user3FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2259       { Sid::user3FontStyle,                     Pid::FONT_STYLE             },
2260       { Sid::user3Color,                         Pid::COLOR                  },
2261       { Sid::user3Align,                         Pid::ALIGN                  },
2262       { Sid::user3Offset,                        Pid::OFFSET                 },
2263       { Sid::user3FrameType,                     Pid::FRAME_TYPE             },
2264       { Sid::user3FramePadding,                  Pid::FRAME_PADDING          },
2265       { Sid::user3FrameWidth,                    Pid::FRAME_WIDTH            },
2266       { Sid::user3FrameRound,                    Pid::FRAME_ROUND            },
2267       { Sid::user3FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2268       { Sid::user3FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2269       }};
2270 
2271 const TextStyle user4TextStyle {{
2272       { Sid::user4FontFace,                      Pid::FONT_FACE              },
2273       { Sid::user4FontSize,                      Pid::FONT_SIZE              },
2274       { Sid::user4LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2275       { Sid::user4FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2276       { Sid::user4FontStyle,                     Pid::FONT_STYLE             },
2277       { Sid::user4Color,                         Pid::COLOR                  },
2278       { Sid::user4Align,                         Pid::ALIGN                  },
2279       { Sid::user4Offset,                        Pid::OFFSET                 },
2280       { Sid::user4FrameType,                     Pid::FRAME_TYPE             },
2281       { Sid::user4FramePadding,                  Pid::FRAME_PADDING          },
2282       { Sid::user4FrameWidth,                    Pid::FRAME_WIDTH            },
2283       { Sid::user4FrameRound,                    Pid::FRAME_ROUND            },
2284       { Sid::user4FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2285       { Sid::user4FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2286       }};
2287 
2288 const TextStyle user5TextStyle {{
2289       { Sid::user5FontFace,                      Pid::FONT_FACE              },
2290       { Sid::user5FontSize,                      Pid::FONT_SIZE              },
2291       { Sid::user5LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2292       { Sid::user5FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2293       { Sid::user5FontStyle,                     Pid::FONT_STYLE             },
2294       { Sid::user5Color,                         Pid::COLOR                  },
2295       { Sid::user5Align,                         Pid::ALIGN                  },
2296       { Sid::user5Offset,                        Pid::OFFSET                 },
2297       { Sid::user5FrameType,                     Pid::FRAME_TYPE             },
2298       { Sid::user5FramePadding,                  Pid::FRAME_PADDING          },
2299       { Sid::user5FrameWidth,                    Pid::FRAME_WIDTH            },
2300       { Sid::user5FrameRound,                    Pid::FRAME_ROUND            },
2301       { Sid::user5FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2302       { Sid::user5FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2303       }};
2304 
2305 const TextStyle user6TextStyle {{
2306       { Sid::user6FontFace,                      Pid::FONT_FACE              },
2307       { Sid::user6FontSize,                      Pid::FONT_SIZE              },
2308       { Sid::user6LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2309       { Sid::user6FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2310       { Sid::user6FontStyle,                     Pid::FONT_STYLE             },
2311       { Sid::user6Color,                         Pid::COLOR                  },
2312       { Sid::user6Align,                         Pid::ALIGN                  },
2313       { Sid::user6Offset,                        Pid::OFFSET                 },
2314       { Sid::user6FrameType,                     Pid::FRAME_TYPE             },
2315       { Sid::user6FramePadding,                  Pid::FRAME_PADDING          },
2316       { Sid::user6FrameWidth,                    Pid::FRAME_WIDTH            },
2317       { Sid::user6FrameRound,                    Pid::FRAME_ROUND            },
2318       { Sid::user6FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2319       { Sid::user6FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2320       }};
2321 
2322 const TextStyle user7TextStyle {{
2323       { Sid::user7FontFace,                      Pid::FONT_FACE              },
2324       { Sid::user7FontSize,                      Pid::FONT_SIZE              },
2325       { Sid::user7LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2326       { Sid::user7FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2327       { Sid::user7FontStyle,                     Pid::FONT_STYLE             },
2328       { Sid::user7Color,                         Pid::COLOR                  },
2329       { Sid::user7Align,                         Pid::ALIGN                  },
2330       { Sid::user7Offset,                        Pid::OFFSET                 },
2331       { Sid::user7FrameType,                     Pid::FRAME_TYPE             },
2332       { Sid::user7FramePadding,                  Pid::FRAME_PADDING          },
2333       { Sid::user7FrameWidth,                    Pid::FRAME_WIDTH            },
2334       { Sid::user7FrameRound,                    Pid::FRAME_ROUND            },
2335       { Sid::user7FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2336       { Sid::user7FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2337       }};
2338 
2339 const TextStyle user8TextStyle {{
2340       { Sid::user8FontFace,                      Pid::FONT_FACE              },
2341       { Sid::user8FontSize,                      Pid::FONT_SIZE              },
2342       { Sid::user8LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2343       { Sid::user8FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2344       { Sid::user8FontStyle,                     Pid::FONT_STYLE             },
2345       { Sid::user8Color,                         Pid::COLOR                  },
2346       { Sid::user8Align,                         Pid::ALIGN                  },
2347       { Sid::user8Offset,                        Pid::OFFSET                 },
2348       { Sid::user8FrameType,                     Pid::FRAME_TYPE             },
2349       { Sid::user8FramePadding,                  Pid::FRAME_PADDING          },
2350       { Sid::user8FrameWidth,                    Pid::FRAME_WIDTH            },
2351       { Sid::user8FrameRound,                    Pid::FRAME_ROUND            },
2352       { Sid::user8FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2353       { Sid::user8FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2354       }};
2355 
2356 const TextStyle user9TextStyle {{
2357       { Sid::user9FontFace,                      Pid::FONT_FACE              },
2358       { Sid::user9FontSize,                      Pid::FONT_SIZE              },
2359       { Sid::user9LineSpacing,                   Pid::TEXT_LINE_SPACING      },
2360       { Sid::user9FontSpatiumDependent,          Pid::SIZE_SPATIUM_DEPENDENT },
2361       { Sid::user9FontStyle,                     Pid::FONT_STYLE             },
2362       { Sid::user9Color,                         Pid::COLOR                  },
2363       { Sid::user9Align,                         Pid::ALIGN                  },
2364       { Sid::user9Offset,                        Pid::OFFSET                 },
2365       { Sid::user9FrameType,                     Pid::FRAME_TYPE             },
2366       { Sid::user9FramePadding,                  Pid::FRAME_PADDING          },
2367       { Sid::user9FrameWidth,                    Pid::FRAME_WIDTH            },
2368       { Sid::user9FrameRound,                    Pid::FRAME_ROUND            },
2369       { Sid::user9FrameFgColor,                  Pid::FRAME_FG_COLOR         },
2370       { Sid::user9FrameBgColor,                  Pid::FRAME_BG_COLOR         },
2371       }};
2372 
2373 const TextStyle user10TextStyle {{
2374       { Sid::user10FontFace,                     Pid::FONT_FACE              },
2375       { Sid::user10FontSize,                     Pid::FONT_SIZE              },
2376       { Sid::user10LineSpacing,                  Pid::TEXT_LINE_SPACING      },
2377       { Sid::user10FontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2378       { Sid::user10FontStyle,                    Pid::FONT_STYLE             },
2379       { Sid::user10Color,                        Pid::COLOR                  },
2380       { Sid::user10Align,                        Pid::ALIGN                  },
2381       { Sid::user10Offset,                       Pid::OFFSET                 },
2382       { Sid::user10FrameType,                    Pid::FRAME_TYPE             },
2383       { Sid::user10FramePadding,                 Pid::FRAME_PADDING          },
2384       { Sid::user10FrameWidth,                   Pid::FRAME_WIDTH            },
2385       { Sid::user10FrameRound,                   Pid::FRAME_ROUND            },
2386       { Sid::user10FrameFgColor,                 Pid::FRAME_FG_COLOR         },
2387       { Sid::user10FrameBgColor,                 Pid::FRAME_BG_COLOR         },
2388       }};
2389 
2390 const TextStyle user11TextStyle {{
2391       { Sid::user11FontFace,                     Pid::FONT_FACE              },
2392       { Sid::user11FontSize,                     Pid::FONT_SIZE              },
2393       { Sid::user11LineSpacing,                  Pid::TEXT_LINE_SPACING      },
2394       { Sid::user11FontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2395       { Sid::user11FontStyle,                    Pid::FONT_STYLE             },
2396       { Sid::user11Color,                        Pid::COLOR                  },
2397       { Sid::user11Align,                        Pid::ALIGN                  },
2398       { Sid::user11Offset,                       Pid::OFFSET                 },
2399       { Sid::user11FrameType,                    Pid::FRAME_TYPE             },
2400       { Sid::user11FramePadding,                 Pid::FRAME_PADDING          },
2401       { Sid::user11FrameWidth,                   Pid::FRAME_WIDTH            },
2402       { Sid::user11FrameRound,                   Pid::FRAME_ROUND            },
2403       { Sid::user11FrameFgColor,                 Pid::FRAME_FG_COLOR         },
2404       { Sid::user11FrameBgColor,                 Pid::FRAME_BG_COLOR         },
2405       }};
2406 
2407 const TextStyle user12TextStyle {{
2408       { Sid::user12FontFace,                     Pid::FONT_FACE              },
2409       { Sid::user12FontSize,                     Pid::FONT_SIZE              },
2410       { Sid::user12LineSpacing,                  Pid::TEXT_LINE_SPACING      },
2411       { Sid::user12FontSpatiumDependent,         Pid::SIZE_SPATIUM_DEPENDENT },
2412       { Sid::user12FontStyle,                    Pid::FONT_STYLE             },
2413       { Sid::user12Color,                        Pid::COLOR                  },
2414       { Sid::user12Align,                        Pid::ALIGN                  },
2415       { Sid::user12Offset,                       Pid::OFFSET                 },
2416       { Sid::user12FrameType,                    Pid::FRAME_TYPE             },
2417       { Sid::user12FramePadding,                 Pid::FRAME_PADDING          },
2418       { Sid::user12FrameWidth,                   Pid::FRAME_WIDTH            },
2419       { Sid::user12FrameRound,                   Pid::FRAME_ROUND            },
2420       { Sid::user12FrameFgColor,                 Pid::FRAME_FG_COLOR         },
2421       { Sid::user12FrameBgColor,                 Pid::FRAME_BG_COLOR         },
2422       }};
2423 
2424 //---------------------------------------------------------
2425 //   TextStyleName
2426 //---------------------------------------------------------
2427 
2428 struct TextStyleName {
2429       const char* name;
2430       const TextStyle* ts;
2431       Tid tid;
2432       };
2433 
2434 // Must be in sync with Tid enum (in types.h)
2435 
2436 static constexpr std::array<TextStyleName, int(Tid::TEXT_STYLES)> textStyles { {
2437       { QT_TRANSLATE_NOOP("TextStyle", "Default"),                 &defaultTextStyle,           Tid::DEFAULT },
2438 // Page-orientde styles
2439       { QT_TRANSLATE_NOOP("TextStyle", "Title"),                   &titleTextStyle,             Tid::TITLE },
2440       { QT_TRANSLATE_NOOP("TextStyle", "Subtitle"),                &subTitleTextStyle,          Tid::SUBTITLE },
2441       { QT_TRANSLATE_NOOP("TextStyle", "Composer"),                &composerTextStyle,          Tid::COMPOSER },
2442       { QT_TRANSLATE_NOOP("TextStyle", "Lyricist"),                &lyricistTextStyle,          Tid::POET },
2443       { QT_TRANSLATE_NOOP("TextStyle", "Translator"),              &translatorTextStyle,        Tid::TRANSLATOR },
2444       { QT_TRANSLATE_NOOP("TextStyle", "Frame"),                   &frameTextStyle,             Tid::FRAME },
2445       { QT_TRANSLATE_NOOP("TextStyle", "Instrument Name (Part)"),  &partInstrumentTextStyle,    Tid::INSTRUMENT_EXCERPT },
2446       { QT_TRANSLATE_NOOP("TextStyle", "Instrument Name (Long)"),  &longInstrumentTextStyle,    Tid::INSTRUMENT_LONG },
2447       { QT_TRANSLATE_NOOP("TextStyle", "Instrument Name (Short)"), &shortInstrumentTextStyle,   Tid::INSTRUMENT_SHORT },
2448       { QT_TRANSLATE_NOOP("TextStyle", "Instrument Change"),       &instrumentChangeTextStyle,  Tid::INSTRUMENT_CHANGE },
2449       { QT_TRANSLATE_NOOP("TextStyle", "Header"),                  &headerTextStyle,            Tid::HEADER },
2450       { QT_TRANSLATE_NOOP("TextStyle", "Footer"),                  &footerTextStyle,            Tid::FOOTER },
2451 // Measure-oriented styles
2452       { QT_TRANSLATE_NOOP("TextStyle", "Measure Number"),          &measureNumberTextStyle,     Tid::MEASURE_NUMBER },
2453       { QT_TRANSLATE_NOOP("TextStyle", "Multimeasure Rest Range"), &mmRestRangeTextStyle,      Tid::MMREST_RANGE },
2454 // Sytem-level styles
2455       { QT_TRANSLATE_NOOP("TextStyle", "Tempo"),                   &tempoTextStyle,             Tid::TEMPO },
2456       { QT_TRANSLATE_NOOP("TextStyle", "Metronome"),               &metronomeTextStyle,         Tid::METRONOME },
2457       { QT_TRANSLATE_NOOP("TextStyle", "Repeat Text Left"),        &repeatLeftTextStyle,        Tid::REPEAT_LEFT },
2458       { QT_TRANSLATE_NOOP("TextStyle", "Repeat Text Right"),       &repeatRightTextStyle,       Tid::REPEAT_RIGHT },
2459       { QT_TRANSLATE_NOOP("TextStyle", "Rehearsal Mark"),          &rehearsalMarkTextStyle,     Tid::REHEARSAL_MARK },
2460       { QT_TRANSLATE_NOOP("TextStyle", "System"),                  &systemTextStyle,            Tid::SYSTEM },
2461 // Staff oriented styles
2462       { QT_TRANSLATE_NOOP("TextStyle", "Staff"),                   &staffTextStyle,             Tid::STAFF },
2463       { QT_TRANSLATE_NOOP("TextStyle", "Expression"),              &expressionTextStyle,        Tid::EXPRESSION },
2464       { QT_TRANSLATE_NOOP("TextStyle", "Dynamics"),                &dynamicsTextStyle,          Tid::DYNAMICS },
2465       { QT_TRANSLATE_NOOP("TextStyle", "Hairpin"),                 &hairpinTextStyle,           Tid::HAIRPIN },
2466       { QT_TRANSLATE_NOOP("TextStyle", "Lyrics Odd Lines"),        &lyricsOddTextStyle,         Tid::LYRICS_ODD },
2467       { QT_TRANSLATE_NOOP("TextStyle", "Lyrics Even Lines"),       &lyricsEvenTextStyle,        Tid::LYRICS_EVEN },
2468       { QT_TRANSLATE_NOOP("TextStyle", "Chord Symbol"),            &chordSymbolTextStyleA,      Tid::HARMONY_A },
2469       { QT_TRANSLATE_NOOP("TextStyle", "Chord Symbol (Alternate)"),&chordSymbolTextStyleB,      Tid::HARMONY_B },
2470       { QT_TRANSLATE_NOOP("TextStyle", "Roman Numeral Analysis"),  &romanNumeralTextStyle,      Tid::HARMONY_ROMAN },
2471       { QT_TRANSLATE_NOOP("TextStyle", "Nashville Number"),        &nashvilleNumberTextStyle,   Tid::HARMONY_NASHVILLE },
2472 // Note oriented styles
2473       { QT_TRANSLATE_NOOP("TextStyle", "Tuplet"),                  &tupletTextStyle,            Tid::TUPLET },
2474       { QT_TRANSLATE_NOOP("TextStyle", "Sticking"),                &stickingTextStyle,          Tid::STICKING },
2475       { QT_TRANSLATE_NOOP("TextStyle", "Fingering"),               &fingeringTextStyle,         Tid::FINGERING },
2476       { QT_TRANSLATE_NOOP("TextStyle", "LH Guitar Fingering"),     &lhGuitarFingeringTextStyle, Tid::LH_GUITAR_FINGERING },
2477       { QT_TRANSLATE_NOOP("TextStyle", "RH Guitar Fingering"),     &rhGuitarFingeringTextStyle, Tid::RH_GUITAR_FINGERING },
2478       { QT_TRANSLATE_NOOP("TextStyle", "String Number"),           &stringNumberTextStyle,      Tid::STRING_NUMBER },
2479 // Line-oriented styles
2480       { QT_TRANSLATE_NOOP("TextStyle", "Text Line"),               &textLineTextStyle,          Tid::TEXTLINE },
2481       { QT_TRANSLATE_NOOP("TextStyle", "Volta"),                   &voltaTextStyle,             Tid::VOLTA },
2482       { QT_TRANSLATE_NOOP("TextStyle", "Ottava"),                  &ottavaTextStyle,            Tid::OTTAVA },
2483       { QT_TRANSLATE_NOOP("TextStyle", "Glissando"),               &glissandoTextStyle,         Tid::GLISSANDO },
2484       { QT_TRANSLATE_NOOP("TextStyle", "Pedal"),                   &pedalTextStyle,             Tid::PEDAL },
2485       { QT_TRANSLATE_NOOP("TextStyle", "Bend"),                    &bendTextStyle,              Tid::BEND },
2486       { QT_TRANSLATE_NOOP("TextStyle", "Let Ring"),                &letRingTextStyle,           Tid::LET_RING },
2487       { QT_TRANSLATE_NOOP("TextStyle", "Palm Mute"),               &palmMuteTextStyle,          Tid::PALM_MUTE },
2488 // User styles
2489       { QT_TRANSLATE_NOOP("TextStyle", "User-1"),                  &user1TextStyle,             Tid::USER1 },
2490       { QT_TRANSLATE_NOOP("TextStyle", "User-2"),                  &user2TextStyle,             Tid::USER2 },
2491       { QT_TRANSLATE_NOOP("TextStyle", "User-3"),                  &user3TextStyle,             Tid::USER3 },
2492       { QT_TRANSLATE_NOOP("TextStyle", "User-4"),                  &user4TextStyle,             Tid::USER4 },
2493       { QT_TRANSLATE_NOOP("TextStyle", "User-5"),                  &user5TextStyle,             Tid::USER5 },
2494       { QT_TRANSLATE_NOOP("TextStyle", "User-6"),                  &user6TextStyle,             Tid::USER6 },
2495       { QT_TRANSLATE_NOOP("TextStyle", "User-7"),                  &user7TextStyle,             Tid::USER7 },
2496       { QT_TRANSLATE_NOOP("TextStyle", "User-8"),                  &user8TextStyle,             Tid::USER8 },
2497       { QT_TRANSLATE_NOOP("TextStyle", "User-9"),                  &user9TextStyle,             Tid::USER9 },
2498       { QT_TRANSLATE_NOOP("TextStyle", "User-10"),                 &user10TextStyle,            Tid::USER10},
2499       { QT_TRANSLATE_NOOP("TextStyle", "User-11"),                 &user11TextStyle,            Tid::USER11},
2500       { QT_TRANSLATE_NOOP("TextStyle", "User-12"),                 &user12TextStyle,            Tid::USER12},
2501       } };
2502 
2503 //---------------------------------------------------------
2504 //   textStyle
2505 //---------------------------------------------------------
2506 
textStyle(const char * name)2507 const TextStyle* textStyle(const char* name)
2508       {
2509       for (const auto& s : textStyles) {
2510             if (strcmp(s.name, name) == 0)
2511                   return s.ts;
2512             }
2513       qDebug("textStyle <%s> not known", name);
2514       return textStyles[0].ts;
2515       }
2516 
textStyle(Tid idx)2517 const TextStyle* textStyle(Tid idx)
2518       {
2519       Q_ASSERT(idx == textStyles[int(idx)].tid);
2520       return textStyles[int(idx)].ts;
2521       }
2522 
2523 //---------------------------------------------------------
2524 //   TextStyleFromName
2525 //---------------------------------------------------------
2526 
textStyleFromName(const QString & name)2527 Tid textStyleFromName(const QString& name)
2528       {
2529       for (const auto& s : textStyles) {
2530             if (s.name == name)
2531                   return s.tid;
2532             }
2533       if (name == "Technique")                  // compatibility
2534             return Tid::EXPRESSION;
2535 
2536       qWarning("text style <%s> not known", qPrintable(name));
2537       return Tid::DEFAULT;
2538       }
2539 
2540 //---------------------------------------------------------
2541 //   textStyleName
2542 //---------------------------------------------------------
2543 
textStyleName(Tid idx)2544 const char* textStyleName(Tid idx)
2545       {
2546       Q_ASSERT(idx == textStyles[int(idx)].tid);
2547       return textStyles[int(idx)].name;
2548       }
2549 
2550 //---------------------------------------------------------
2551 //   textStyleUserName
2552 //---------------------------------------------------------
2553 
textStyleUserName(Tid idx)2554 QString textStyleUserName(Tid idx)
2555       {
2556       Q_ASSERT(idx == textStyles[int(idx)].tid);
2557       return qApp->translate("TextStyle", textStyleName(idx));
2558       }
2559 
2560 static std::vector<Tid> _allTextStyles;
2561 
2562 static const std::vector<Tid> _primaryTextStyles = {
2563       Tid::TITLE,
2564       Tid::SUBTITLE,
2565       Tid::COMPOSER,
2566       Tid::POET,
2567       Tid::TRANSLATOR,
2568       Tid::FRAME,
2569       Tid::INSTRUMENT_EXCERPT,
2570       Tid::INSTRUMENT_CHANGE,
2571       Tid::HEADER,
2572       Tid::FOOTER,
2573       Tid::MEASURE_NUMBER,
2574       Tid::MMREST_RANGE,
2575       Tid::TEMPO,
2576       Tid::REPEAT_LEFT,
2577       Tid::REPEAT_RIGHT,
2578       Tid::REHEARSAL_MARK,
2579       Tid::SYSTEM,
2580       Tid::STAFF,
2581       Tid::EXPRESSION,
2582       Tid::DYNAMICS,
2583       Tid::HAIRPIN,
2584       Tid::LYRICS_ODD,
2585       Tid::LYRICS_EVEN,
2586       Tid::HARMONY_A,
2587       Tid::HARMONY_B,
2588       Tid::HARMONY_ROMAN,
2589       Tid::HARMONY_NASHVILLE,
2590       Tid::STICKING,
2591       Tid::USER1,
2592       Tid::USER2,
2593       Tid::USER3,
2594       Tid::USER4,
2595       Tid::USER5,
2596       Tid::USER6,
2597       Tid::USER7,
2598       Tid::USER8,
2599       Tid::USER9,
2600       Tid::USER10,
2601       Tid::USER11,
2602       Tid::USER12,
2603       };
2604 
2605 //---------------------------------------------------------
2606 //   allTextStyles
2607 //---------------------------------------------------------
2608 
allTextStyles()2609 const std::vector<Tid>& allTextStyles()
2610       {
2611       if (_allTextStyles.empty()) {
2612             _allTextStyles.reserve(int(Tid::TEXT_STYLES));
2613             for (const auto& s : textStyles) {
2614                   if (s.tid == Tid::DEFAULT)
2615                         continue;
2616                   _allTextStyles.push_back(s.tid);
2617                   }
2618             }
2619       return _allTextStyles;
2620       }
2621 
2622 //---------------------------------------------------------
2623 //   primaryTextStyles
2624 //---------------------------------------------------------
2625 
primaryTextStyles()2626 const std::vector<Tid>& primaryTextStyles()
2627       {
2628       return _primaryTextStyles;
2629       }
2630 
pageStyles()2631 QSet<Sid> pageStyles()
2632 {
2633     static const QSet<Sid> styles {
2634         Sid::pageWidth,
2635         Sid::pageHeight,
2636         Sid::pagePrintableWidth,
2637         Sid::pageEvenTopMargin,
2638         Sid::pageEvenBottomMargin,
2639         Sid::pageEvenLeftMargin,
2640         Sid::pageOddTopMargin,
2641         Sid::pageOddBottomMargin,
2642         Sid::pageOddLeftMargin,
2643         Sid::pageTwosided,
2644         Sid::spatium
2645     };
2646 
2647     return styles;
2648 }
2649 
2650 //---------------------------------------------------------
2651 //   valueType
2652 //---------------------------------------------------------
2653 
valueType(const Sid i)2654 const char* MStyle::valueType(const Sid i)
2655       {
2656       return styleTypes[int(i)].valueType();
2657       }
2658 
2659 //---------------------------------------------------------
2660 //   value
2661 //---------------------------------------------------------
2662 
value(Sid idx) const2663 const QVariant& MStyle::value(Sid idx) const
2664       {
2665       const QVariant& val = _values[int(idx)];
2666       if (!val.isValid()) {
2667             qDebug("invalid style value %d %s", int(idx), MStyle::valueName(idx));
2668             static QVariant emptyVal;
2669             return emptyVal;
2670             }
2671       return val;
2672       }
2673 
2674 //---------------------------------------------------------
2675 //   valueName
2676 //---------------------------------------------------------
2677 
valueName(const Sid i)2678 const char* MStyle::valueName(const Sid i)
2679       {
2680       if (i == Sid::NOSTYLE)
2681             return "no style";
2682       return styleTypes[int(i)].name();
2683       }
2684 
2685 //---------------------------------------------------------
2686 //   styleIdx
2687 //---------------------------------------------------------
2688 
styleIdx(const QString & name)2689 Sid MStyle::styleIdx(const QString &name)
2690       {
2691       for (StyleType st : styleTypes) {
2692             if (st.name() == name)
2693                   return st.styleIdx();
2694             }
2695       return Sid::NOSTYLE;
2696       }
2697 
resolveStyleDefaults(const int defaultsVersion)2698 MStyle* MStyle::resolveStyleDefaults(const int defaultsVersion)
2699       {
2700       switch (defaultsVersion) {
2701             case LEGACY_MSC_VERSION_V3:
2702                  return styleDefaults301();
2703             case LEGACY_MSC_VERSION_V2:
2704                  return styleDefaults206();
2705             case LEGACY_MSC_VERSION_V1:
2706                  return styleDefaults114();
2707             default:
2708                  return &MScore::baseStyle();
2709           }
2710       }
2711 
2712 //---------------------------------------------------------
2713 //   Style
2714 //---------------------------------------------------------
2715 
MStyle()2716 MStyle::MStyle()
2717       {
2718       _defaultStyleVersion = MSCVERSION;
2719       _customChordList = false;
2720       for (const StyleType& t : styleTypes)
2721             _values[t.idx()] = t.defaultValue();
2722       }
2723 
2724 //---------------------------------------------------------
2725 //   precomputeValues
2726 //---------------------------------------------------------
2727 
precomputeValues()2728 void MStyle::precomputeValues()
2729       {
2730       qreal _spatium = value(Sid::spatium).toDouble();
2731       for (const StyleType& t : styleTypes) {
2732             if (!strcmp(t.valueType(), "Ms::Spatium"))
2733                   _precomputedValues[t.idx()] = _values[t.idx()].value<Spatium>().val() * _spatium;
2734             }
2735       }
2736 
2737 //---------------------------------------------------------
2738 //   isDefault
2739 //    caution: custom types need to register comparison operator
2740 //          to make this work
2741 //---------------------------------------------------------
2742 
isDefault(Sid idx) const2743 bool MStyle::isDefault(Sid idx) const
2744       {
2745       return value(idx) == resolveStyleDefaults(_defaultStyleVersion)->value(idx);
2746       }
2747 
setDefaultStyleVersion(const int defaultsVersion)2748 void MStyle::setDefaultStyleVersion(const int defaultsVersion)
2749       {
2750       _defaultStyleVersion = defaultsVersion;
2751       }
2752 
2753 //---------------------------------------------------------
2754 //   chordDescription
2755 //---------------------------------------------------------
2756 
chordDescription(int id) const2757 const ChordDescription* MStyle::chordDescription(int id) const
2758       {
2759       if (!_chordList.contains(id))
2760             return 0;
2761       return &*_chordList.find(id);
2762       }
2763 
2764 //---------------------------------------------------------
2765 //   checkChordList
2766 //---------------------------------------------------------
2767 
checkChordList()2768 void MStyle::checkChordList()
2769       {
2770       // make sure we have a chordlist
2771       if (!_chordList.loaded()) {
2772             qreal emag = value(Sid::chordExtensionMag).toDouble();
2773             qreal eadjust = value(Sid::chordExtensionAdjust).toDouble();
2774             qreal mmag = value(Sid::chordModifierMag).toDouble();
2775             qreal madjust = value(Sid::chordModifierAdjust).toDouble();
2776             _chordList.configureAutoAdjust(emag, eadjust, mmag, madjust);
2777             if (value(Sid::chordsXmlFile).toBool())
2778                   _chordList.read("chords.xml");
2779             _chordList.read(value(Sid::chordDescriptionFile).toString());
2780             }
2781       }
2782 
2783 //---------------------------------------------------------
2784 //   setChordList
2785 //---------------------------------------------------------
2786 
setChordList(ChordList * cl,bool custom)2787 void MStyle::setChordList(ChordList* cl, bool custom)
2788       {
2789       _chordList       = *cl;
2790       _customChordList = custom;
2791       }
2792 
2793 //---------------------------------------------------------
2794 //   set
2795 //---------------------------------------------------------
2796 
set(const Sid t,const QVariant & val)2797 void MStyle::set(const Sid t, const QVariant& val)
2798       {
2799       const int idx = int(t);
2800       _values[idx] = val;
2801       if (t == Sid::spatium)
2802             precomputeValues();
2803       else {
2804             if (!strcmp(styleTypes[idx].valueType(), "Ms::Spatium")) {
2805                   qreal _spatium = value(Sid::spatium).toDouble();
2806                   _precomputedValues[idx] = _values[idx].value<Spatium>().val() * _spatium;
2807                   }
2808             }
2809       }
2810 
2811 //---------------------------------------------------------
2812 //   readProperties
2813 //---------------------------------------------------------
2814 
readProperties(XmlReader & e)2815 bool MStyle::readProperties(XmlReader& e)
2816       {
2817       const QStringRef& tag(e.name());
2818 
2819       for (const StyleType& t : styleTypes) {
2820             Sid idx = t.styleIdx();
2821             if (t.name() == tag) {
2822                   const char* type = t.valueType();
2823                   if (!strcmp("Ms::Spatium", type))
2824                         set(idx, Spatium(e.readElementText().toDouble()));
2825                   else if (!strcmp("double", type))
2826                         set(idx, QVariant(e.readElementText().toDouble()));
2827                   else if (!strcmp("bool", type))
2828                         set(idx, QVariant(bool(e.readElementText().toInt())));
2829                   else if (!strcmp("int", type))
2830                         set(idx, QVariant(e.readElementText().toInt()));
2831                   else if (!strcmp("Ms::Direction", type))
2832                         set(idx, QVariant::fromValue(Direction(e.readElementText().toInt())));
2833                   else if (!strcmp("QString", type))
2834                         set(idx, QVariant(e.readElementText()));
2835                   else if (!strcmp("Ms::Align", type)) {
2836                         QStringList sl = e.readElementText().split(',');
2837                         if (sl.size() != 2) {
2838                               qDebug("bad align text <%s>", qPrintable(e.readElementText()));
2839                               return true;
2840                               }
2841                         Align align = Align::LEFT;
2842                         if (sl[0] == "center")
2843                               align = align | Align::HCENTER;
2844                         else if (sl[0] == "right")
2845                               align = align | Align::RIGHT;
2846                         else if (sl[0] == "left")
2847                               ;
2848                         else {
2849                               qDebug("bad align text <%s>", qPrintable(sl[0]));
2850                               return true;
2851                               }
2852                         if (sl[1] == "center")
2853                               align = align | Align::VCENTER;
2854                         else if (sl[1] == "bottom")
2855                               align = align | Align::BOTTOM;
2856                         else if (sl[1] == "baseline")
2857                               align = align | Align::BASELINE;
2858                         else if (sl[1] == "top")
2859                               ;
2860                         else {
2861                               qDebug("bad align text <%s>", qPrintable(sl[1]));
2862                               return true;
2863                               }
2864                         set(idx, QVariant::fromValue(align));
2865                         }
2866                   else if (!strcmp("QPointF", type)) {
2867                         qreal x = e.doubleAttribute("x", 0.0);
2868                         qreal y = e.doubleAttribute("y", 0.0);
2869                         set(idx, QPointF(x, y));
2870                         e.readElementText();
2871                         }
2872                   else if (!strcmp("QSizeF", type)) {
2873                         qreal x = e.doubleAttribute("w", 0.0);
2874                         qreal y = e.doubleAttribute("h", 0.0);
2875                         set(idx, QSizeF(x, y));
2876                         e.readElementText();
2877                         }
2878                   else if (!strcmp("QColor", type)) {
2879                         QColor c;
2880                         c.setRed(e.intAttribute("r"));
2881                         c.setGreen(e.intAttribute("g"));
2882                         c.setBlue(e.intAttribute("b"));
2883                         c.setAlpha(e.intAttribute("a", 255));
2884                         set(idx, c);
2885                         e.readElementText();
2886                         }
2887                   else {
2888                         qFatal("unhandled type %s", type);
2889                         }
2890                   return true;
2891                   }
2892             }
2893       if (readStyleValCompat(e))
2894             return true;
2895       return false;
2896       }
2897 
2898 //---------------------------------------------------------
2899 //   readStyleValCompat
2900 //    Read obsolete style values which may appear in files
2901 //    produced by older versions of MuseScore.
2902 //---------------------------------------------------------
2903 
readStyleValCompat(XmlReader & e)2904 bool MStyle::readStyleValCompat(XmlReader& e)
2905       {
2906       const QStringRef tag(e.name());
2907       if (tag == "tempoOffset") { // pre-3.0-beta
2908             const qreal x = e.doubleAttribute("x", 0.0);
2909             const qreal y = e.doubleAttribute("y", 0.0);
2910             const QPointF val(x, y);
2911             set(Sid::tempoPosAbove, val);
2912             set(Sid::tempoPosBelow, val);
2913             e.readElementText();
2914             return true;
2915             }
2916       if (readTextStyleValCompat(e))
2917             return true;
2918       return false;
2919       }
2920 
2921 //---------------------------------------------------------
2922 //   readTextStyleValCompat
2923 //    Handle transition from separate bold, underline and
2924 //    italic style properties to the single *FontStyle
2925 //    property set.
2926 //---------------------------------------------------------
2927 
readTextStyleValCompat(XmlReader & e)2928 bool MStyle::readTextStyleValCompat(XmlReader& e)
2929       {
2930       static const std::array<std::pair<const char*, FontStyle>, 3> styleNamesEndings {{
2931             { "FontBold",      FontStyle::Bold      },
2932             { "FontItalic",    FontStyle::Italic    },
2933             { "FontUnderline", FontStyle::Underline }
2934             }};
2935 
2936       const QStringRef tag(e.name());
2937       FontStyle readFontStyle = FontStyle::Normal;
2938       QStringRef typeName;
2939       for (auto& fontStyle : styleNamesEndings) {
2940             if (tag.endsWith(fontStyle.first)) {
2941                   readFontStyle = fontStyle.second;
2942                   typeName = tag.mid(0, tag.length() - int(strlen(fontStyle.first)));
2943                   break;
2944                   }
2945             }
2946       if (readFontStyle == FontStyle::Normal)
2947             return false;
2948 
2949       const QString newFontStyleName = typeName.toString() + "FontStyle";
2950       const Sid sid = MStyle::styleIdx(newFontStyleName);
2951       if (sid == Sid::NOSTYLE) {
2952             qWarning() << "readFontStyleValCompat: couldn't read text readFontStyle value:" << tag;
2953             return false;
2954             }
2955 
2956       const bool readVal = bool(e.readElementText().toInt());
2957       const QVariant val = value(sid);
2958       FontStyle newFontStyle = (val == QVariant()) ? FontStyle::Normal : FontStyle(val.toInt());
2959       if (readVal)
2960             newFontStyle = newFontStyle + readFontStyle;
2961       else
2962             newFontStyle = newFontStyle - readFontStyle;
2963 
2964       set(sid, int(newFontStyle));
2965       return true;
2966       }
2967 
2968 //---------------------------------------------------------
2969 //   load
2970 //---------------------------------------------------------
2971 
load(QFile * qf,bool ign)2972 bool MStyle::load(QFile* qf, bool ign)
2973       {
2974       XmlReader e(qf);
2975       while (e.readNextStartElement()) {
2976             if (e.name() == "museScore") {
2977                   QString version = e.attribute("version");
2978                   QStringList sl  = version.split('.');
2979                   int mscVersion  = sl[0].toInt() * 100 + sl[1].toInt();
2980                   if (mscVersion != MSCVERSION && !ign)
2981                         return false;
2982                   while (e.readNextStartElement()) {
2983                         if (e.name() == "Style")
2984                               load(e);
2985                         else
2986                               e.unknown();
2987                         }
2988                   }
2989             }
2990       return true;
2991       }
2992 
2993 extern void readPageFormat(MStyle* style, XmlReader& e);
2994 
load(XmlReader & e)2995 void MStyle::load(XmlReader& e)
2996       {
2997       QString oldChordDescriptionFile = value(Sid::chordDescriptionFile).toString();
2998       bool chordListTag = false;
2999       while (e.readNextStartElement()) {
3000             const QStringRef& tag(e.name());
3001 
3002             if (tag == "TextStyle")
3003                   //readTextStyle206(this, e);        // obsolete
3004                   e.readElementText();
3005             else if (tag == "ottavaHook") {           // obsolete, for 3.0dev bw. compatibility, should be removed in final release
3006                   qreal y = qAbs(e.readDouble());
3007                   set(Sid::ottavaHookAbove, y);
3008                   set(Sid::ottavaHookBelow, -y);
3009                   }
3010             else if (tag == "Spatium")
3011                   set(Sid::spatium, e.readDouble() * DPMM);
3012             else if (tag == "page-layout") {    // obsolete
3013                   readPageFormat(this, e);      // from read206.cpp
3014                   }
3015             else if (tag == "displayInConcertPitch")
3016                   set(Sid::concertPitch, QVariant(bool(e.readInt())));
3017             else if (tag == "ChordList") {
3018                   _chordList.clear();
3019                   _chordList.read(e);
3020                   _customChordList = true;
3021                   chordListTag = true;
3022                   }
3023             else if (tag == "lyricsDashMaxLegth") // pre-3.6 typo
3024                   set(Sid::lyricsDashMaxLength, e.readDouble());
3025             else if (!readProperties(e))
3026                   e.unknown();
3027             }
3028 
3029       // if we just specified a new chord description file
3030       // and didn't encounter a ChordList tag
3031       // then load the chord description file
3032 
3033       QString newChordDescriptionFile = value(Sid::chordDescriptionFile).toString();
3034       if (newChordDescriptionFile != oldChordDescriptionFile && !chordListTag) {
3035             if (!newChordDescriptionFile.startsWith("chords_") && value(Sid::chordStyle).toString() == "std") {
3036                   // should not normally happen,
3037                   // but treat as "old" (114) score just in case
3038                   set(Sid::chordStyle, QVariant(QString("custom")));
3039                   set(Sid::chordsXmlFile, QVariant(true));
3040                   qDebug("StyleData::load: custom chord description file %s with chordStyle == std", qPrintable(newChordDescriptionFile));
3041                   }
3042             if (value(Sid::chordStyle).toString() == "custom")
3043                   _customChordList = true;
3044             else
3045                   _customChordList = false;
3046             _chordList.unload();
3047             }
3048 
3049       if (!chordListTag)
3050             checkChordList();
3051       }
3052 
applyNewDefaults(const MStyle & other,const int defaultsVersion)3053 void MStyle::applyNewDefaults(const MStyle& other, const int defaultsVersion)
3054       {
3055       _defaultStyleVersion = defaultsVersion;
3056 
3057       for (auto st : qAsConst(styleTypes))
3058             if (isDefault(st.styleIdx())) {
3059                   st._defaultValue = other.value(st.styleIdx());
3060                   _values.at(st.idx()) = other.value(st.styleIdx());
3061             }
3062       }
3063 
3064 //---------------------------------------------------------
3065 //   save
3066 //---------------------------------------------------------
3067 
save(XmlWriter & xml,bool optimize)3068 void MStyle::save(XmlWriter& xml, bool optimize)
3069       {
3070       xml.stag("Style");
3071 
3072       for (const StyleType& st : styleTypes) {
3073             Sid idx = st.styleIdx();
3074             if (idx == Sid::spatium)       // special handling for spatium
3075                   continue;
3076             if (optimize && isDefault(idx))
3077                   continue;
3078             const char* type = st.valueType();
3079             if (!strcmp("Ms::Spatium", type))
3080                   xml.tag(st.name(), value(idx).value<Spatium>().val());
3081             else if (!strcmp("Ms::Direction", type))
3082                   xml.tag(st.name(), value(idx).toInt());
3083             else if (!strcmp("Ms::Align", type)) {
3084                   Align a = Align(value(idx).toInt());
3085                   // Don't write if it's the default value
3086                   if (optimize && a == Align(st.defaultValue().toInt()))
3087                         continue;
3088                   QString horizontal = "left";
3089                   QString vertical = "top";
3090                   if (a & Align::HCENTER)
3091                         horizontal = "center";
3092                   else if (a & Align::RIGHT)
3093                         horizontal = "right";
3094 
3095                   if (a & Align::VCENTER)
3096                         vertical = "center";
3097                   else if (a & Align::BOTTOM)
3098                         vertical = "bottom";
3099                   else if (a & Align::BASELINE)
3100                         vertical = "baseline";
3101 
3102                   xml.tag(st.name(), horizontal+","+vertical);
3103                   }
3104             else
3105                   xml.tag(st.name(), value(idx));
3106             }
3107       if (_customChordList && !_chordList.empty()) {
3108             xml.stag("ChordList");
3109             _chordList.write(xml);
3110             xml.etag();
3111             }
3112       xml.tag("Spatium", value(Sid::spatium).toDouble() / DPMM);
3113       xml.etag();
3114       }
3115 
3116 //---------------------------------------------------------
3117 //   reset
3118 //---------------------------------------------------------
3119 
resetAllStyles(Score * score,const QSet<Sid> & ignoredStyles)3120 void MStyle::resetAllStyles(Score* score, const QSet<Sid>& ignoredStyles)
3121       {
3122       for (const StyleType& st : styleTypes) {
3123            if (ignoredStyles.isEmpty() || !ignoredStyles.contains(st.styleIdx())) {
3124                 score->undo(new ChangeStyleVal(score, st.styleIdx(), MScore::defaultStyle().value(st.styleIdx())));
3125            }
3126       }
3127       }
3128 
resetStyles(Score * score,const QSet<Sid> & stylesToReset)3129 void MStyle::resetStyles(Score* score, const QSet<Sid>& stylesToReset)
3130       {
3131       for (const StyleType& st : styleTypes) {
3132            if (stylesToReset.contains(st.styleIdx())) {
3133                 score->undo(new ChangeStyleVal(score, st.styleIdx(), MScore::defaultStyle().value(st.styleIdx())));
3134            }
3135       }
3136       }
3137 
3138 #ifndef NDEBUG
3139 //---------------------------------------------------------
3140 //   checkStyles
3141 //---------------------------------------------------------
3142 
checkStyles()3143 void checkStyles()
3144       {
3145       int idx = 0;
3146       for (const StyleType& t : styleTypes) {
3147             Q_ASSERT(t.idx() == idx);
3148             ++idx;
3149             }
3150       idx = 0;
3151       for (auto a : textStyles) {
3152             Q_ASSERT(int(a.tid) == idx);
3153             ++idx;
3154             }
3155       }
3156 #endif
3157 
3158 }
3159