MUSX Document Model
Loading...
Searching...
No Matches
Options.h
1/*
2 * Copyright (C) 2025, Robert Patterson
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22#pragma once
23
24#include <string>
25#include <unordered_map>
26#include <vector>
27#include <memory>
28#include <optional>
29#include <stdexcept>
30
31#include "music_theory/music_theory.hpp"
32#include "BaseClasses.h"
33#include "CommonClasses.h"
34 // do not add other dom class dependencies. Use Implementations.h for implementations that need total class access.
35
36namespace musx {
37namespace dom {
38
39namespace others {
40class Staff;
41} // namespace others
42
47namespace options {
48
56public:
58 explicit AccidentalOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
59 : OptionsBase(document, partId, shareMode) {}
60
61 int minOverlap{};
67
68 constexpr static std::string_view XmlNodeName = "accidentalOptions";
70};
71
79public:
81 explicit AlternateNotationOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
82 : OptionsBase(document, partId, shareMode) {}
83
91
92 constexpr static std::string_view XmlNodeName = "alternateNotationOptions";
94};
95
103public:
105 explicit AugmentationDotOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
106 : OptionsBase(document, partId, shareMode) {}
107
124
125 constexpr static std::string_view XmlNodeName = "augmentationDotOptions";
127};
128
159
166class BeamOptions : public OptionsBase {
167public:
169 explicit BeamOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
170 : OptionsBase(document, partId, shareMode) {}
171
174 enum class FlattenStyle
175 {
176 OnEndNotes,
180 };
181
193 bool spanSpace{};
196
197 constexpr static std::string_view XmlNodeName = "beamOptions";
199};
200
207class ChordOptions : public OptionsBase {
208public:
210 explicit ChordOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
211 : OptionsBase(document, partId, shareMode) {}
212
217 enum class ChordAlignment
218 {
219 Left,
220 Center
221 };
222
225 enum class ChordStyle
226 {
227 Standard,
228 European,
229 German,
230 Roman,
231 NashvilleA,
232 NashvilleB,
233 Solfeggio, // xml value is "solfeggio"
234 Scandinavian
235 };
236
237 double fretPercent{};
238 double chordPercent{};
252
253 constexpr static std::string_view XmlNodeName = "chordOptions";
255};
256
261class ClefOptions : public OptionsBase {
262public:
266 using ClefInfo = std::pair<music_theory::ClefType, int>;
267
276 explicit ClefOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
277 : OptionsBase(document, partId, shareMode) {}
278
283 {
284 public:
286
288 char32_t clefChar{};
292 bool isShape{};
294 bool useOwnFont{};
295 std::shared_ptr<FontInfo> font;
296
298 bool isBlank() const;
299
306 ClefInfo calcInfo(const MusxInstance<others::Staff>& currStaff = nullptr) const;
307
308
313
315 };
316
326
330 std::vector<MusxInstance<ClefDef>> clefDefs;
331
336 {
337 MUSX_ASSERT_IF(clefIndex >= clefDefs.size()) {
338 throw std::out_of_range("Clef index " + std::to_string(clefIndex) + " does not exist in document.");
339 }
340 return clefDefs[clefIndex];
341 }
342
346 constexpr static std::string_view XmlNodeName = "clefOptions";
348};
349
386
394class FontOptions : public OptionsBase {
395public:
404 explicit FontOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
405 : OptionsBase(document, partId, shareMode) {}
406
461
467 std::unordered_map<FontType, MusxInstance<FontInfo>> fontOptions;
468
475
483 static MusxInstance<FontInfo> getFontInfoOrNull(const DocumentPtr& document, FontType type);
484
492
500 static MusxInstance<FontInfo> getFontInfo(const DocumentPtr& document, FontType type);
501
505 constexpr static std::string_view XmlNodeName = "fontOptions";
507};
508
516public:
518 explicit GraceNoteOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
519 : OptionsBase(document, partId, shareMode) {}
520
522 int gracePerc{};
527
528 constexpr static std::string_view XmlNodeName = "graceNoteOptions";
530};
531
539public:
541 explicit KeySignatureOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
542 : OptionsBase(document, partId, shareMode) {}
543
544 bool doKeyCancel{};
545 bool doCStart{};
556
557 constexpr static std::string_view XmlNodeName = "keySignatureOptions";
559};
560
590
597class LyricOptions : public OptionsBase {
598public:
600 explicit LyricOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
601 : OptionsBase(document, partId, shareMode) {}
602
605 enum class SmartHyphenStart {
606 Always,
607 Sometimes,
608 Never
609 };
610
614 None,
615 Align
616 };
617
621 LyricRightBottom,
622 HeadRightLyrBaseline,
623 SystemLeft,
624 SystemRight,
625 DotRightLyrBaseline,
626 DurationLyrBaseline
627 };
628
632 DefaultStart,
633 DefaultEnd,
634 SystemStart,
635 SystemEnd,
636 DottedEnd,
637 DurationEnd,
638 OneEntryEnd,
639 ZeroLengthEnd,
640 ZeroOffset
641 };
642
646 Default,
647 WordExt,
648 First,
649 SystemStart
650 };
651
652 char32_t hyphenChar{};
658 std::shared_ptr<FontInfo> altHyphenFont;
671
681
690
691 std::unordered_map<SyllablePosStyleType, std::shared_ptr<SyllablePosStyle>> syllablePosStyles;
692 std::unordered_map<WordExtConnectStyleType, std::shared_ptr<WordExtConnectStyle>> wordExtConnectStyles;
693
694 void integrityCheck(const std::shared_ptr<EnigmaBase>& ptrToThis) override
695 {
696 this->OptionsBase::integrityCheck(ptrToThis);
697 if (!altHyphenFont) {
698 altHyphenFont = std::make_shared<FontInfo>(getDocument());
699 }
700 if (lyricPunctuationToIgnore.empty()) {
701 lyricPunctuationToIgnore = ",.?!;:'\"“”‘’"; // this default punctuation set is taken from Document Without Libraries
702 }
703 }
704
705 constexpr static std::string_view XmlNodeName = "lyricOptions";
707};
708
739
747public:
749 explicit MultimeasureRestOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
750 : OptionsBase(document, partId, shareMode) {}
751
755 int numStart{};
761 bool useSymbols{};
764
765 constexpr static std::string_view XmlNodeName = "multimeasureRestOptions";
767};
768
776public:
778 explicit MusicSpacingOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
779 : OptionsBase(document, partId, shareMode) {}
780
784 {
785 None,
787 All
788 };
789
793 {
795 Automatic,
797 };
798
802 {
803 Clear,
804 Ignore,
806 };
807
808 // layoutType appears to be cruft left over from legacy Finale. The only value seems to be "entry".
825 bool usePrinter{};
829 double scalingFactor{};
835
836 constexpr static std::string_view XmlNodeName = "musicSpacingOptions";
838};
839
860{
861public:
863 explicit MusicSymbolOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
864 : OptionsBase(document, partId, shareMode)
865 {
866 }
867
868 char32_t noteheadQuarter{};
869 char32_t noteheadHalf{};
870 char32_t noteheadWhole{};
871 char32_t noteheadDblWhole{};
872 char32_t natural{};
873 char32_t flat{};
874 char32_t sharp{};
875 char32_t dblFlat{};
876 char32_t dblSharp{};
877 char32_t parenNatural{};
878 char32_t parenFlat{};
879 char32_t parenSharp{};
880 char32_t parenDblFlat{};
881 char32_t parenDblSharp{};
882 char32_t chordNatural{};
883 char32_t chordFlat{};
884 char32_t chordSharp{};
885 char32_t chordDblFlat{};
886 char32_t chordDblSharp{};
887 char32_t keySigNatural{};
888 char32_t keySigFlat{};
889 char32_t keySigSharp{};
890 char32_t keySigDblFlat{};
891 char32_t keySigDblSharp{};
892 char32_t restLonga{};
893 char32_t restDblWhole{};
894 char32_t restWhole{};
895 char32_t restHalf{};
896 char32_t restQuarter{};
897 char32_t restEighth{};
898 char32_t rest16th{};
899 char32_t rest32nd{};
900 char32_t rest64th{};
901 char32_t rest128th{};
902 char32_t restDefMeas{};
905 char32_t oneBarRepeat{};
906 char32_t twoBarRepeat{};
907 char32_t slashBar{};
908 char32_t quarterSlash{};
909 char32_t halfSlash{};
910 char32_t wholeSlash{};
911 char32_t dblWholeSlash{};
912 char32_t timeSigPlus{};
913 char32_t timeSigPlusParts{};
914 char32_t timeSigAbrvCommon{};
915 char32_t timeSigAbrvCut{};
918 char32_t augDot{};
919 char32_t forwardRepeatDot{};
920 char32_t backRepeatDot{};
921 char32_t eightVaUp{};
922 char32_t eightVbDown{};
923 char32_t fifteenMaUp{};
924 char32_t fifteenMbDown{};
925 char32_t trillChar{};
926 char32_t wiggleChar{};
927 char32_t flagUp{};
928 char32_t flagDown{};
929 char32_t flag16Up{};
930 char32_t flag16Down{};
931 char32_t flag2Up{};
932 char32_t flag2Down{};
933 char32_t flagStraightUp{};
934 char32_t flagStraightDown{};
935
936 constexpr static std::string_view XmlNodeName = "musicSymbolOptions";
938};
939
945public:
947 explicit NoteRestOptions(const DocumentPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
948 : OptionsBase(document, partId, shareMode) {}
949
956 class NoteColor {
957 public:
958 uint16_t red{};
959 uint16_t green{};
960 uint16_t blue{};
961
964 };
965
976 bool drawOutline{};
977 std::vector<std::shared_ptr<NoteColor>> noteColors{};
978
979 void integrityCheck(const std::shared_ptr<EnigmaBase>& ptrToThis) override
980 {
981 this->OptionsBase::integrityCheck(ptrToThis);
982 const size_t currentSize = noteColors.size();
983 if (currentSize < music_theory::STANDARD_12EDO_STEPS) {
984 for (size_t x = currentSize; x < music_theory::STANDARD_12EDO_STEPS; x++) {
985 noteColors.emplace_back(std::make_shared<NoteColor>()); // default values are all zero, so this is setting missing values to black color
986 }
987 MUSX_INTEGRITY_ERROR("Only " + std::to_string(currentSize) + " note colors provided. "
988 + std::to_string(music_theory::STANDARD_12EDO_STEPS) + " were expected.");
989 } else if (currentSize > music_theory::STANDARD_12EDO_STEPS) {
991 MUSX_INTEGRITY_ERROR(std::to_string(currentSize) + " note colors provided. Only "
992 + std::to_string(music_theory::STANDARD_12EDO_STEPS) + " were expected.");
993 }
994 }
995
996 constexpr static std::string_view XmlNodeName = "noteRestOptions";
998};
999
1008public:
1014 {
1015 Current,
1016 All,
1017 LeftOrRight,
1018 PageRange
1019 };
1020
1072
1073 // Properties
1075 std::shared_ptr<PageFormat> pageFormatScore;
1076 std::shared_ptr<PageFormat> pageFormatParts;
1078
1092
1100 explicit PageFormatOptions(const DocumentPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1101 : OptionsBase(document, partId, shareMode) {}
1102
1106 constexpr static std::string_view XmlNodeName = "pageFormatOptions";
1108};
1109
1138
1199
1207public:
1209 explicit SmartShapeOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1210 : OptionsBase(document, partId, shareMode) {}
1211
1215 {
1216 HeadLeftTop,
1217 HeadRightTop,
1218 HeadRightBottom,
1219 HeadLeftBottom,
1220 StemLeftTop,
1221 StemRightTop,
1222 StemRightBottom,
1223 StemLeftBottom,
1224 NoteLeftTop,
1225 NoteRightTop,
1226 NoteRightBottom,
1227 NoteLeftBottom,
1228 NoteLeftCenter,
1229 NoteRightCenter
1230 };
1231
1235 {
1236 OverNoteStart,
1237 OverNoteEnd,
1238 OverStemStart,
1239 OverStemEnd,
1240 UnderNoteStart,
1241 UnderNoteEnd,
1242 UnderStemStart,
1243 UnderStemEnd,
1244 OverMixStemStart,
1245 OverMixStemEnd,
1246 OverStemGrace,
1247 OverStemPrincipal,
1248 UnderStemGrace,
1249 UnderStemPrincipal,
1250 UnderNoteGrace,
1251 UnderStemNotePrincipal,
1252 OverNoteGrace,
1253 OverStemNotePrincipal,
1254 OverBeamStart,
1255 OverBeamEnd,
1256 UnderBeamStart,
1257 UnderBeamEnd,
1258 OverMixFlagStart,
1259 OverFlagStart,
1260 UnderFlagStart,
1261 OverTabNumStart,
1262 OverTabNumEnd,
1263 UnderTabNumStart,
1264 UnderTabNumEnd
1265 };
1266
1270 {
1271 DiffLevelPitchUpLineStart,
1272 DiffLevelPitchUpLineEnd,
1273 DiffLevelPitchUpSpaceStart,
1274 DiffLevelPitchUpSpaceEnd,
1275 DiffLevelPitchDownLineStart,
1276 DiffLevelPitchDownLineEnd,
1277 DiffLevelPitchDownSpaceStart,
1278 DiffLevelPitchDownSpaceEnd,
1279 SameLevelPitchUpLineStart,
1280 SameLevelPitchUpLineEnd,
1281 SameLevelPitchUpSpaceStart,
1282 SameLevelPitchUpSpaceEnd,
1283 SameLevelPitchDownLineStart,
1284 SameLevelPitchDownLineEnd,
1285 SameLevelPitchDownSpaceStart,
1286 SameLevelPitchDownSpaceEnd,
1287 SameLevelPitchSameStart,
1288 SameLevelPitchSameEnd
1289 };
1290
1294 {
1295 DefaultStart,
1296 DefaultEnd
1297 };
1298
1302 {
1303 NoteStart,
1304 StaffEnd,
1305 StaffStart,
1306 NoteEnd,
1307 StaffToTopLineStart,
1308 StaffFromTopLineEnd,
1309 StaffEndOffset,
1310 StaffFromTopEndOffset
1311 };
1312
1316 {
1317 ShortSpan,
1318 MediumSpan,
1319 LongSpan,
1320 ExtraLongSpan
1321 };
1322
1364
1373
1382
1383 std::unordered_map<SlurConnectStyleType, std::shared_ptr<ConnectionStyle>> slurConnectStyles;
1384 std::unordered_map<SlurControlStyleType, std::shared_ptr<ControlStyle>> slurControlStyles;
1385 std::unordered_map<TabSlideConnectStyleType, std::shared_ptr<ConnectionStyle>> tabSlideConnectStyles;
1386 std::unordered_map<GlissandoConnectStyleType, std::shared_ptr<ConnectionStyle>> glissandoConnectStyles;
1387 std::unordered_map<BendCurveConnectStyleType, std::shared_ptr<ConnectionStyle>> bendCurveConnectStyles;
1388
1389 constexpr static std::string_view XmlNodeName = "smartShapeOptions";
1391};
1392
1401
1402public:
1404 explicit StaffOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1405 : OptionsBase(document, partId, shareMode) {}
1406
1410
1411 std::shared_ptr<NamePositioning> namePos;
1412 std::shared_ptr<NamePositioning> namePosAbbrv;
1413 std::shared_ptr<NamePositioning> groupNameFullPos;
1414 std::shared_ptr<NamePositioning> groupNameAbbrvPos;
1415
1416 constexpr static std::string_view XmlNodeName = "staffOptions";
1418};
1419
1426class StemOptions : public OptionsBase {
1427public:
1429 explicit StemOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1430 : OptionsBase(document, partId, shareMode)
1431 {
1432 }
1433
1450
1459
1471 std::vector<std::shared_ptr<StemConnection>> stemConnections;
1472
1473 constexpr static std::string_view XmlNodeName = "stemOptions";
1475};
1476
1480{
1481 Sharp,
1482 Flat,
1483 Natural,
1484 DblSharp,
1485 DblFlat
1486};
1487
1497{
1498public:
1499 static constexpr int DEFAULT_LINE_SPACING_PERCENT = 100;
1500
1502 explicit TextOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1503 : OptionsBase(document, partId, shareMode)
1504 {
1505 }
1506
1511
1517 {
1518 Top, // default value: leave as first (0) item
1519 Center,
1520 Bottom
1521 };
1522
1525 enum class TextJustify {
1526 Left,
1527 Center,
1528 Right,
1529 Full,
1530 ForcedFull
1531 };
1532
1537 std::optional<int> textLineSpacingPercent;
1538 std::optional<Evpu> textLineSpacingEvpu;
1552
1555 {
1557
1561 std::shared_ptr<FontInfo> symFont;
1562 char32_t symChar{};
1563
1564 void integrityCheck(const std::shared_ptr<EnigmaBase>& ptrToThis) override
1565 {
1566 this->ContainedClassBase::integrityCheck(ptrToThis);
1567 if (!symFont) {
1568 symFont = std::make_shared<FontInfo>(getDocument(), /*sizeIsPercent*/ true);
1569 symFont->fontSize = 100;
1570 MUSX_INTEGRITY_ERROR("Text options accidental insert information is missing its font information.");
1571 }
1572 }
1573
1575 };
1576
1577 std::unordered_map<AccidentalInsertSymbolType, std::shared_ptr<InsertSymbolInfo>> symbolInserts;
1578
1579 void integrityCheck(const std::shared_ptr<EnigmaBase>& ptrToThis) override
1580 {
1581 this->OptionsBase::integrityCheck(ptrToThis);
1583 textLineSpacingEvpu.reset();
1584 MUSX_INTEGRITY_ERROR("Text options specify both a percent and an absolute line spacing. "
1585 "The absolute value was discarded.");
1587 textLineSpacingPercent = DEFAULT_LINE_SPACING_PERCENT;
1588 MUSX_INTEGRITY_ERROR("Text options specify no line spacing. "
1589 + std::to_string(DEFAULT_LINE_SPACING_PERCENT) + " percent was assumed.");
1590 }
1591 }
1592
1593 constexpr static std::string_view XmlNodeName = "textOptions";
1595};
1596
1603class TieOptions : public OptionsBase {
1604public:
1606 explicit TieOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1607 : OptionsBase(document, partId, shareMode) {}
1608
1614 {
1615 None,
1617 };
1618
1624 {
1626 StemReversal,
1627 SplitEvenly,
1628 Unknown
1629 };
1630
1636 {
1637 Over,
1638 Under,
1640 };
1641
1647 {
1648 None,
1649 Avoid
1650 };
1651
1656 enum class InsetStyle
1657 {
1658 Fixed,
1659 Percent
1660 };
1661
1667 {
1668 ShortSpan,
1669 MediumSpan,
1670 LongSpan,
1671 TieEnds
1672 };
1673
1700
1708
1710 std::unordered_map<TieConnectStyleType, std::shared_ptr<ConnectStyle>> tieConnectStyles;
1711
1720
1724 std::shared_ptr<ControlPoint> cp1;
1725 std::shared_ptr<ControlPoint> cp2;
1726
1728 };
1729
1731 std::unordered_map<ControlStyleType, std::shared_ptr<ControlStyle>> tieControlStyles;
1732
1733 constexpr static std::string_view XmlNodeName = "tieOptions";
1735};
1736
1768
1776public:
1778 explicit TupletOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1779 : OptionsBase(document, partId, shareMode) {}
1780
1786 {
1787 Always,
1788 UnbeamedOnly,
1790 };
1791
1800 enum class NumberStyle
1801 {
1802 Nothing,
1803 Number,
1804 UseRatio,
1807 };
1808
1814 {
1815 Manual,
1816 BeamSide,
1817 NoteSide,
1818 Above,
1819 Below
1820 };
1821
1826 enum class BracketStyle
1827 {
1828 Nothing,
1829 Slur,
1830 Bracket
1831 };
1832
1837 bool alwaysFlat{};
1838 bool fullDura{};
1840 bool avoidStaff{};
1848 bool allowHorz{};
1851 bool matchHooks{};
1864
1865 constexpr static std::string_view XmlNodeName = "tupletOptions";
1867};
1868
1869} // namespace options
1870} // namespace dom
1871} // namespace musx
EnigmaBase class for classes that are contained by other classes.
Definition BaseClasses.h:179
ContainedClassBase(const MusxInstance< EnigmaBase > &parent)
Constructs a ContainedClassBase object.
Definition BaseClasses.h:211
DocumentPtr getDocument() const
Gets a reference to the Document.
Definition DocumentElement.h:58
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:95
virtual void integrityCheck(const std::shared_ptr< EnigmaBase > &ptrToThis)
Performs a final consistency check after population.
Definition BaseClasses.h:116
EnigmaBase class for all "options" types.
Definition BaseClasses.h:239
Options controlling the appearance and positioning of accidentals.
Definition Options.h:55
bool crossLayerPositioning
"Use Cross-Layer Accidental Positioning" (xml node is <useNewAcciPositioning>)
Definition Options.h:63
int minOverlap
"Minimum Vertical Spacing Between Accidentals (Measured in Steps)" (xml node is <overlap>)
Definition Options.h:61
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:68
static const xml::XmlElementArray< AccidentalOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu startMeasureSepar
"Adjustment at Start of Measure"–The sign is reversed in the Finale UI. (xml node is <frontAcciSepar>...
Definition Options.h:64
AccidentalOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:58
Evpu acciNoteSpace
Space between accidentals and notes.
Definition Options.h:65
Evpu acciAcciSpace
Space between accidentals.
Definition Options.h:66
Evpu multiCharSpace
"Space Within Multi-Character Accidentals" (xml node is <bacciAdd>)
Definition Options.h:62
Options controlling the appearance of alternate notation.
Definition Options.h:78
Evpu dWholeSlashLift
LBaseline adjustment for double whole diamond in Evpu.
Definition Options.h:86
Evpu halfSlashLift
Baseline adjustment for half diamond in Evpu.
Definition Options.h:84
static const xml::XmlElementArray< AlternateNotationOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:92
Evpu quartSlashLift
Baseline adjustment for quarter slashes in Evpu.
Definition Options.h:89
Evpu wholeSlashLift
Baseline adjustment for whole diamond in Evpu.
Definition Options.h:85
Evpu quartSlashStemLift
Stem connection value for quarter slashes in Evpu.
Definition Options.h:88
AlternateNotationOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:81
Evpu halfSlashStemLift
Stem connection value for half diamond in Evpu.
Definition Options.h:87
Evpu twoMeasNumLift
Vertical offset for two-bar repeat numbers in Evpu.
Definition Options.h:90
Options controlling the appearance of augmentation dots.
Definition Options.h:102
bool useLegacyFlippedStemPositioning
Use legacy dot positioning on flipped stems.
Definition Options.h:123
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:125
AugmentationDotOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:105
bool adjMultipleVoices
"Adjust Dots for Multiple Voices" (xml node is <doDotDownAdjust>)
Definition Options.h:110
Evpu dotNoteOffset
"Space Between Dot and Note" (xml node is <dotFirstOffset>)
Definition Options.h:111
Evpu dotLift
"Vertical Adjustment of Dot"
Definition Options.h:112
Evpu dotUpFlagOffset
"Horizontal Adjustment for Upstem Flags"
Definition Options.h:108
Evpu dotOffset
"Space Between Dots"
Definition Options.h:109
static const xml::XmlElementArray< AugmentationDotOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Options controlling the appearance of barlines.
Definition Options.h:135
Efix doubleBarlineSpace
Space between double barlines in Efix.
Definition Options.h:151
Efix barlineWidth
Width of thin barlines in Efix.
Definition Options.h:150
Evpu barlineDashOff
Dash space for dashed barlines in Evpu.
Definition Options.h:154
Efix finalBarlineSpace
Space between final barlines in Efix.
Definition Options.h:152
bool drawFinalBarlineOnLastMeas
"Final Barline at End of Piece"
Definition Options.h:144
bool drawLeftBarlineSingleStaff
Left Barlines: "Display on Single Staves".
Definition Options.h:146
Efix thickBarlineWidth
Width of thick barlines in Efix.
Definition Options.h:149
bool drawCloseSystemBarline
"Close Barline at End of Each System"
Definition Options.h:142
bool drawBarlines
"Display All Barlines"
Definition Options.h:141
bool drawDoubleBarlineBeforeKeyChanges
"Double Barline Before Key Changes"
Definition Options.h:145
BarlineOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:138
bool drawLeftBarlineMultipleStaves
Left Barlines: "Display on Multiple Staves".
Definition Options.h:147
bool leftBarlineUsePrevStyle
Left Barlines: "Default Style is Previous Measure's Right Barline".
Definition Options.h:148
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:156
Evpu barlineDashOn
Dash length for dashed barlines in Evpu.
Definition Options.h:153
static const xml::XmlElementArray< BarlineOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool drawCloseFinalBarline
"Close Barline at End of Piece"
Definition Options.h:143
Options controlling the appearance of beams.
Definition Options.h:166
bool extendSecBeamsOverRests
"Extend Secondary Beams Over Rests"
Definition Options.h:194
Evpu beamStubLength
"Broken Beam Length" in Evpu.
Definition Options.h:182
BeamOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:169
Evpu maxFromMiddle
"Maximum Distance from Middle Staff Line" in Evpu. (xml node is <hmBeamTip>)
Definition Options.h:185
bool extendBeamsOverRests
"Extend Beams Over Rests" (xml node is <incEdgeRestsInBeamGroups>)
Definition Options.h:187
FlattenStyle
Beaming style choices for when to flatten beams.
Definition Options.h:175
@ OnExtremeNote
Flatten based on extreme note.
@ OnEndNotes
Flatten based on end notes only (the legacy default)
@ OnStandardNote
Flatten based on standard note.
bool spanSpace
"Allow Primary Beam Within a Space"
Definition Options.h:193
bool incRestsInFourGroups
"Include Rests when Beaming in Group of Four" (xml node is <incRestsInClassicBeams>)
Definition Options.h:188
bool oldFinaleRestBeams
Compatibility setting for legacy Finale files.
Definition Options.h:192
Evpu maxSlope
Maximum slope in Evpu.
Definition Options.h:183
Efix beamWidth
Thickness of beams in Efix.
Definition Options.h:195
bool beamThreeEighthsInCommonTime
"Beam Three Eighth Notes Together Before/After An Eighth Rest"
Definition Options.h:190
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:197
static const xml::XmlElementArray< BeamOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
FlattenStyle beamingStyle
Beaming style.
Definition Options.h:186
Evpu beamSepar
Secondary beam separation in Evpu. This is the distance between the top of one beam to the top of the...
Definition Options.h:184
bool beamFourEighthsInCommonTime
"Beam Four Eighth Notes Together in Common Time"
Definition Options.h:189
bool dispHalfStemsOnRests
"Display Half-Stems for Beamed Rests" (xml node is <doStemStubs>)
Definition Options.h:191
Options controlling chord symbol and fretboard rendering.
Definition Options.h:207
bool italicizeCapoChords
Italicize capo chords.
Definition Options.h:247
Cmper fretStyleId
Default others::FretboardStyle ID.
Definition Options.h:243
ChordOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:210
static const xml::XmlElementArray< ChordOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
double chordPercent
Percent size of chord symbol relative to default. (100.0 is 100%)
Definition Options.h:238
bool useFretboardFont
Selects the fretboard font rather than group/style. Finale has no known UI for this and may never ref...
Definition Options.h:246
bool chordPlayback
Enable chord symbol playback.
Definition Options.h:251
Evpu chordSharpLift
Vertical offset for sharp chord symbols.
Definition Options.h:239
double fretPercent
Percent size of fretboard relative to default. (100.0 is 100%)
Definition Options.h:237
bool multiFretItemsPerStr
Allow multiple fret items per string.
Definition Options.h:245
ChordStyle chordStyle
Style of chord spelling.
Definition Options.h:249
bool useSimpleChordSpelling
Use simplified chord spelling.
Definition Options.h:250
ChordStyle
Chord spelling style.
Definition Options.h:226
@ Standard
this is the default and may not appear in the xml
bool showFretboards
Display fretboards.
Definition Options.h:242
Cmper fretInstId
Default others::FretInstrument ID.
Definition Options.h:244
ChordAlignment chordAlignment
Horizontal alignment for chord symbols.
Definition Options.h:248
Evpu chordFlatLift
Vertical offset for flat chord symbols.
Definition Options.h:240
ChordAlignment
Horizontal alignment for chord symbols.
Definition Options.h:218
@ Left
this is the default and may not appear in the xml
Evpu chordNaturalLift
Vertical offset for natural chord symbols.
Definition Options.h:241
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:253
Represents a single clef definition.
Definition Options.h:283
Cmper shapeId
Shape ID if the clef is represented as a shape. (xml node is <shapeID>)
Definition Options.h:291
bool isBlank() const
Returns true if this is a blank clef.
Definition Options.cpp:38
MusxInstance< FontInfo > calcFont() const
Calculate the font that applies to this clef, based on the options in ClefDef.
Definition Options.cpp:118
char32_t clefChar
UTF-32 character code for the clef symbol.
Definition Options.h:288
Efix baselineAdjust
Additional baseline adjustment in Efix. (xml node is <baseAdjust>)
Definition Options.h:290
static const xml::XmlElementArray< ClefDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool useOwnFont
Indicates if the clef has its own font.
Definition Options.h:294
int middleCPos
Staff position of middle-C for this clef from reference staffline (usually the top)....
Definition Options.h:287
bool isShape
Indicates if the clef is a shape.
Definition Options.h:292
ClefInfo calcInfo(const MusxInstance< others::Staff > &currStaff=nullptr) const
Calculates and returns the clef information.
Definition Options.cpp:50
bool scaleToStaffHeight
Indicates if the shape should scale to staff height.
Definition Options.h:293
std::shared_ptr< FontInfo > font
When useOwnFont is true, this is the clef's font. Otherwise nullptr.
Definition Options.h:295
int staffPosition
Staff position of the clef symbol's baseline, from reference staffline (usually the top)....
Definition Options.h:289
Options for configuring clefs in a musical context.
Definition Options.h:261
Evpu clefBackSepar
Spacing after clef. (xml node is <clefBack>)
Definition Options.h:321
std::pair< music_theory::ClefType, int > ClefInfo
Information about a ClefDef consisting of its clef type and octave transposition. For example,...
Definition Options.h:266
Evpu clefChangeOffset
Offset from next barline for end-of-measure clef changes. (xml node is <endMeasClefPosAdd>).
Definition Options.h:319
Evpu clefTimeSepar
"Extra Space Between Clef and Time Signature" (xml node is <clefTime>)
Definition Options.h:324
int clefChangePercent
Percentage adjustment for end-of-measure clef changes. 100 means no adjustment. (xml node is <endMeas...
Definition Options.h:318
std::vector< MusxInstance< ClefDef > > clefDefs
Vector of clef definitions (ClefDef).
Definition Options.h:330
Evpu clefFrontSepar
Spacing before clef. (xml node is <clefFront>)
Definition Options.h:320
Evpu clefKeySepar
"Extra Space Between Clef and Key Signature" (xml node is <clefKey>)
Definition Options.h:323
ClefOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:276
ClefIndex defaultClef
Default clef identifier. An index into clefDefs.
Definition Options.h:317
MusxInstance< ClefDef > getClefDef(ClefIndex clefIndex) const
Bounds-checked accessor function for clefDefs.
Definition Options.h:335
bool showClefFirstSystemOnly
"Display Clef Only on First System"
Definition Options.h:322
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:346
bool cautionaryClefChanges
"Display Courtesy Clef a End of Staff System"
Definition Options.h:325
static const xml::XmlElementArray< ClefOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Options controlling the appearance and adjustments of flags.
Definition Options.h:356
FlagOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:359
Evpu secondaryGroupAdj
"Secondary Group Adjust" in Evpu. (xml node is <extra>)
Definition Options.h:381
Efix downHAdj
Horizontal adjustment for downward flags in Efix.
Definition Options.h:364
Efix downHAdj2
Horizontal adjustment for secondary downward flags in Efix.
Definition Options.h:366
Efix downVAdj16
Vertical adjustment for sixteenth downward flags in Efix.
Definition Options.h:377
Efix stDownVAdj
Vertical adjustment for straight downward flags in Efix.
Definition Options.h:379
Efix stDownHAdj
Horizontal adjustment for straight downward flags in Efix.
Definition Options.h:371
Efix downVAdj
Vertical adjustment for downward flags in Efix.
Definition Options.h:373
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:383
Efix upHAdj16
Horizontal adjustment for sixteenth upward flags in Efix.
Definition Options.h:367
Efix upHAdj
Horizontal adjustment for upward flags in Efix.
Definition Options.h:363
Efix downHAdj16
Horizontal adjustment for sixteenth downward flags in Efix.
Definition Options.h:368
Efix stUpVAdj
Vertical adjustment for straight upward flags in Efix.
Definition Options.h:378
Efix stUpHAdj
Horizontal adjustment for straight upward flags in Efix.
Definition Options.h:370
Efix upVAdj16
Vertical adjustment for sixteenth upward flags in Efix.
Definition Options.h:376
Efix upHAdj2
Horizontal adjustment for secondary upward flags in Efix.
Definition Options.h:365
Evpu flagSpacing
"Flag Spacing" in Evpu. (xml node is <separ>)
Definition Options.h:380
Efix eighthFlagHoist
Hoist value for eighth note flags in Efix. (This value is not on Finale's UI page for Flag Options....
Definition Options.h:369
Efix upVAdj
Vertical adjustment for upward flags in Efix.
Definition Options.h:372
Efix downVAdj2
Vertical adjustment for secondary downward flags in Efix.
Definition Options.h:375
bool straightFlags
Whether to use straight flags.
Definition Options.h:362
static const xml::XmlElementArray< FlagOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix upVAdj2
Vertical adjustment for secondary upward flags in Efix. (xml node is <upVadj2>: this is probably a ty...
Definition Options.h:374
An unordered map of default font settings for the document.
Definition Options.h:394
MusxInstance< FontInfo > getFontInfo(FontType type) const
get the FontInfo for a particular type
Definition Options.cpp:155
static const xml::XmlElementArray< FontOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::unordered_map< FontType, MusxInstance< FontInfo > > fontOptions
Stores the default fonts for different elements.
Definition Options.h:467
MusxInstance< FontInfo > getFontInfoOrNull(FontType type) const
get the FontInfo for a particular type, if the document has one
Definition Options.cpp:136
FontType
Types of fonts available for the document.
Definition Options.h:414
@ AltNotSlash
Alternate notation slash font.
@ AltNotNum
Alternate notation number font.
@ BendCurveWhole
Whole bend curve font.
@ MultiMeasRest
Multi-measure rest font.
@ BendCurveFrac
Fractional bend curve font.
@ Ending
Repeat ending number font.
@ SmartShape15ma
15ma smart shape font.
@ SmartShapeWiggle
Wiggle smart shape font.
@ SmartShapeTrill
Trill smart shape font.
@ AbbrvStaffNames
Abbreviated staff names font.
@ TimePlus
Additional time signature symbols font.
@ AbbrvGroupNames
Abbreviated group names font.
@ Articulation
Articulation symbols font.
@ SmartShape15mb
15mb smart shape font.
@ TimePlusParts
Additional time signature parts font.
@ TimeParts
Time signature parts font.
FontOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:404
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:505
Options controlling the appearance and behavior of grace notes.
Definition Options.h:515
int tabGracePerc
"Tablature Grace Note Size" (%)
Definition Options.h:521
bool slashFlaggedGraceNotes
"Always Slash Flagged Grace Notes"
Definition Options.h:525
Efix graceSlashWidth
Width (thickness) of grace note slashes in Efix.
Definition Options.h:526
static const xml::XmlElementArray< GraceNoteOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu entryOffset
"Grace Note Offset on Entry" in Evpu. (xml node is <graceBackup>)
Definition Options.h:524
GraceNoteOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:518
int gracePerc
"Grace Note Size" (%)
Definition Options.h:522
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:528
Edu playbackDuration
Playback duration for grace notes in Edu.
Definition Options.h:523
Options controlling the appearance and behavior of key signatures.
Definition Options.h:538
static const xml::XmlElementArray< KeySignatureOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:557
bool cautionaryKeyChanges
"Display Courtesy Key Signature at End of Staff System"
Definition Options.h:554
bool doCStart
"In C, Display Naturals at Start of Staff System"
Definition Options.h:545
bool doKeyCancel
"Cancel Outgoing Key Signature"
Definition Options.h:544
Evpu keyBack
"Space After Key Signature"
Definition Options.h:549
Evpu acciAdd
"Space Between Key Signature Accidentals"
Definition Options.h:550
Evpu keyFront
"Space Before Key Signature"
Definition Options.h:547
Evpu keyMid
"Space After Cancelled Key"
Definition Options.h:548
bool simplifyKeyHoldOctave
"Preserve Octave When Simplifying Keys"
Definition Options.h:553
bool redisplayOnModeChange
"Redisplay Key Signature If Only Mode is Changing" (xml node is <doBankDiff>)
Definition Options.h:546
KeySignatureOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:541
bool doKeyCancelBetweenSharpsFlats
"When Switching Between Sharps and Flats"
Definition Options.h:555
bool showKeyFirstSystemOnly
"Show Key Signature Only on First System"
Definition Options.h:551
Evpu keyTimeSepar
"Extra Space Between Key & Time Signatures" (xml node is <keyTime>)
Definition Options.h:552
Options controlling the appearance of line and curve elements.
Definition Options.h:567
bool enclosureRoundCorners
Whether default enclosures have rounded corners.
Definition Options.h:575
Efix enclosureWidth
Default enclosure width in Efix.
Definition Options.h:574
LineCurveOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:570
Evpu legerFrontLength
Front length of leger lines in Evpu.
Definition Options.h:579
Efix legerLineWidth
Width of leger lines in Efix.
Definition Options.h:578
EvpuFloat pathSlurTipWidth
Width of slur tip path in fractional EvpuFloat.
Definition Options.h:585
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:587
Evpu legerBackLength
Back length of leger lines in Evpu.
Definition Options.h:580
double psUlDepth
Depth of PostScript underline in 72 dpi points (fractional).
Definition Options.h:583
static const xml::XmlElementArray< LineCurveOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu restLegerFrontLength
Front length of rest leger lines in Evpu.
Definition Options.h:581
Efix staffLineWidth
Width of staff lines in Efix.
Definition Options.h:577
Efix enclosureCornerRadius
Default rounded corner radius width for enclosures in Efix.
Definition Options.h:576
double psUlWidth
Width of PostScript underline in 72 dpi points (fractional).
Definition Options.h:584
Evpu restLegerBackLength
Back length of rest leger lines in Evpu.
Definition Options.h:582
int bezierStep
Number of steps for Bézier curves.
Definition Options.h:573
Options controlling lyric rendering in the musx file.
Definition Options.h:597
Evpu maxHyphenSeparation
"Maximum Space Between Hyphens"
Definition Options.h:653
static const xml::XmlElementArray< LyricOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
SmartHyphenStart smartHyphenStart
"Smart Hyphen Start"
Definition Options.h:660
bool showAutoNumbersOnVerses
Auto-Number -> Verses.
Definition Options.h:666
bool useSmartHyphens
"Use Smart Hyphens"
Definition Options.h:659
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:705
char32_t hyphenChar
"Hyphen Character"
Definition Options.h:652
bool lyricUseEdgePunctuation
reverse of "Ignore SyllableEdgePunctuation"
Definition Options.h:664
WordExtConnectStyleType
Word extension connection style categories.
Definition Options.h:631
bool showAutoNumbersOnChoruses
Auto-Number -> Choruses.
Definition Options.h:667
std::string lyricPunctuationToIgnore
If this string is omitted in the xml, the default value is populated in integrityCheck.
Definition Options.h:665
AutoNumberingAlign
Autonumbering type.
Definition Options.h:613
@ None
"Keep with First Syllable in Lyric" (default value)
Evpu wordExtMinLength
"Word Extension Minimum Length"
Definition Options.h:662
Efix wordExtLineWidth
"Word Extension Line Width"
Definition Options.h:670
WordExtConnectIndex
Word extension connection points.
Definition Options.h:620
std::shared_ptr< FontInfo > altHyphenFont
"Alternate Hyphen Font"
Definition Options.h:658
AutoNumberingAlign lyricAutoNumType
"Automatic Lyric Numbers"
Definition Options.h:669
bool useSmartWordExtensions
"Use Smart Word Extensions"
Definition Options.h:656
SmartHyphenStart
When to start hyphenation.
Definition Options.h:605
@ Sometimes
"Only when the first syllable is attached to the second note or later"
bool useAltHyphenFont
"Use Alternate Hyphen Font"
Definition Options.h:657
bool wordExtNeedUnderscore
"Only Create on Lyrics With Underscores"
Definition Options.h:661
Evpu wordExtVertOffset
"Word Extension Vertical Offset from Baseline"
Definition Options.h:654
std::unordered_map< SyllablePosStyleType, std::shared_ptr< SyllablePosStyle > > syllablePosStyles
Syllable positioning styles.
Definition Options.h:691
bool showAutoNumbersOnSections
Auto-Number -> Sections.
Definition Options.h:668
bool wordExtOffsetToNotehead
"Notehead Alignment: Align to Notehead" (if false: "Stretch to Note Duration")
Definition Options.h:663
void integrityCheck(const std::shared_ptr< EnigmaBase > &ptrToThis) override
Performs a final consistency check after population.
Definition Options.h:694
Evpu wordExtHorzOffset
"Word Extension Horizontal Offset from Syllable"
Definition Options.h:655
LyricOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:600
SyllablePosStyleType
Lyric syllable position style types.
Definition Options.h:645
@ Default
"Others:" (always on, even though the on member may be false)
std::unordered_map< WordExtConnectStyleType, std::shared_ptr< WordExtConnectStyle > > wordExtConnectStyles
Word extension connection styles.
Definition Options.h:692
Options controlling miscellaneous settings.
Definition Options.h:715
bool showRepeatsForParts
"Show Repeats for Parts"
Definition Options.h:721
Evpu restWidthAdjust
Purpose unknown.
Definition Options.h:732
Evpu dblWholeVertAdjust
Purpose unknown.
Definition Options.h:733
bool consolidateRestsAcrossLayers
"Consolidate Rests Across Layers" (xml node is <combineRestsAcrossLayers>)
Definition Options.h:729
MiscOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:718
bool alignMeasureNumbersWithBarlines
"Align Measure Numbers With Barlines" (xml node is <drawMeasureNumbersOverBarlines>)
Definition Options.h:734
bool showActiveLayerOnly
"Show Active Layer Only" (xml node is <showCurrentLayerOnly>)
Definition Options.h:728
Edu pickupValue
Definition Options.h:722
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:736
bool keepWrittenOctaveInConcertPitch
"Keep Octave Transposition in Concert Pitch" (xml node is <retainOctaveTransInConcertPitch>)
Definition Options.h:727
static const xml::XmlElementArray< MiscOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu shapeDesignerDashSpace
Shape Designer dash space in Evpu. (xml node is <sdDashOff>)
Definition Options.h:731
Evpu shapeDesignerDashLength
Shape Designer dash length in Evpu. (xml node is <sdDashOn>)
Definition Options.h:730
Options controlling the appearance and behavior of multimeasure rests.
Definition Options.h:746
Evpu endAdjust
End point adjustment for H-bar shape in Evpu.
Definition Options.h:760
bool autoUpdateMmRests
Automatically update multimeasure rests when the user changes these options.
Definition Options.h:763
Evpu symSpacing
Spacing between symbols in Evpu if useSymbols is checkd. (xml node is <spacing>)
Definition Options.h:757
Evpu measWidth
Space allocated per measure in multimeasure rest in Evpu. (xml node is <meaSpace>)
Definition Options.h:752
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:765
Evpu numAdjX
Horizontal adjustment for number in Evpu.
Definition Options.h:758
bool noHorizontalStretch
Inverse of "Stretch Horizontally" option.
Definition Options.h:762
MultimeasureRestOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:749
int numStart
Value for "Start Number At".
Definition Options.h:755
bool useSymbols
Use character style for rests. (xml node is <useCharRestStyle>)
Definition Options.h:761
static const xml::XmlElementArray< MultimeasureRestOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu startAdjust
Start point adjustment for H-bar shape in Evpu.
Definition Options.h:759
Cmper shapeDef
Cmper of shape for multimeasure rest H-bar.
Definition Options.h:754
Evpu numAdjY
Vertical adjustment for number in Evpu. The Finale UI reverses the sign of this value....
Definition Options.h:753
int useSymsThreshold
Numbers of bars rest below this number use symbols if useSymbols is checked. (xml node is <threshold>...
Definition Options.h:756
Options controlling music spacing.
Definition Options.h:775
Evpu minDistGrace
Minimum distance for grace notes in Evpu.
Definition Options.h:831
bool avoidColNotes
Avoid collisions with notes.
Definition Options.h:813
GraceNoteSpacing graceNoteSpacing
Choice for how to handle grace note spacing. (xml node is <graceNoteManualPositioning>)
Definition Options.h:832
ManualPositioning manualPositioning
Manual positioning choice.
Definition Options.h:822
GraceNoteSpacing
Options for how to handle grace note spacing.
Definition Options.h:793
@ Automatic
Automatically recompute grace note spacing. This activates minDistGrace. (xml value is "recomp")
@ ResetToEntry
Reset to the entry position. (The default.)
@ KeepCurrent
Keep current grace note spacing. (xml value is "keep")
Evpu minWidth
Minimum measure width in Evpu.
Definition Options.h:809
bool avoidColLedgers
Avoid collisions with ledger lines.
Definition Options.h:821
Evpu musFront
Additional spacing before the first note in Evpu. (From Notes & Rests window.)
Definition Options.h:833
double scalingFactor
Scaling factor for spacing.
Definition Options.h:829
ColUnisonsChoice avoidColUnisons
Choice for how to handle collisions with unisons.
Definition Options.h:820
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:836
MusicSpacingOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:778
bool avoidColLyrics
Avoid collisions with lyrics.
Definition Options.h:814
bool useAllottmentTables
Use allotment tables for spacing.
Definition Options.h:826
Evpu defaultAllotment
Default allotment for spacing in Evpu. (This value may not be settable in the Finale UI....
Definition Options.h:830
bool avoidColStems
Avoid collisions with stems.
Definition Options.h:819
Evpu musBack
Additional spacing after the last note in Evpu. (From Notes & Rests window.)
Definition Options.h:834
bool avoidColSeconds
Avoid collisions with seconds.
Definition Options.h:818
ManualPositioning
Options for how to handle manual positioning.
Definition Options.h:802
@ Incorporate
Incorporate manual positioning. (xml value is "incorp")
@ Clear
Clear manual positioning (the default).
bool usePrinter
"Use Fonts & Resolution From Printer" (may be a Windows-only option)
Definition Options.h:825
ColUnisonsChoice
Options for how to handle unisons.
Definition Options.h:784
@ DiffNoteheads
Avoid collisions with unisons that have different noteheads.
@ None
Do not avoid collisions with unisons. (The default.)
Evpu minDistance
Minimum distance between items in Evpu.
Definition Options.h:811
bool ignoreHidden
Ignore hidden notes. (This value is reversed in the Finale UI.)
Definition Options.h:823
static const xml::XmlElementArray< MusicSpacingOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu referenceWidth
Reference width for spacing in Evpu.
Definition Options.h:828
bool avoidColClefs
Avoid collisions with clefs.
Definition Options.h:817
Evpu maxWidth
Maximum measure width in Evpu.
Definition Options.h:810
Edu referenceDuration
Reference duration for spacing in Edu.
Definition Options.h:827
bool interpolateAllotments
Interpolate allotments.
Definition Options.h:824
bool avoidColArtics
Avoid collisions with articulations.
Definition Options.h:816
bool avoidColChords
Avoid collisions with chords.
Definition Options.h:815
Evpu minDistTiedNotes
Minimum distance between tied notes in Evpu.
Definition Options.h:812
Specifies font-specific glyphs used to render common musical symbols.
Definition Options.h:860
char32_t keySigDblFlat
Code point for key signature double flat (FontOptions::FontType::Key)
Definition Options.h:890
char32_t chordDblFlat
Code point for chord double flat sign (FontOptions::FontType::ChordAcci)
Definition Options.h:885
MusicSymbolOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:863
char32_t flag16Down
Code point for 16th note downward flag (FontOptions::FontType::Flags)
Definition Options.h:930
char32_t flagUp
Code point for upward flag (FontOptions::FontType::Flags)
Definition Options.h:927
char32_t quarterSlash
Code point for quarter slash (FontOptions::FontType::AltNotSlash)
Definition Options.h:908
char32_t restLonga
Code point for longa rest (FontOptions::FontType::Rests)
Definition Options.h:892
char32_t slashBar
Code point for slash bar (FontOptions::FontType::AltNotSlash)
Definition Options.h:907
char32_t parenDblFlat
Code point for parenthesized double flat (FontOptions::FontType::Accis)
Definition Options.h:880
char32_t rest128th
Code point for 128th rest (FontOptions::FontType::Rests)
Definition Options.h:901
char32_t trillChar
Code point for trill symbol (FontOptions::FontType::SmartShapeTrill)
Definition Options.h:925
char32_t keySigDblSharp
Code point for key signature double sharp (FontOptions::FontType::Key)
Definition Options.h:891
char32_t restDefMeas
Definition Options.h:902
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:936
char32_t halfSlash
Code point for half slash (FontOptions::FontType::AltNotSlash)
Definition Options.h:909
char32_t chordDblSharp
Code point for chord double sharp sign (FontOptions::FontType::ChordAcci)
Definition Options.h:886
char32_t wiggleChar
Code point for wiggle (trill line) symbol (FontOptions::FontType::SmartShapeWiggle)
Definition Options.h:926
char32_t restEighth
Code point for eighth rest (FontOptions::FontType::Rests)
Definition Options.h:897
char32_t oneBarRepeat
Code point for one-bar repeat (FontOptions::FontType::AltNotSlash)
Definition Options.h:905
char32_t noteheadDblWhole
Code point for double whole notehead (FontOptions::FontType::Noteheads)
Definition Options.h:871
char32_t parenNatural
Code point for parenthesized natural (FontOptions::FontType::Accis)
Definition Options.h:877
char32_t flag2Down
Code point for 32nd note downward flag (FontOptions::FontType::Flags)
Definition Options.h:932
char32_t flag2Up
Code point for 32nd note upward flag (FontOptions::FontType::Flags)
Definition Options.h:931
char32_t timeSigPlus
Code point for time signature plus sign (FontOptions::FontType::TimePlus)
Definition Options.h:912
char32_t fifteenMaUp
Code point for 15ma (quindicesima) up (FontOptions::FontType::SmartShape15ma)
Definition Options.h:923
char32_t parenFlat
Code point for parenthesized flat (FontOptions::FontType::Accis)
Definition Options.h:878
char32_t parenSharp
Code point for parenthesized sharp (FontOptions::FontType::Accis)
Definition Options.h:879
char32_t chordSharp
Code point for chord sharp sign (FontOptions::FontType::ChordAcci)
Definition Options.h:884
char32_t keySigSharp
Code point for key signature sharp (FontOptions::FontType::Key)
Definition Options.h:889
char32_t dblFlat
Code point for double flat sign (FontOptions::FontType::Accis)
Definition Options.h:875
char32_t noteheadQuarter
Code point for quarter notehead (FontOptions::FontType::Noteheads)
Definition Options.h:868
char32_t timeSigAbrvCommon
Code point for common time abbreviation (FontOptions::FontType::Time)
Definition Options.h:914
char32_t parenDblSharp
Code point for parenthesized double sharp (FontOptions::FontType::Accis)
Definition Options.h:881
char32_t augDot
Code point for augmentation dot (FontOptions::FontType::AugDots)
Definition Options.h:918
char32_t restHalf
Code point for half rest (FontOptions::FontType::Rests)
Definition Options.h:895
char32_t backRepeatDot
Code point for backward repeat dot (FontOptions::FontType::ReptDots)
Definition Options.h:920
char32_t restWhole
Code point for whole rest (FontOptions::FontType::Rests)
Definition Options.h:894
char32_t timeSigAbrvCut
Code point for cut time abbreviation (FontOptions::FontType::Time)
Definition Options.h:915
char32_t rest16th
Code point for 16th rest (FontOptions::FontType::Rests)
Definition Options.h:898
char32_t rest32nd
Code point for 32nd rest (FontOptions::FontType::Rests)
Definition Options.h:899
char32_t timeSigPlusParts
Code point for time signature plus (parts) (FontOptions::FontType::TimePlusParts)
Definition Options.h:913
char32_t twoBarRepeat
Code point for two-bar repeat (FontOptions::FontType::AltNotSlash)
Definition Options.h:906
char32_t sharp
Code point for sharp sign (FontOptions::FontType::Accis)
Definition Options.h:874
char32_t chordFlat
Code point for chord flat sign (FontOptions::FontType::ChordAcci)
Definition Options.h:883
char32_t eightVaUp
Code point for 8va (ottava) up (FontOptions::FontType::SmartShape8va)
Definition Options.h:921
char32_t noteheadWhole
Code point for whole notehead (FontOptions::FontType::Noteheads)
Definition Options.h:870
char32_t restDblWhole
Code point for double whole rest (FontOptions::FontType::Rests)
Definition Options.h:893
char32_t wholeSlash
Code point for whole slash (FontOptions::FontType::AltNotSlash)
Definition Options.h:910
char32_t dblSharp
Code point for double sharp sign (FontOptions::FontType::Accis)
Definition Options.h:876
char32_t keySigFlat
Code point for key signature flat (FontOptions::FontType::Key)
Definition Options.h:888
char32_t natural
Code point for natural sign (FontOptions::FontType::Accis)
Definition Options.h:872
static const xml::XmlElementArray< MusicSymbolOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
char32_t noteheadHalf
Code point for half notehead (FontOptions::FontType::Noteheads)
Definition Options.h:869
char32_t flat
Code point for flat sign (FontOptions::FontType::Accis)
Definition Options.h:873
char32_t eightVbDown
Code point for 8vb (ottava) down (FontOptions::FontType::SmartShape8vb)
Definition Options.h:922
char32_t dblWholeSlash
Code point for double whole slash (FontOptions::FontType::AltNotSlash)
Definition Options.h:911
char32_t fifteenMbDown
Code point for 15mb (quindicesima) down (FontOptions::FontType::SmartShape15mb)
Definition Options.h:924
char32_t timeSigAbrvCommonParts
Code point for common time abbreviation (parts) (FontOptions::FontType::TimeParts)
Definition Options.h:916
char32_t flagStraightUp
Code point for straight upward flag (FontOptions::FontType::Flags)
Definition Options.h:933
char32_t timeSigAbrvCutParts
Code point for cut time abbreviation (parts) (FontOptions::FontType::TimeParts)
Definition Options.h:917
char32_t flag16Up
Code point for 16th note upward flag (FontOptions::FontType::Flags)
Definition Options.h:929
char32_t flagStraightDown
Code point for straight downward flag (FontOptions::FontType::Flags)
Definition Options.h:934
char32_t restQuarter
Code point for quarter rest (FontOptions::FontType::Rests)
Definition Options.h:896
char32_t chordNatural
Code point for chord natural sign (FontOptions::FontType::ChordAcci)
Definition Options.h:882
char32_t rest64th
Code point for 64th rest (FontOptions::FontType::Rests)
Definition Options.h:900
char32_t flagDown
Code point for downward flag (FontOptions::FontType::Flags)
Definition Options.h:928
char32_t forwardRepeatDot
Code point for forward repeat dot (FontOptions::FontType::ReptDots)
Definition Options.h:919
char32_t keySigNatural
Code point for key signature natural (FontOptions::FontType::Key)
Definition Options.h:887
16-bit per-channel note color (RGB) used by Finale.
Definition Options.h:956
static const xml::XmlElementArray< NoteColor > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
uint16_t green
Green component in Finale's 16-bit range.
Definition Options.h:959
uint16_t blue
Blue component in Finale's 16-bit range.
Definition Options.h:960
uint16_t red
Red component in Finale's 16-bit range.
Definition Options.h:958
Options controlling note/rest display and positioning.
Definition Options.h:944
static const xml::XmlElementArray< NoteRestOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
NoteRestOptions(const DocumentPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:947
std::vector< std::shared_ptr< NoteColor > > noteColors
Notehead colors, one per pitch-class.
Definition Options.h:977
void integrityCheck(const std::shared_ptr< EnigmaBase > &ptrToThis) override
Performs a final consistency check after population.
Definition Options.h:979
bool doShapeNotes
Definition Options.h:966
Evpu drop16thRest
Vertical 16th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:971
bool drawOutline
"Show border around colored noteheads"
Definition Options.h:976
Evpu drop128thRest
Vertical 128th (and smaller) rest positioning from staff default line. (Usually the center line....
Definition Options.h:974
bool doCrossStaffNotes
Inverse of "Display Cross-Staff Notes in Original Staff" (xml node is <doCrossOver>)
Definition Options.h:969
Evpu drop64thRest
Vertical 64th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:973
Evpu drop8thRest
Vertical 8th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:970
Evpu drop32ndRest
Vertical 32nd rest positioning from staff default line. (Usually the center line.)
Definition Options.h:972
bool scaleManualPositioning
"Scale Manual Positioning of Notes"
Definition Options.h:975
static constexpr std::string_view XmlNodeName
XML node name for this type.
Definition Options.h:996
Represents the format settings for a page.
Definition Options.h:1026
Evpu sysMarginTop
System top margin. (Sign reversed in Finale UI.)
Definition Options.h:1041
int pagePercent
Page scaling percentage (a value of 100 means no scaling).
Definition Options.h:1030
Evpu sysMarginRight
System bottom margin. (Sign reversed in Finale UI.)
Definition Options.h:1045
Evpu sysDistanceBetween
Distance between systems. (Sign reversed in Finale UI.)
Definition Options.h:1046
Evpu pageHeight
Height of the page.
Definition Options.h:1028
Evpu16ths rawStaffHeight
Raw staff height (in 1/16 Evpu units). Note that this is different units than others::StaffSystem::st...
Definition Options.h:1032
PageFormat()=default
Default constructor for PageFormat.
bool differentFirstPageMargin
Whether to use the firstPageMarginTop value.
Definition Options.h:1053
bool facingPages
Whether to use the right page margin values.
Definition Options.h:1051
Evpu rightPageMarginTop
Top margin for the right page. (Sign reversed in Finale UI.)
Definition Options.h:1037
Evpu leftPageMarginBottom
Bottom margin for the left page.
Definition Options.h:1035
Evpu pageWidth
Width of the page.
Definition Options.h:1029
util::Fraction calcSystemScaling() const
Calculates the system scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1059
int sysPercent
System scaling percentage (a value of 100 means no scaling).
Definition Options.h:1031
Evpu sysMarginLeft
System left margin.
Definition Options.h:1042
Evpu sysMarginBottom
Definition Options.h:1043
util::Fraction calcPageScaling() const
Calculates the page scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1056
Evpu firstPageMarginTop
Top margin for the first page. (Sign reversed in Finale UI.)
Definition Options.h:1047
Evpu leftPageMarginLeft
Left margin for the left page.
Definition Options.h:1034
Evpu leftPageMarginRight
Right margin for the left page. (Sign reversed in Finale UI.)
Definition Options.h:1036
Evpu firstSysMarginLeft
Left margin for the first system.
Definition Options.h:1049
Evpu leftPageMarginTop
Top margin for the left page. (Sign reversed in Finale UI.)
Definition Options.h:1033
Evpu firstSysMarginTop
Top margin for the first system. (Sign reversed in Finale UI.)
Definition Options.h:1048
Evpu rightPageMarginBottom
Bottom margin for the right page.
Definition Options.h:1039
static const xml::XmlElementArray< PageFormat > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool differentFirstSysMargin
Whether to use the first system values.
Definition Options.h:1052
Evpu rightPageMarginLeft
Left margin for the right page.
Definition Options.h:1038
Evpu rightPageMarginRight
Right margin for the right page. (Sign reversed in Finale UI.)
Definition Options.h:1040
util::Fraction calcCombinedSystemScaling() const
Calculates the combined system & page scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1063
Evpu firstSysMarginDistance
Distance between the first systems. (Sign reversed in Finale UI.)
Definition Options.h:1050
Options for page formatting in the document.
Definition Options.h:1007
MusxInstance< PageFormat > calcPageFormatForPart(Cmper partId) const
Calculates the page format options for a specific part.
Definition Options.cpp:175
bool avoidSystemMarginCollisions
Whether to avoid system margin collisions.
Definition Options.h:1077
std::shared_ptr< PageFormat > pageFormatParts
Page format for parts settings.
Definition Options.h:1076
std::shared_ptr< PageFormat > pageFormatScore
Page format for score settings.
Definition Options.h:1075
AdjustPageScope adjustPageScope
Scope of page adjustments.
Definition Options.h:1074
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1106
static const xml::XmlElementArray< PageFormatOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
AdjustPageScope
Enum for the scope of page adjustments.
Definition Options.h:1014
@ PageRange
Adjust page range. (xml value is "range")
PageFormatOptions(const DocumentPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor for PageFormatOptions.
Definition Options.h:1100
Options controlling the appearance of piano braces and brackets.
Definition Options.h:1116
EvpuFloat centerThickness
Center thickness of braces in fractional EvpuFloat.
Definition Options.h:1123
Evpu defBracketPos
"Group Brackets: Default Distance from Left Edge of Staff"
Definition Options.h:1122
EvpuFloat outerTipV
Vertical position of the outer tip in fractional EvpuFloat. (xml node is <outerTipY>)
Definition Options.h:1129
EvpuFloat innerBodyH
Horizontal position of the inner body in fractional EvpuFloat. (xml node is <innerWingX>)
Definition Options.h:1133
EvpuFloat tipThickness
End thickness of braces in fractional EvpuFloat. (xml node is <endThickness>)
Definition Options.h:1124
PianoBraceBracketOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1119
EvpuFloat width
Width of braces in fractional EvpuFloat.
Definition Options.h:1131
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1135
EvpuFloat outerTipH
Horizontal position of the outer tip in fractional EvpuFloat. (xml node is <outerTipX>)
Definition Options.h:1128
static const xml::XmlElementArray< PianoBraceBracketOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
EvpuFloat outerBodyV
Vertical position of the outer wing in fractional EvpuFloat. (xml node is <outerWingY>)
Definition Options.h:1125
EvpuFloat innerTipV
Vertical position of the inner tip in fractional EvpuFloat. (xml node is <innerTipY>)
Definition Options.h:1126
EvpuFloat innerTipH
Horizontal position of the inner tip in fractional EvpuFloat. (xml node is <innerTipX>)
Definition Options.h:1132
EvpuFloat innerBodyV
Vertical position of the inner body in fractional EvpuFloat. (xml node is <innerWingY>)
Definition Options.h:1127
EvpuFloat outerBodyH
Horizontal positione of the outer body in fractional EvpuFloat. (xml node is <outerWingX>)
Definition Options.h:1130
Options controlling the appearance of repeats.
Definition Options.h:1145
bool bracketEndAnchorThinLine
Whether the end of the bracket anchors to a thin line.
Definition Options.h:1192
Evpu bracketStartInset
Inset at the start of the bracket in Evpu.
Definition Options.h:1187
Evpu backwardDotHPos
Horizontal separation of backward repeat dots in Evpu.
Definition Options.h:1177
Evpu bracketEndHookLen
Length of the hook at the end of the bracket in Evpu.
Definition Options.h:1191
BackToBackStyle
Back-to-Back Styles from Document Options - Repeats.
Definition Options.h:1164
BackToBackStyle backToBackStyle
Back-to-back style.
Definition Options.h:1175
Evpu afterClefSpace
Space after clef in Evpu.
Definition Options.h:1181
Evpu afterTimeSpace
Space after time signature in Evpu.
Definition Options.h:1183
Evpu bracketEndInset
Inset at the end of the bracket in Evpu.
Definition Options.h:1188
bool addPeriod
"Add Period After Number"
Definition Options.h:1171
Evpu lowerDotVPos
Vertical adjustment of the lower dot in Evpu.
Definition Options.h:1179
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1196
Evpu forwardDotHPos
Horizontal separation of forward repeat dots in Evpu.
Definition Options.h:1176
static const xml::XmlElementArray< RepeatOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix thinLineWidth
Thin line thickness in Efix.
Definition Options.h:1173
Evpu bracketHeight
Height of the bracket in Evpu.
Definition Options.h:1184
Evpu afterKeySpace
Space after key signature in Evpu.
Definition Options.h:1182
WingStyle
Wing Styles from Document Options - Repeats.
Definition Options.h:1154
Evpu bracketTextVPos
Vertical position of bracket text in Evpu.
Definition Options.h:1190
Efix lineSpace
Space between lines in Efix.
Definition Options.h:1174
Efix bracketLineWidth
Width of the bracket line in Efix.
Definition Options.h:1186
int maxPasses
Maximum number of passes for repeats.
Definition Options.h:1170
bool showOnTopStaffOnly
"Show On Top Staff Only"
Definition Options.h:1193
Evpu upperDotVPos
Vertical adjustment of the upper dot in Evpu.
Definition Options.h:1178
Efix thickLineWidth
Heavy line thickness in Efix.
Definition Options.h:1172
RepeatOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1148
Evpu bracketHookLen
Length of the bracket hook in Evpu.
Definition Options.h:1185
Evpu bracketTextHPos
Horizontal position of bracket text in Evpu.
Definition Options.h:1189
WingStyle wingStyle
Wing style.
Definition Options.h:1180
Cmper showOnStaffListNumber
Staff list number (0 if none). Cmper links to associated "repeatStaffList..." xml nodes.
Definition Options.h:1194
Options controlling the appearance of smart shapes in the musx file.
Definition Options.h:1206
SlurControlStyleType
Slur control style types.
Definition Options.h:1316
Evpu slurLeftBreakHorzAdj
"Slur Left Break Horizontal Adjustment"
Definition Options.h:1344
int slurSymmetry
"Slur Symmetry"
Definition Options.h:1342
BendCurveConnectStyleType
Bend curve connection style types.
Definition Options.h:1302
static const xml::XmlElementArray< SmartShapeOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::unordered_map< TabSlideConnectStyleType, std::shared_ptr< ConnectionStyle > > tabSlideConnectStyles
Tab slide connections.
Definition Options.h:1385
Evpu slurThicknessCp1Y
"Slur Thickness Control Point 1 Y"
Definition Options.h:1335
Cmper ssLineStyleCmpTabSlide
Cmper of current tab slide line style. (others::SmartShapeCustomLine)
Definition Options.h:1357
Evpu smartDashOff
"Smart Dash Off Length"
Definition Options.h:1331
ConnectionIndex
Connection index values.
Definition Options.h:1215
Efix smartLineWidth
"Smart Line Width"
Definition Options.h:1328
int maxSlurStretchPercent
"Maximum Slur Stretch Percentage"
Definition Options.h:1353
Evpu slurAcciPadding
"Slur Accidental Padding"
Definition Options.h:1350
Evpu maximumShortHairpinLength
"Maximum Short Hairpin Length"
Definition Options.h:1325
Evpu slurRightBreakHorzAdj
"Slur Right Break Horizontal Adjustment"
Definition Options.h:1345
TabSlideConnectStyleType
Tab slide connection style types.
Definition Options.h:1270
bool showOctavaAsText
"Show Octava As Text"
Definition Options.h:1329
SmartShapeOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1209
bool guitarBendHideBendTo
"Guitar Bend Hide Bend To"
Definition Options.h:1361
Cmper ssLineStyleCmpCustom
Cmper of current custom line style. (others::SmartShapeCustomLine)
Definition Options.h:1355
bool guitarBendUseParens
"Guitar Bend Use Parentheses"
Definition Options.h:1360
Cmper ssLineStyleCmpTabBendCurve
Cmper of current tab bend line style. (others::SmartShapeCustomLine)
Definition Options.h:1358
Evpu slurThicknessCp2Y
"Slur Thickness Control Point 2 Y"
Definition Options.h:1337
bool slurStretchByPercent
"As Percentage of Slur Length"
Definition Options.h:1352
SlurConnectStyleType
Slur connection style types.
Definition Options.h:1235
Evpu hookLength
"Hook Length"
Definition Options.h:1327
Evpu slurBreakVertAdj
"Slur Break Vertical Adjustment"
Definition Options.h:1346
Evpu crescHeight
"Crescendo Height"
Definition Options.h:1324
Evpu articAvoidSlurAmt
"Articulation Avoid Slur Amount"
Definition Options.h:1354
Evpu slurPadding
"Slur Padding"
Definition Options.h:1348
Evpu shortHairpinOpeningWidth
"Short Hairpin Opening Width"
Definition Options.h:1323
bool slurDoStretchFirst
"Initial Adjustment: Stretch"
Definition Options.h:1351
bool useEngraverSlurs
"Use Engraver Slurs"
Definition Options.h:1343
EvpuFloat smartSlurTipWidth
"Smart Slur Tip Width"
Definition Options.h:1359
bool guitarBendUseFull
"Guitar Bend Use Full"
Definition Options.h:1363
Evpu slurThicknessCp2X
"Slur Thickness Control Point 2 X"
Definition Options.h:1336
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1389
GlissandoConnectStyleType
Glissando connection style types.
Definition Options.h:1294
std::unordered_map< BendCurveConnectStyleType, std::shared_ptr< ConnectionStyle > > bendCurveConnectStyles
Benx curve connections.
Definition Options.h:1387
std::unordered_map< SlurControlStyleType, std::shared_ptr< ControlStyle > > slurControlStyles
Slur contours.
Definition Options.h:1384
std::unordered_map< SlurConnectStyleType, std::shared_ptr< ConnectionStyle > > slurConnectStyles
Slur connections.
Definition Options.h:1383
Evpu slurAvoidStaffLinesAmt
"Slur Avoid Staff Lines Amount"
Definition Options.h:1339
Efix maxSlurLift
"Maximum Slur Lift"
Definition Options.h:1341
Evpu slurThicknessCp1X
"Slur Thickness Control Point 1 X"
Definition Options.h:1334
Efix maxSlurStretch
"Maximum Slur Stretch"
Definition Options.h:1340
bool slurAvoidStaffLines
"Slur Avoid Staff Lines"
Definition Options.h:1347
bool slurAvoidAccidentals
"Slur Avoid Accidentals"
Definition Options.h:1338
Efix crescLineWidth
"Crescendo/Decrescendo Line Width"
Definition Options.h:1326
bool guitarBendGenText
"Guitar Bend Generate Text"
Definition Options.h:1362
bool crescHorizontal
"Horizontal Crescendo"
Definition Options.h:1332
ShapeDirection direction
Default slur direction.
Definition Options.h:1333
Efix maxSlurAngle
"Maximum Slur Angle"
Definition Options.h:1349
Evpu smartDashOn
"Smart Dash On Length"
Definition Options.h:1330
std::unordered_map< GlissandoConnectStyleType, std::shared_ptr< ConnectionStyle > > glissandoConnectStyles
Glissando connections.
Definition Options.h:1386
Cmper ssLineStyleCmpGlissando
Cmper of current glissando line style. (others::SmartShapeCustomLine)
Definition Options.h:1356
Options controlling the appearance and layout of staves.
Definition Options.h:1399
std::shared_ptr< NamePositioning > groupNameFullPos
Default full name positioning for staff groups.
Definition Options.h:1413
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1416
bool autoAdjustStaffSepar
"The Default Value Topline-to-Topline Distance is a Preferred Value That Can Change if Necessary" (fo...
Definition Options.h:1409
Evpu staffSeparation
Default topline-to-topline distance in Evpu. (This value is sign-reversed in the Finale UI....
Definition Options.h:1407
std::shared_ptr< NamePositioning > groupNameAbbrvPos
Default abbreviated name positioning for staff groups.
Definition Options.h:1414
std::shared_ptr< NamePositioning > namePos
Default full name positioning for staves.
Definition Options.h:1411
std::shared_ptr< NamePositioning > namePosAbbrv
Default abbreviated name positioning for staves.
Definition Options.h:1412
Evpu staffSeparIncr
"Add Vertical Space" value for Setup Wizard.
Definition Options.h:1408
StaffOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1404
static const xml::XmlElementArray< StaffOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Information about one stemConnections element.
Definition Options.h:1439
char32_t symbol
The codepoint of the symbol glyph in the font specified by fontId.
Definition Options.h:1442
Efix upStemHorz
Upstem horizontal adjustment.
Definition Options.h:1445
static const xml::XmlElementArray< StemConnection > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix downStemVert
Downstem vertical adjustment.
Definition Options.h:1444
Cmper fontId
The font ID of the font this connection applies to. Zero means default music font....
Definition Options.h:1441
Efix downStemHorz
Downstem horizontal adjustment.
Definition Options.h:1446
Efix upStemVert
Upstem vertical adjustment.
Definition Options.h:1443
Options controlling the appearance of stems.
Definition Options.h:1426
Evpu halfStemLength
Half stem length in Evpu.
Definition Options.h:1451
bool useStemConnections
"Use Stem Connections"
Definition Options.h:1458
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1473
Efix stemOffset
Stem offset in Efix. (xml node is <stemLift>)
Definition Options.h:1457
bool noReverseStems
Set if "Display Reverse Stemming" is unchecked. (This bit is reversed in the Finale UI....
Definition Options.h:1455
StemOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1429
std::vector< std::shared_ptr< StemConnection > > stemConnections
Array of stem connection definitions.
Definition Options.h:1471
Efix stemWidth
Stem width in Efix.
Definition Options.h:1456
Evpu stemLength
Stem length in Evpu.
Definition Options.h:1452
Evpu revStemAdj
Reverse stem adjustment in Evpu.
Definition Options.h:1454
Evpu shortStemLength
Short stem length in Evpu. (xml node is <stem2>)
Definition Options.h:1453
static const xml::XmlElementArray< StemOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Options controlling text rendering in the musx file. Many of these options are default values that ar...
Definition Options.h:1497
int textTracking
"Tracking" amount in EMs (1/1000 of the font size)
Definition Options.h:1542
HorizontalAlignment textHorzAlign
"Horizontal Alignment"
Definition Options.h:1549
Evpu textBaselineShift
"Baseline Shift" amount
Definition Options.h:1543
TextOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:1502
bool textWordWrap
"Word Wrap"
Definition Options.h:1545
bool showTimeSeconds
"Include Seconds in Time Stamp"
Definition Options.h:1539
Evpu textSuperscript
"Superscript" amount
Definition Options.h:1544
std::optional< int > textLineSpacingPercent
"Line Spacing: Automatic" percent value.
Definition Options.h:1537
bool textExpandSingleWord
"Expand Single Word"
Definition Options.h:1548
int tabSpaces
"Use [x] Spaces in Place of One Tab Character"
Definition Options.h:1541
Evpu textPageOffset
"Page Offset"
Definition Options.h:1546
VerticalAlignment
Vertical alignment options for page text positioning.
Definition Options.h:1517
TextJustify textJustify
"Justification"
Definition Options.h:1547
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1593
std::unordered_map< AccidentalInsertSymbolType, std::shared_ptr< InsertSymbolInfo > > symbolInserts
Insert symbol information map.
Definition Options.h:1577
void integrityCheck(const std::shared_ptr< EnigmaBase > &ptrToThis) override
Performs a final consistency check after population.
Definition Options.h:1579
std::optional< Evpu > textLineSpacingEvpu
"Line Spacing: Set To" absolute value. (See textLineSpacingPercent.)
Definition Options.h:1538
DateFormat dateFormat
"Date Format"
Definition Options.h:1540
VerticalAlignment textVertAlign
"Vertical Alignment"
Definition Options.h:1550
static const xml::XmlElementArray< TextOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
TextJustify
Text justification options.
Definition Options.h:1525
bool textIsEdgeAligned
"Position from Page Edge"
Definition Options.h:1551
Options controlling the appearance of ties.
Definition Options.h:1603
Evpu breakTimeSigRightHOffset
Right horizontal offset for breaking time signature.
Definition Options.h:1680
SpecialPosMode specialPosMode
Whether to avoid staff lines. (This may have been called specialPosMode for planned future behaviors ...
Definition Options.h:1693
bool breakForKeySigs
Break ties for key signatures.
Definition Options.h:1678
bool chordTieDirOpposingSeconds
Chord tie opposing seconds.
Definition Options.h:1688
SecondsPlacement
Enumeration for seconds placement options.
Definition Options.h:1614
Evpu sysBreakRightHAdj
Right adjustment for system breaks.
Definition Options.h:1684
bool useOuterPlacement
Use outer placement for ties.
Definition Options.h:1685
bool afterSingleDot
Special handling after a single dot.
Definition Options.h:1690
bool afterMultipleDots
Special handling after multiple dots.
Definition Options.h:1691
SecondsPlacement secondsPlacement
Placement of seconds.
Definition Options.h:1686
ChordTieDirType chordTieDirType
Chord tie direction type.
Definition Options.h:1687
InsetStyle insetStyle
Inset style for ties.
Definition Options.h:1695
Evpu breakTimeSigLeftHOffset
Left horizontal offset for breaking time signature.
Definition Options.h:1679
TieOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1606
Evpu thicknessLeft
Left thickness of the tie.
Definition Options.h:1676
Evpu breakKeySigLeftHOffset
Left horizontal offset for breaking key signature.
Definition Options.h:1681
MixedStemDirection mixedStemDirection
Mixed stem direction.
Definition Options.h:1689
ChordTieDirType
Enumeration for chord tie direction type.
Definition Options.h:1624
@ StemReversal
Split at stem reversal point.
@ OutsideInside
Legacy Finale 3.7 behavior (the default)
@ Unknown
Unknown (seen sometimes in upgraded legacy files)
Evpu breakKeySigRightHOffset
Right horizontal offset for breaking key signature.
Definition Options.h:1682
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1733
Evpu frontTieSepar
Separation for the front of ties.
Definition Options.h:1674
InsetStyle
Enumeration for inset styles.
Definition Options.h:1657
MixedStemDirection
Enumeration for mixed stem direction.
Definition Options.h:1636
bool avoidStaffLinesOnly
Only avoid staff lines.
Definition Options.h:1698
Evpu avoidStaffLinesDistance
Distance to avoid staff lines.
Definition Options.h:1694
static const xml::XmlElementArray< TieOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
ControlStyleType
Enumeration for tie control style types.
Definition Options.h:1667
Evpu thicknessRight
Right thickness of the tie.
Definition Options.h:1675
bool beforeAcciSingleNote
Special handling before accidental single notes.
Definition Options.h:1692
EvpuFloat tieTipWidth
Width of the tie tip.
Definition Options.h:1699
SpecialPosMode
Enumeration for special position mode.
Definition Options.h:1647
bool breakForTimeSigs
Break ties for time signatures.
Definition Options.h:1677
bool useTieEndCtlStyle
Use tie end control style.
Definition Options.h:1697
std::unordered_map< TieConnectStyleType, std::shared_ptr< ConnectStyle > > tieConnectStyles
Tie connect styles.
Definition Options.h:1710
std::unordered_map< ControlStyleType, std::shared_ptr< ControlStyle > > tieControlStyles
Tie control styles.
Definition Options.h:1731
Evpu sysBreakLeftHAdj
Left adjustment for system breaks.
Definition Options.h:1683
bool useInterpolation
"Interpolate Height Between Short and Long Span"
Definition Options.h:1696
Options controlling the appearance and behavior of time signatures.
Definition Options.h:1744
Evpu timeUpperLiftParts
"Vertical Adjustment: Top Symbol, Parts"
Definition Options.h:1755
Evpu timeFrontParts
"Space Before Time Signature, Parts"
Definition Options.h:1753
Evpu timeUpperLift
"Vertical Adjustment: Top Symbol, Score"
Definition Options.h:1750
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1765
bool timeSigDoAbrvCommon
Abbreviate common time.
Definition Options.h:1758
Evpu timeAbrvLift
"Vertical Adjustment: Abbreviated Symbol, Score"
Definition Options.h:1763
Evpu timeBackParts
"Space After Time Signature, Parts"
Definition Options.h:1754
int numCompositeDecimalPlaces
"Decimal Places for Composite Meters" (xml node is <defFloat>)
Definition Options.h:1760
bool timeSigDoAbrvCut
Abbreviate cut time.
Definition Options.h:1759
Evpu timeFront
"Space Before Time Signature, Score"
Definition Options.h:1751
TimeSignatureOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1747
bool cautionaryTimeChanges
"Display Courtesy Time Signature at End of Staff System"
Definition Options.h:1761
Evpu timeLowerLift
"Vertical Adjustment: Bottom Symbol, Score"
Definition Options.h:1762
static const xml::XmlElementArray< TimeSignatureOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu timeAbrvLiftParts
"Vertical Adjustment: Abbreviated Symbol, Parts"
Definition Options.h:1757
Evpu timeLowerLiftParts
"Vertical Adjustment: Bottom Symbol, Parts"
Definition Options.h:1756
Evpu timeBack
"Space After Time Signature, Score"
Definition Options.h:1752
Options controlling the appearance of tuplets.
Definition Options.h:1775
BracketStyle
Bracket style options.
Definition Options.h:1827
@ Slur
Use a slur instead of a bracket.
PositioningStyle
Positioning style options.
Definition Options.h:1814
@ NoteSide
Display the tuplet on the note side.
@ Above
Display the tuplet above the notes.
@ BeamSide
Display the tuplet on the beam side.
@ Below
Display the tuplet below the notes.
Evpu brackOffX
Horizontal offset for brackets.
Definition Options.h:1844
Efix tupLineWidth
Line width for tuplet brackets in Efix.
Definition Options.h:1861
BracketStyle brackStyle
Bracket style.
Definition Options.h:1853
bool fullDura
"Bracket Full Duration"
Definition Options.h:1838
TupletOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1778
Evpu tupNUpstemOffset
Offset for upstem tuplet numbers.
Definition Options.h:1862
bool smartTuplet
"Engraver Tuplets"
Definition Options.h:1854
Edu referenceDuration
The duration of each note "in the time of" (xml node is <refDur>)
Definition Options.h:1836
Edu displayDuration
The duration of each note to display (xml node is <symbolicDur>)
Definition Options.h:1834
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1865
Evpu leftHookExt
Extension of the left hook beyond the tuplet bracket.
Definition Options.h:1856
Evpu tupOffX
Horizontal offset.
Definition Options.h:1842
Evpu tupOffY
Vertical.
Definition Options.h:1843
int displayNumber
The number of notes to display (xml node is <symbolicNum>)
Definition Options.h:1833
bool matchHooks
"Match Length of Hooks"
Definition Options.h:1851
AutoBracketStyle
Auto-bracket style options.
Definition Options.h:1786
@ Always
"Always Use Specified Shape"–the default value
@ NeverBeamSide
"Never Bracket Beamed Notes on Beam Side"
int tupMaxSlope
Maximum slope for automatic tuplet brackets in 10ths of an angular degree.
Definition Options.h:1860
bool allowHorz
"Allow Horizontal Drag"
Definition Options.h:1848
NumberStyle numStyle
Number style.
Definition Options.h:1846
int referenceNumber
The number of notes "in the time of" (xml node is <refNum>)
Definition Options.h:1835
bool avoidStaff
"Avoid Staff"
Definition Options.h:1840
Evpu manualSlopeAdj
"Manual Slope Adjustment" in Evpu. (xml node is <slope>)
Definition Options.h:1859
Evpu leftHookLen
Length of the left hook in the tuplet bracket. (This value is sign-reversed in the Finale UI....
Definition Options.h:1855
Evpu tupNDownstemOffset
Offset for downstem tuplet numbers.
Definition Options.h:1863
bool alwaysFlat
"Always Flat" (xml node is <flat>)
Definition Options.h:1837
Evpu rightHookExt
Extension of the right hook beyond the tuplet bracket.
Definition Options.h:1858
AutoBracketStyle autoBracketStyle
Autobracket style.
Definition Options.h:1841
PositioningStyle posStyle
Positioning style.
Definition Options.h:1847
bool ignoreHorzNumOffset
"Ignore Horizontal Number Offset" (xml node is <ignoreGlOffs>)
Definition Options.h:1849
Evpu brackOffY
Vertical offset for brackets.
Definition Options.h:1845
bool metricCenter
"Center Number Using Duration"
Definition Options.h:1839
NumberStyle
Number style options.
Definition Options.h:1801
@ RatioPlusBothNotes
display notes on both values (xml value is "ratioPlusDenNote")
@ RatioPlusDenominatorNote
displays a note value only on the denominator (xml value is "ratioPlusBothNotes")
Evpu rightHookLen
Length of the right hook in the tuplet bracket. (This value is sign-reversed in the Finale UI....
Definition Options.h:1857
bool breakBracket
"Break Slur or Bracket"
Definition Options.h:1850
static const xml::XmlElementArray< TupletOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool useBottomNote
"Use Bottom Note" (xml node is <noteBelow>)
Definition Options.h:1852
Contains horizontal and vertical offsets, alignment, and expansion settings for name positioning.
Definition CommonClasses.h:927
A class to represent fractions with integer m_numerator and m_denominator, automatically reduced to s...
Definition Fraction.h:38
static constexpr Fraction fromPercent(int percent)
Constructs a Fraction from a percent (where 100 is 100%)
Definition Fraction.h:97
constexpr int STANDARD_12EDO_STEPS
this can be overriden when constructing a Transposer instance.
Definition music_theory.hpp:46
AccidentalInsertSymbolType
Insert symbol types for accidentals.
Definition Options.h:1480
constexpr double EVPU_PER_SPACE
Number of Evpu units per space (spatium)
Definition Fundamentals.h:89
int32_t Efix
EFIX value (64 per EVPU, 64*288=18432 per inch)
Definition Fundamentals.h:62
std::shared_ptr< const T > MusxInstance
Defines the type of a musx instance stored in a pool.
Definition MusxInstance.h:40
ShapeDirection
Direction settings shared by smart-shape options and instances.
Definition EnumClasses.h:171
@ Under
The shape is placed under its reference.
@ Over
The shape is placed over its reference.
@ None
Do not override the existing enharmonic state. (Default)
DateFormat
Date format options. This value is coded into the Enigma date insert when the page title is created.
Definition EnumClasses.h:72
int32_t Evpu16ths
1/16 of an EVPU.
Definition Fundamentals.h:61
int32_t Evpu
EVPU value (288 per inch)
Definition Fundamentals.h:59
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:57
uint16_t ClefIndex
Index into options::ClefOptions::clefDefs.
Definition Fundamentals.h:70
double EvpuFloat
EVPU fractional value (288.0 per inch)
Definition Fundamentals.h:60
int32_t Edu
"Enigma Durational Units" value (1024 per quarter note)
Definition Fundamentals.h:63
std::weak_ptr< Document > DocumentWeakPtr
Shared weak Document pointer.
Definition DocumentElement.h:37
std::shared_ptr< Document > DocumentPtr
Shared Document pointer.
Definition DocumentElement.h:35
AlignJustify
Alignment and justification options for staff and group names.
Definition EnumClasses.h:30
@ Center
Center alignment.
std::vector< XmlElementDescriptor< T > > XmlElementArray
an array type for XmlElementDescriptor instances.
Definition XmlInterface.h:133
object model for musx file (enigmaxml)
Definition BaseClasses.h:38
Syllable position style.
Definition Options.h:673
static const xml::XmlElementArray< SyllablePosStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
AlignJustify align
Horizontal alignment.
Definition Options.h:674
AlignJustify justify
Horizontal justification.
Definition Options.h:675
Word extension connection style.
Definition Options.h:683
Evpu yOffset
Vertical offset.
Definition Options.h:686
static const xml::XmlElementArray< WordExtConnectStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
WordExtConnectIndex connectIndex
Connection point.
Definition Options.h:684
Evpu xOffset
Horizontal offset.
Definition Options.h:685
Defined the connection offsets for each ConnectionIndex value.
Definition Options.h:1366
ConnectionIndex connectIndex
Index of connection point.
Definition Options.h:1367
static const xml::XmlElementArray< ConnectionStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu yOffset
Vertical offset.
Definition Options.h:1369
Evpu xOffset
Horizontal offset.
Definition Options.h:1368
defines the slur contours for short, medium, long, and extra long slurs
Definition Options.h:1375
Evpu height
Height of the span.
Definition Options.h:1378
Efix inset
Inset value.
Definition Options.h:1377
static const xml::XmlElementArray< ControlStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix span
Length of the span.
Definition Options.h:1376
Insert symbol information.
Definition Options.h:1555
int trackingAfter
Tracking after in EMs (1/1000 font size units)
Definition Options.h:1559
std::shared_ptr< FontInfo > symFont
Symbol font (Percent-based size is a percent of the preceding font size in the Enigma string....
Definition Options.h:1561
char32_t symChar
Symbol character.
Definition Options.h:1562
int baselineShiftPerc
Baseline shift percent.
Definition Options.h:1560
static const xml::XmlElementArray< InsertSymbolInfo > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int trackingBefore
Tracking before in EMs (1/1000 font size units)
Definition Options.h:1558
void integrityCheck(const std::shared_ptr< EnigmaBase > &ptrToThis) override
Performs a final consistency check after population.
Definition Options.h:1564
Struct for tie connect style.
Definition Options.h:1702
static const xml::XmlElementArray< ConnectStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu offsetY
Vertical offset.
Definition Options.h:1704
Evpu offsetX
Horizontal offset.
Definition Options.h:1703
Struct for tie control style control points.
Definition Options.h:1713
Evpu insetFixed
Fixed inset.
Definition Options.h:1716
Efix insetRatio
Inset ratio.
Definition Options.h:1714
static const xml::XmlElementArray< ControlPoint > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu height
Height.
Definition Options.h:1715
Struct for tie control style.
Definition Options.h:1722
std::shared_ptr< ControlPoint > cp2
Control point 2.
Definition Options.h:1725
static const xml::XmlElementArray< ControlStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::shared_ptr< ControlPoint > cp1
Control point 1.
Definition Options.h:1724
Evpu span
Span length.
Definition Options.h:1723