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 <stdexcept>
29
30#include "BaseClasses.h"
31#include "CommonClasses.h"
32 // do not add other dom class dependencies. Use Implementations.h for implementations that need total class access.
33
34namespace music_theory {
35enum class ClefType;
36} // namespace music_theory
37
38namespace musx {
39namespace dom {
40
41namespace others {
42class Staff;
43} // namespace others
44
49namespace options {
50
58public:
60 explicit AccidentalOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
61 : OptionsBase(document, partId, shareMode) {}
62
63 int minOverlap{};
69
70 constexpr static std::string_view XmlNodeName = "accidentalOptions";
72};
73
81public:
83 explicit AlternateNotationOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
84 : OptionsBase(document, partId, shareMode) {}
85
93
94 constexpr static std::string_view XmlNodeName = "alternateNotationOptions";
96};
97
105public:
107 explicit AugmentationDotOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
108 : OptionsBase(document, partId, shareMode) {}
109
126
127 constexpr static std::string_view XmlNodeName = "augmentationDotOptions";
129};
130
161
168class BeamOptions : public OptionsBase {
169public:
171 explicit BeamOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
172 : OptionsBase(document, partId, shareMode) {}
173
176 enum class FlattenStyle
177 {
178 OnEndNotes,
182 };
183
195 bool spanSpace{};
198
199 constexpr static std::string_view XmlNodeName = "beamOptions";
201};
202
209class ChordOptions : public OptionsBase {
210public:
212 explicit ChordOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
213 : OptionsBase(document, partId, shareMode) {}
214
219 enum class ChordAlignment
220 {
221 Left,
222 Center
223 };
224
227 enum class ChordStyle
228 {
229 Standard,
230 European,
231 German,
232 Roman,
233 NashvilleA,
234 NashvilleB,
235 Solfeggio, // xml value is "solfeggio"
236 Scandinavian
237 };
238
239 double fretPercent{};
240 double chordPercent{};
253
254 constexpr static std::string_view XmlNodeName = "chordOptions";
256};
257
262class ClefOptions : public OptionsBase {
263public:
267 using ClefInfo = std::pair<music_theory::ClefType, int>;
268
277 explicit ClefOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
278 : OptionsBase(document, partId, shareMode) {}
279
284 {
285 public:
287
289 char32_t clefChar{};
293 bool isShape{};
295 bool useOwnFont{};
296 std::shared_ptr<FontInfo> font;
297
299 bool isBlank() const;
300
307 ClefInfo calcInfo(const MusxInstance<others::Staff>& currStaff = nullptr) const;
308
309
314
316 };
317
327
331 std::vector<MusxInstance<ClefDef>> clefDefs;
332
337 {
338 MUSX_ASSERT_IF(clefIndex >= clefDefs.size()) {
339 throw std::out_of_range("Clef index " + std::to_string(clefIndex) + " does not exist in document.");
340 }
341 return clefDefs[clefIndex];
342 }
343
347 constexpr static std::string_view XmlNodeName = "clefOptions";
349};
350
387
395class FontOptions : public OptionsBase {
396public:
405 explicit FontOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
406 : OptionsBase(document, partId, shareMode) {}
407
462
468 std::unordered_map<FontType, MusxInstance<FontInfo>> fontOptions;
469
477
485 static MusxInstance<FontInfo> getFontInfo(const DocumentPtr& document, FontType type);
486
490 constexpr static std::string_view XmlNodeName = "fontOptions";
492};
493
501public:
503 explicit GraceNoteOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
504 : OptionsBase(document, partId, shareMode) {}
505
507 int gracePerc{};
512
513 constexpr static std::string_view XmlNodeName = "graceNoteOptions";
515};
516
524public:
526 explicit KeySignatureOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
527 : OptionsBase(document, partId, shareMode) {}
528
529 bool doKeyCancel{};
530 bool doCStart{};
541
542 constexpr static std::string_view XmlNodeName = "keySignatureOptions";
544};
545
575
582class LyricOptions : public OptionsBase {
583public:
585 explicit LyricOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
586 : OptionsBase(document, partId, shareMode) {}
587
590 enum class SmartHyphenStart {
591 Always,
592 Sometimes,
593 Never
594 };
595
599 None,
600 Align
601 };
602
605 enum class AlignJustify {
606 Left,
607 Center,
608 Right
609 };
610
614 LyricRightBottom,
615 HeadRightLyrBaseline,
616 SystemLeft,
617 SystemRight,
618 DotRightLyrBaseline,
619 DurationLyrBaseline
620 };
621
625 DefaultStart,
626 DefaultEnd,
627 SystemStart,
628 SystemEnd,
629 DottedEnd,
630 DurationEnd,
631 OneEntryEnd,
632 ZeroLengthEnd,
633 ZeroOffset
634 };
635
639 Default,
640 WordExt,
641 First,
642 SystemStart
643 };
644
645 char32_t hyphenChar{};
651 std::shared_ptr<FontInfo> altHyphenFont;
661
671
680
681 std::unordered_map<SyllablePosStyleType, std::shared_ptr<SyllablePosStyle>> syllablePosStyles;
682 std::unordered_map<WordExtConnectStyleType, std::shared_ptr<WordExtConnectStyle>> wordExtConnectStyles;
683
684 void integrityCheck(const std::shared_ptr<Base>& ptrToThis) override
685 {
686 this->OptionsBase::integrityCheck(ptrToThis);
687 if (!altHyphenFont) {
688 altHyphenFont = std::make_shared<FontInfo>(getDocument());
689 }
690 if (lyricPunctuationToIgnore.empty()) {
691 lyricPunctuationToIgnore = ",.?!;:'\"“”‘’"; // this default punctuation set is taken from Document Without Libraries
692 }
693 }
694
695 constexpr static std::string_view XmlNodeName = "lyricOptions";
697};
698
705class MiscOptions : public OptionsBase {
706public:
708 explicit MiscOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
709 : OptionsBase(document, partId, shareMode) {}
710
722
723 constexpr static std::string_view XmlNodeName = "miscOptions";
725};
726
734public:
736 explicit MultimeasureRestOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
737 : OptionsBase(document, partId, shareMode) {}
738
742 int numStart{};
748 bool useSymbols{};
750
751 constexpr static std::string_view XmlNodeName = "multimeasureRestOptions";
753};
754
762public:
764 explicit MusicSpacingOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
765 : OptionsBase(document, partId, shareMode) {}
766
770 {
771 None,
773 All
774 };
775
779 {
781 Automatic,
783 };
784
788 {
789 Clear,
790 Ignore,
792 };
793
794 // layoutType appears to be cruft left over from legacy Finale. The only value seems to be "entry".
811 bool usePrinter{};
815 double scalingFactor{};
821
822 constexpr static std::string_view XmlNodeName = "musicSpacingOptions";
824};
825
838{
839public:
841 explicit MusicSymbolOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
842 : OptionsBase(document, partId, shareMode)
843 {
844 }
845
846 char32_t noteheadQuarter{};
847 char32_t noteheadHalf{};
848 char32_t noteheadWhole{};
849 char32_t noteheadDblWhole{};
850 char32_t natural{};
851 char32_t flat{};
852 char32_t sharp{};
853 char32_t dblFlat{};
854 char32_t dblSharp{};
855 char32_t parenNatural{};
856 char32_t parenFlat{};
857 char32_t parenSharp{};
858 char32_t parenDblFlat{};
859 char32_t parenDblSharp{};
860 char32_t chordNatural{};
861 char32_t chordFlat{};
862 char32_t chordSharp{};
863 char32_t chordDblFlat{};
864 char32_t chordDblSharp{};
865 char32_t keySigNatural{};
866 char32_t keySigFlat{};
867 char32_t keySigSharp{};
868 char32_t keySigDblFlat{};
869 char32_t keySigDblSharp{};
870 char32_t restLonga{};
871 char32_t restDblWhole{};
872 char32_t restWhole{};
873 char32_t restHalf{};
874 char32_t restQuarter{};
875 char32_t restEighth{};
876 char32_t rest16th{};
877 char32_t rest32nd{};
878 char32_t rest64th{};
879 char32_t rest128th{};
880 char32_t restDefMeas{};
881 char32_t oneBarRepeat{};
882 char32_t twoBarRepeat{};
883 char32_t slashBar{};
884 char32_t quarterSlash{};
885 char32_t halfSlash{};
886 char32_t wholeSlash{};
887 char32_t dblWholeSlash{};
888 char32_t timeSigPlus{};
889 char32_t timeSigPlusParts{};
890 char32_t timeSigAbrvCommon{};
891 char32_t timeSigAbrvCut{};
894 char32_t augDot{};
895 char32_t forwardRepeatDot{};
896 char32_t backRepeatDot{};
897 char32_t eightVaUp{};
898 char32_t eightVbDown{};
899 char32_t fifteenMaUp{};
900 char32_t fifteenMbDown{};
901 char32_t trillChar{};
902 char32_t wiggleChar{};
903 char32_t flagUp{};
904 char32_t flagDown{};
905 char32_t flag16Up{};
906 char32_t flag16Down{};
907 char32_t flag2Up{};
908 char32_t flag2Down{};
909 char32_t flagStraightUp{};
910 char32_t flagStraightDown{};
911
912 constexpr static std::string_view XmlNodeName = "musicSymbolOptions";
914};
915
921public:
923 explicit NoteRestOptions(const DocumentPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
924 : OptionsBase(document, partId, shareMode) {}
925
932 class NoteColor {
933 public:
934 uint16_t red{};
935 uint16_t green{};
936 uint16_t blue{};
937
940 };
941
952 bool drawOutline{};
953 std::vector<std::shared_ptr<NoteColor>> noteColors{};
954
955 void integrityCheck(const std::shared_ptr<Base>& ptrToThis) override
956 {
957 this->OptionsBase::integrityCheck(ptrToThis);
958 const size_t currentSize = noteColors.size();
959 if (currentSize < music_theory::STANDARD_12EDO_STEPS) {
960 for (size_t x = currentSize; x < music_theory::STANDARD_12EDO_STEPS; x++) {
961 noteColors.emplace_back(std::make_shared<NoteColor>()); // default values are all zero, so this is setting missing values to black color
962 }
963 MUSX_INTEGRITY_ERROR("Only " + std::to_string(currentSize) + " note colors provided. "
964 + std::to_string(music_theory::STANDARD_12EDO_STEPS) + " were expected.");
965 } else if (currentSize > music_theory::STANDARD_12EDO_STEPS) {
967 MUSX_INTEGRITY_ERROR(std::to_string(currentSize) + " note colors provided. Only "
968 + std::to_string(music_theory::STANDARD_12EDO_STEPS) + " were expected.");
969 }
970 }
971
972 constexpr static std::string_view XmlNodeName = "noteRestOptions";
974};
975
984public:
990 {
991 Current,
992 All,
994 PageRange
995 };
996
1048
1049 // Properties
1051 std::shared_ptr<PageFormat> pageFormatScore;
1052 std::shared_ptr<PageFormat> pageFormatParts;
1054
1068
1076 explicit PageFormatOptions(const DocumentPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1077 : OptionsBase(document, partId, shareMode) {}
1078
1082 constexpr static std::string_view XmlNodeName = "pageFormatOptions";
1084};
1085
1114
1175
1183public:
1185 explicit SmartShapeOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1186 : OptionsBase(document, partId, shareMode) {}
1187
1191 {
1192 Automatic,
1193 Over,
1194 Under
1195 };
1196
1200 {
1201 HeadRightTop,
1202 HeadLeftTop,
1203 StemRightTop,
1204 StemLeftTop,
1205 HeadRightBottom,
1206 HeadLeftBottom,
1207 StemRightBottom,
1208 StemLeftBottom,
1209 NoteRightCenter,
1210 NoteLeftCenter,
1211 NoteRightBottom,
1212 NoteLeftBottom,
1213 NoteRightTop,
1214 NoteLeftTop
1215 };
1216
1220 {
1221 OverNoteStart,
1222 OverNoteEnd,
1223 OverStemStart,
1224 OverStemEnd,
1225 UnderNoteStart,
1226 UnderNoteEnd,
1227 UnderStemStart,
1228 UnderStemEnd,
1229 OverMixStemStart,
1230 OverMixStemEnd,
1231 OverStemGrace,
1232 OverStemPrincipal,
1233 UnderStemGrace,
1234 UnderStemPrincipal,
1235 UnderNoteGrace,
1236 UnderStemNotePrincipal,
1237 OverNoteGrace,
1238 OverStemNotePrincipal,
1239 OverBeamStart,
1240 OverBeamEnd,
1241 UnderBeamStart,
1242 UnderBeamEnd,
1243 OverMixFlagStart,
1244 OverFlagStart,
1245 UnderFlagStart,
1246 OverTabNumStart,
1247 OverTabNumEnd,
1248 UnderTabNumStart,
1249 UnderTabNumEnd
1250 };
1251
1255 {
1256 DiffLevelPitchUpLineStart,
1257 DiffLevelPitchUpLineEnd,
1258 DiffLevelPitchUpSpaceStart,
1259 DiffLevelPitchUpSpaceEnd,
1260 DiffLevelPitchDownLineStart,
1261 DiffLevelPitchDownLineEnd,
1262 DiffLevelPitchDownSpaceStart,
1263 DiffLevelPitchDownSpaceEnd,
1264 SameLevelPitchUpLineStart,
1265 SameLevelPitchUpLineEnd,
1266 SameLevelPitchUpSpaceStart,
1267 SameLevelPitchUpSpaceEnd,
1268 SameLevelPitchDownLineStart,
1269 SameLevelPitchDownLineEnd,
1270 SameLevelPitchDownSpaceStart,
1271 SameLevelPitchDownSpaceEnd,
1272 SameLevelPitchSameStart,
1273 SameLevelPitchSameEnd
1274 };
1275
1279 {
1280 DefaultStart,
1281 DefaultEnd
1282 };
1283
1287 {
1288 NoteStart,
1289 StaffEnd,
1290 StaffStart,
1291 NoteEnd,
1292 StaffToTopLineStart,
1293 StaffFromTopLineEnd,
1294 StaffEndOffset,
1295 StaffFromTopEndOffset
1296 };
1297
1301 {
1302 ShortSpan,
1303 MediumSpan,
1304 LongSpan,
1305 ExtraLongSpan
1306 };
1307
1349
1358
1367
1368 std::unordered_map<SlurConnectStyleType, std::shared_ptr<ConnectionStyle>> slurConnectStyles;
1369 std::unordered_map<SlurControlStyleType, std::shared_ptr<ControlStyle>> slurControlStyles;
1370 std::unordered_map<TabSlideConnectStyleType, std::shared_ptr<ConnectionStyle>> tabSlideConnectStyles;
1371 std::unordered_map<GlissandoConnectStyleType, std::shared_ptr<ConnectionStyle>> glissandoConnectStyles;
1372 std::unordered_map<BendCurveConnectStyleType, std::shared_ptr<ConnectionStyle>> bendCurveConnectStyles;
1373
1374 constexpr static std::string_view XmlNodeName = "smartShapeOptions";
1376};
1377
1386
1387public:
1389 explicit StaffOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1390 : OptionsBase(document, partId, shareMode) {}
1391
1395
1396 std::shared_ptr<NamePositioning> namePos;
1397 std::shared_ptr<NamePositioning> namePosAbbrv;
1398 std::shared_ptr<NamePositioning> groupNameFullPos;
1399 std::shared_ptr<NamePositioning> groupNameAbbrvPos;
1400
1401 constexpr static std::string_view XmlNodeName = "staffOptions";
1403};
1404
1411class StemOptions : public OptionsBase {
1412public:
1414 explicit StemOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1415 : OptionsBase(document, partId, shareMode)
1416 {
1417 }
1418
1435
1444
1456 std::vector<std::shared_ptr<StemConnection>> stemConnections;
1457
1458 constexpr static std::string_view XmlNodeName = "stemOptions";
1460};
1461
1465{
1466 Sharp,
1467 Flat,
1468 Natural,
1469 DblSharp,
1470 DblFlat
1471};
1472
1482{
1483public:
1485 explicit TextOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1486 : OptionsBase(document, partId, shareMode)
1487 {
1488 }
1489
1495 {
1496 Left, // default value: leave as first (0) item
1497 Center,
1498 Right
1499 };
1500
1506 {
1507 Top, // default value: leave as first (0) item
1508 Center,
1509 Bottom
1510 };
1511
1514 enum class TextJustify {
1515 Left,
1516 Center,
1517 Right,
1518 Full,
1519 ForcedFull
1520 };
1521
1524 enum class DateFormat
1525 {
1526 Short,
1527 Long,
1528 Abbrev
1529 };
1530
1545
1548 {
1550
1554 std::shared_ptr<FontInfo> symFont;
1555 char32_t symChar{};
1556
1557 void integrityCheck(const std::shared_ptr<Base>& ptrToThis) override
1558 {
1559 this->ContainedClassBase::integrityCheck(ptrToThis);
1560 if (!symFont) {
1561 symFont = std::make_shared<FontInfo>(getDocument(), /*sizeIsPercent*/ true);
1562 symFont->fontSize = 100;
1563 MUSX_INTEGRITY_ERROR("Text options accidental insert information is missing its font information.");
1564 }
1565 }
1566
1568 };
1569
1570 std::unordered_map<AccidentalInsertSymbolType, std::shared_ptr<InsertSymbolInfo>> symbolInserts;
1571
1572 constexpr static std::string_view XmlNodeName = "textOptions";
1574};
1575
1582class TieOptions : public OptionsBase {
1583public:
1585 explicit TieOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1586 : OptionsBase(document, partId, shareMode) {}
1587
1593 {
1594 None,
1596 };
1597
1603 {
1605 StemReversal,
1607 };
1608
1614 {
1615 Over,
1616 Under,
1618 };
1619
1625 {
1626 None,
1627 Avoid
1628 };
1629
1634 enum class InsetStyle
1635 {
1636 Fixed,
1637 Percent
1638 };
1639
1645 {
1646 OverStartPosInner,
1647 OverEndPosInner,
1648 UnderStartPosInner,
1649 UnderEndPosInner,
1650 OverHighestNoteStartPosOver,
1651 OverHighestNoteEndPosOver,
1652 UnderLowestNoteStartPosUnder,
1653 UnderLowestNoteEndPosUnder,
1654 OverHighestNoteStemStartPosOver,
1655 OverHighestNoteStemEndPosOver,
1656 UnderLowestNoteStemStartPosUnder,
1657 UnderLowestNoteStemEndPosUnder
1658 };
1659
1665 {
1666 ShortSpan,
1667 MediumSpan,
1668 LongSpan,
1669 TieEnds
1670 };
1671
1698
1706
1708 std::unordered_map<ConnectStyleType, std::shared_ptr<ConnectStyle>> tieConnectStyles;
1709
1718
1722 std::shared_ptr<ControlPoint> cp1;
1723 std::shared_ptr<ControlPoint> cp2;
1724
1726 };
1727
1729 std::unordered_map<ControlStyleType, std::shared_ptr<ControlStyle>> tieControlStyles;
1730
1731 constexpr static std::string_view XmlNodeName = "tieOptions";
1733};
1734
1766
1774public:
1776 explicit TupletOptions(const DocumentWeakPtr& document, Cmper partId = 0, ShareMode shareMode = ShareMode::All)
1777 : OptionsBase(document, partId, shareMode) {}
1778
1784 {
1785 Always,
1786 UnbeamedOnly,
1788 };
1789
1798 enum class NumberStyle
1799 {
1800 Nothing,
1801 Number,
1802 UseRatio,
1805 };
1806
1812 {
1813 Manual,
1814 BeamSide,
1815 NoteSide,
1816 Above,
1817 Below
1818 };
1819
1824 enum class BracketStyle
1825 {
1826 Nothing,
1827 Slur,
1828 Bracket
1829 };
1830
1831 bool alwaysFlat{};
1832 bool fullDura{};
1834 bool avoidStaff{};
1842 bool allowHorz{};
1845 bool matchHooks{};
1858
1859 constexpr static std::string_view XmlNodeName = "tupletOptions";
1861};
1862
1863} // namespace options
1864} // namespace dom
1865} // namespace musx
DocumentPtr getDocument() const
Gets a reference to the Document.
Definition BaseClasses.h:108
virtual void integrityCheck(const std::shared_ptr< Base > &ptrToThis)
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition BaseClasses.h:154
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:91
Base class for classes that are contained by other classes.
Definition BaseClasses.h:224
ContainedClassBase(const MusxInstance< Base > &parent)
Constructs a ContainedClassBase object.
Definition BaseClasses.h:233
Base class for all "options" types.
Definition BaseClasses.h:261
Options controlling the appearance and positioning of accidentals.
Definition Options.h:57
bool crossLayerPositioning
"Use Cross-Layer Accidental Positioning" (xml node is <useNewAcciPositioning>)
Definition Options.h:65
int minOverlap
"Minimum Vertical Spacing Between Accidentals (Measured in Steps)" (xml node is <overlap>)
Definition Options.h:63
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:70
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:66
AccidentalOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:60
Evpu acciNoteSpace
Space between accidentals and notes.
Definition Options.h:67
Evpu acciAcciSpace
Space between accidentals.
Definition Options.h:68
Evpu multiCharSpace
"Space Within Multi-Character Accidentals" (xml node is <bacciAdd>)
Definition Options.h:64
Options controlling the appearance of alternate notation.
Definition Options.h:80
Evpu dWholeSlashLift
LBaseline adjustment for double whole diamond in Evpu.
Definition Options.h:88
Evpu halfSlashLift
Baseline adjustment for half diamond in Evpu.
Definition Options.h:86
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:94
Evpu quartSlashLift
Baseline adjustment for quarter slashes in Evpu.
Definition Options.h:91
Evpu wholeSlashLift
Baseline adjustment for whole diamond in Evpu.
Definition Options.h:87
Evpu quartSlashStemLift
Stem connection value for quarter slashes in Evpu.
Definition Options.h:90
AlternateNotationOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:83
Evpu halfSlashStemLift
Stem connection value for half diamond in Evpu.
Definition Options.h:89
Evpu twoMeasNumLift
Vertical offset for two-bar repeat numbers in Evpu.
Definition Options.h:92
Options controlling the appearance of augmentation dots.
Definition Options.h:104
bool useLegacyFlippedStemPositioning
Use legacy dot positioning on flipped stems.
Definition Options.h:125
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:127
AugmentationDotOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:107
bool adjMultipleVoices
"Adjust Dots for Multiple Voices" (xml node is <doDotDownAdjust>)
Definition Options.h:112
Evpu dotNoteOffset
"Space Between Dot and Note" (xml node is <dotFirstOffset>)
Definition Options.h:113
Evpu dotLift
"Vertical Adjustment of Dot"
Definition Options.h:114
Evpu dotUpFlagOffset
"Horizontal Adjustment for Upstem Flags"
Definition Options.h:110
Evpu dotOffset
"Space Between Dots"
Definition Options.h:111
static const xml::XmlElementArray< AugmentationDotOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Options controlling the appearance of barlines.
Definition Options.h:137
Efix doubleBarlineSpace
Space between double barlines in Efix.
Definition Options.h:153
Efix barlineWidth
Width of thin barlines in Efix.
Definition Options.h:152
Evpu barlineDashOff
Dash space for dashed barlines in Evpu.
Definition Options.h:156
Efix finalBarlineSpace
Space between final barlines in Efix.
Definition Options.h:154
bool drawFinalBarlineOnLastMeas
"Final Barline at End of Piece"
Definition Options.h:146
bool drawLeftBarlineSingleStaff
Left Barlines: "Display on Single Staves".
Definition Options.h:148
Efix thickBarlineWidth
Width of thick barlines in Efix.
Definition Options.h:151
bool drawCloseSystemBarline
"Close Barline at End of Each System"
Definition Options.h:144
bool drawBarlines
"Display All Barlines"
Definition Options.h:143
bool drawDoubleBarlineBeforeKeyChanges
"Double Barline Before Key Changes"
Definition Options.h:147
BarlineOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:140
bool drawLeftBarlineMultipleStaves
Left Barlines: "Display on Multiple Staves".
Definition Options.h:149
bool leftBarlineUsePrevStyle
Left Barlines: "Default Style is Previous Measure's Right Barline".
Definition Options.h:150
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:158
Evpu barlineDashOn
Dash length for dashed barlines in Evpu.
Definition Options.h:155
static const xml::XmlElementArray< BarlineOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool drawCloseFinalBarline
"Close Barline at End of Piece"
Definition Options.h:145
Options controlling the appearance of beams.
Definition Options.h:168
bool extendSecBeamsOverRests
"Extend Secondary Beams Over Rests"
Definition Options.h:196
Evpu beamStubLength
"Broken Beam Length" in Evpu.
Definition Options.h:184
BeamOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:171
Evpu maxFromMiddle
"Maximum Distance from Middle Staff Line" in Evpu. (xml node is <hmBeamTip>)
Definition Options.h:187
bool extendBeamsOverRests
"Extend Beams Over Rests" (xml node is <incEdgeRestsInBeamGroups>)
Definition Options.h:189
FlattenStyle
Beaming style choices for when to flatten beams.
Definition Options.h:177
@ 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:195
bool incRestsInFourGroups
"Include Rests when Beaming in Group of Four" (xml node is <incRestsInClassicBeams>)
Definition Options.h:190
bool oldFinaleRestBeams
Compatibility setting for legacy Finale files.
Definition Options.h:194
Evpu maxSlope
Maximum slope in Evpu.
Definition Options.h:185
Efix beamWidth
Thickness of beams in Efix.
Definition Options.h:197
bool beamThreeEighthsInCommonTime
"Beam Three Eighth Notes Together Before/After An Eighth Rest"
Definition Options.h:192
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:199
static const xml::XmlElementArray< BeamOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
FlattenStyle beamingStyle
Beaming style.
Definition Options.h:188
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:186
bool beamFourEighthsInCommonTime
"Beam Four Eighth Notes Together in Common Time"
Definition Options.h:191
bool dispHalfStemsOnRests
"Display Half-Stems for Beamed Rests" (xml node is <doStemStubs>)
Definition Options.h:193
Options controlling chord symbol and fretboard rendering.
Definition Options.h:209
bool italicizeCapoChords
Italicize capo chords.
Definition Options.h:248
Cmper fretStyleId
Default others::FretboardStyle ID.
Definition Options.h:245
ChordOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:212
static const xml::XmlElementArray< ChordOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
double chordPercent
Percent size of chord symbol relative to default. (1.0 is 100%)
Definition Options.h:240
bool chordPlayback
Enable chord symbol playback.
Definition Options.h:252
Evpu chordSharpLift
Vertical offset for sharp chord symbols.
Definition Options.h:241
double fretPercent
Percent size of fretboard relative to default. (1.0 is 100%)
Definition Options.h:239
bool multiFretItemsPerStr
Allow multiple fret items per string.
Definition Options.h:247
ChordStyle chordStyle
Style of chord spelling.
Definition Options.h:250
bool useSimpleChordSpelling
Use simplified chord spelling.
Definition Options.h:251
ChordStyle
Chord spelling style.
Definition Options.h:228
@ Standard
this is the default and may not appear in the xml
bool showFretboards
Display fretboards.
Definition Options.h:244
Cmper fretInstId
Default others::FretInstrument ID.
Definition Options.h:246
ChordAlignment chordAlignment
Horizontal alignment for chord symbols.
Definition Options.h:249
Evpu chordFlatLift
Vertical offset for flat chord symbols.
Definition Options.h:242
ChordAlignment
Horizontal alignment for chord symbols.
Definition Options.h:220
@ Left
this is the default and may not appear in the xml
Evpu chordNaturalLift
Vertical offset for natural chord symbols.
Definition Options.h:243
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:254
Represents a single clef definition.
Definition Options.h:284
Cmper shapeId
Shape ID if the clef is represented as a shape. (xml node is <shapeID>)
Definition Options.h:292
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:117
char32_t clefChar
UTF-32 character code for the clef symbol.
Definition Options.h:289
Efix baselineAdjust
Additional baseline adjustment in Efix. (xml node is <baseAdjust>)
Definition Options.h:291
static const xml::XmlElementArray< ClefDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool useOwnFont
Indicates if the clef has its own font.
Definition Options.h:295
int middleCPos
Staff position of middle-C for this clef from reference staffline (usually the top)....
Definition Options.h:288
bool isShape
Indicates if the clef is a shape.
Definition Options.h:293
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:294
std::shared_ptr< FontInfo > font
When useOwnFont is true, this is the clef's font. Otherwise nullptr.
Definition Options.h:296
int staffPosition
Staff position of the clef symbol's baseline, from reference staffline (usually the top)....
Definition Options.h:290
Options for configuring clefs in a musical context.
Definition Options.h:262
Evpu clefBackSepar
Spacing after clef. (xml node is <clefBack>)
Definition Options.h:322
std::pair< music_theory::ClefType, int > ClefInfo
Information about a ClefDef consisting of its clef type and octave transposition. For example,...
Definition Options.h:267
Evpu clefChangeOffset
Offset from next barline for end-of-measure clef changes. (xml node is <endMeasClefPosAdd>).
Definition Options.h:320
Evpu clefTimeSepar
"Extra Space Between Clef and Time Signature" (xml node is <clefTime>)
Definition Options.h:325
int clefChangePercent
Percentage adjustment for end-of-measure clef changes. 100 means no adjustment. (xml node is <endMeas...
Definition Options.h:319
std::vector< MusxInstance< ClefDef > > clefDefs
Vector of clef definitions (ClefDef).
Definition Options.h:331
Evpu clefFrontSepar
Spacing before clef. (xml node is <clefFront>)
Definition Options.h:321
Evpu clefKeySepar
"Extra Space Between Clef and Key Signature" (xml node is <clefKey>)
Definition Options.h:324
ClefOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:277
ClefIndex defaultClef
Default clef identifier. An index into clefDefs.
Definition Options.h:318
MusxInstance< ClefDef > getClefDef(ClefIndex clefIndex) const
Bounds-checked accessor function for clefDefs.
Definition Options.h:336
bool showClefFirstSystemOnly
"Display Clef Only on First System"
Definition Options.h:323
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:347
bool cautionaryClefChanges
"Display Courtesy Clef a End of Staff System"
Definition Options.h:326
static const xml::XmlElementArray< ClefOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Options controlling the appearance and adjustments of flags.
Definition Options.h:357
FlagOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:360
Evpu secondaryGroupAdj
"Secondary Group Adjust" in Evpu. (xml node is <extra>)
Definition Options.h:382
Efix downHAdj
Horizontal adjustment for downward flags in Efix.
Definition Options.h:365
Efix downHAdj2
Horizontal adjustment for secondary downward flags in Efix.
Definition Options.h:367
Efix downVAdj16
Vertical adjustment for sixteenth downward flags in Efix.
Definition Options.h:378
Efix stDownVAdj
Vertical adjustment for straight downward flags in Efix.
Definition Options.h:380
Efix stDownHAdj
Horizontal adjustment for straight downward flags in Efix.
Definition Options.h:372
Efix downVAdj
Vertical adjustment for downward flags in Efix.
Definition Options.h:374
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:384
Efix upHAdj16
Horizontal adjustment for sixteenth upward flags in Efix.
Definition Options.h:368
Efix upHAdj
Horizontal adjustment for upward flags in Efix.
Definition Options.h:364
Efix downHAdj16
Horizontal adjustment for sixteenth downward flags in Efix.
Definition Options.h:369
Efix stUpVAdj
Vertical adjustment for straight upward flags in Efix.
Definition Options.h:379
Efix stUpHAdj
Horizontal adjustment for straight upward flags in Efix.
Definition Options.h:371
Efix upVAdj16
Vertical adjustment for sixteenth upward flags in Efix.
Definition Options.h:377
Efix upHAdj2
Horizontal adjustment for secondary upward flags in Efix.
Definition Options.h:366
Evpu flagSpacing
"Flag Spacing" in Evpu. (xml node is <separ>)
Definition Options.h:381
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:370
Efix upVAdj
Vertical adjustment for upward flags in Efix.
Definition Options.h:373
Efix downVAdj2
Vertical adjustment for secondary downward flags in Efix.
Definition Options.h:376
bool straightFlags
Whether to use straight flags.
Definition Options.h:363
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:375
An unordered map of default font settings for the document.
Definition Options.h:395
MusxInstance< FontInfo > getFontInfo(FontType type) const
get the FontInfo for a particular type
Definition Options.cpp:135
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:468
FontType
Types of fonts available for the document.
Definition Options.h:415
@ 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:405
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:490
Options controlling the appearance and behavior of grace notes.
Definition Options.h:500
int tabGracePerc
"Tablature Grace Note Size" (%)
Definition Options.h:506
bool slashFlaggedGraceNotes
"Always Slash Flagged Grace Notes"
Definition Options.h:510
Efix graceSlashWidth
Width (thickness) of grace note slashes in Efix.
Definition Options.h:511
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:509
GraceNoteOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:503
int gracePerc
"Grace Note Size" (%)
Definition Options.h:507
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:513
Edu playbackDuration
Playback duration for grace notes in Edu.
Definition Options.h:508
Options controlling the appearance and behavior of key signatures.
Definition Options.h:523
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:542
bool cautionaryKeyChanges
"Display Courtesy Key Signature at End of Staff System"
Definition Options.h:539
bool doCStart
"In C, Display Naturals at Start of Staff System"
Definition Options.h:530
bool doKeyCancel
"Cancel Outgoing Key Signature"
Definition Options.h:529
Evpu keyBack
"Space After Key Signature"
Definition Options.h:534
Evpu acciAdd
"Space Between Key Signature Accidentals"
Definition Options.h:535
Evpu keyFront
"Space Before Key Signature"
Definition Options.h:532
Evpu keyMid
"Space After Cancelled Key"
Definition Options.h:533
bool simplifyKeyHoldOctave
"Preserve Octave When Simplifying Keys"
Definition Options.h:538
bool redisplayOnModeChange
"Redisplay Key Signature If Only Mode is Changing" (xml node is <doBankDiff>)
Definition Options.h:531
KeySignatureOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:526
bool doKeyCancelBetweenSharpsFlats
"When Switching Between Sharps and Flats"
Definition Options.h:540
bool showKeyFirstSystemOnly
"Show Key Signature Only on First System"
Definition Options.h:536
Evpu keyTimeSepar
"Extra Space Between Key & Time Signatures" (xml node is <keyTime>)
Definition Options.h:537
Options controlling the appearance of line and curve elements.
Definition Options.h:552
bool enclosureRoundCorners
Whether default enclosures have rounded corners.
Definition Options.h:560
Efix enclosureWidth
Default enclosure width in Efix.
Definition Options.h:559
LineCurveOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:555
Evpu legerFrontLength
Front length of leger lines in Evpu.
Definition Options.h:564
Efix legerLineWidth
Width of leger lines in Efix.
Definition Options.h:563
EvpuFloat pathSlurTipWidth
Width of slur tip path in fractional EvpuFloat.
Definition Options.h:570
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:572
Evpu legerBackLength
Back length of leger lines in Evpu.
Definition Options.h:565
double psUlDepth
Depth of PostScript underline in 72 dpi points (fractional).
Definition Options.h:568
static const xml::XmlElementArray< LineCurveOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu restLegerFrontLength
Front length of rest leger lines in Evpu.
Definition Options.h:566
Efix staffLineWidth
Width of staff lines in Efix.
Definition Options.h:562
Efix enclosureCornerRadius
Default rounded corner radius width for enclosures in Efix.
Definition Options.h:561
double psUlWidth
Width of PostScript underline in 72 dpi points (fractional).
Definition Options.h:569
Evpu restLegerBackLength
Back length of rest leger lines in Evpu.
Definition Options.h:567
int bezierStep
Number of steps for Bézier curves.
Definition Options.h:558
Options controlling lyric rendering in the musx file.
Definition Options.h:582
Evpu maxHyphenSeparation
"Maximum Space Between Hyphens"
Definition Options.h:646
static const xml::XmlElementArray< LyricOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
SmartHyphenStart smartHyphenStart
"Smart Hyphen Start"
Definition Options.h:653
bool useSmartHyphens
"Use Smart Hyphens"
Definition Options.h:652
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:695
char32_t hyphenChar
"Hyphen Character"
Definition Options.h:645
bool lyricUseEdgePunctuation
reverse of "Ignore SyllableEdgePunctuation"
Definition Options.h:657
WordExtConnectStyleType
Word extension connection style categories.
Definition Options.h:624
void integrityCheck(const std::shared_ptr< Base > &ptrToThis) override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Options.h:684
std::string lyricPunctuationToIgnore
If this string is omitted in the xml, the default value is populated in integrityCheck.
Definition Options.h:658
AutoNumberingAlign
Autonumbering type.
Definition Options.h:598
@ None
"Keep with First Syllable in Lyric" (default value)
Evpu wordExtMinLength
"Word Extension Minimum Length"
Definition Options.h:655
Efix wordExtLineWidth
"Word Extension Line Width"
Definition Options.h:660
WordExtConnectIndex
Word extension connection points.
Definition Options.h:613
std::shared_ptr< FontInfo > altHyphenFont
"Alternate Hyphen Font"
Definition Options.h:651
AutoNumberingAlign lyricAutoNumType
"Automatic Lyric Numbers"
Definition Options.h:659
bool useSmartWordExtensions
"Use Smart Word Extensions"
Definition Options.h:649
SmartHyphenStart
When to start hyphenation.
Definition Options.h:590
@ Sometimes
"Only when the first syllable is attached to the second note or later"
bool useAltHyphenFont
"Use Alternate Hyphen Font"
Definition Options.h:650
bool wordExtNeedUnderscore
"Only Create on Lyrics With Underscores"
Definition Options.h:654
Evpu wordExtVertOffset
"Word Extension Vertical Offset from Baseline"
Definition Options.h:647
std::unordered_map< SyllablePosStyleType, std::shared_ptr< SyllablePosStyle > > syllablePosStyles
Syllable positioning styles.
Definition Options.h:681
bool wordExtOffsetToNotehead
"Notehead Alignment: Align to Notehead" (if false: "Stretch to Note Duration")
Definition Options.h:656
Evpu wordExtHorzOffset
"Word Extension Horizontal Offset from Syllable"
Definition Options.h:648
LyricOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:585
AlignJustify
Horizontal and vertical alignment/justification values.
Definition Options.h:605
SyllablePosStyleType
Lyric syllable position style types.
Definition Options.h:638
@ 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:682
Options controlling miscellaneous settings.
Definition Options.h:705
bool showRepeatsForParts
"Show Repeats for Parts"
Definition Options.h:711
bool consolidateRestsAcrossLayers
"Consolidate Rests Across Layers" (xml node is <combineRestsAcrossLayers>)
Definition Options.h:718
MiscOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:708
bool alignMeasureNumbersWithBarlines
"Align Measure Numbers With Barlines" (xml node is <drawMeasureNumbersOverBarlines>)
Definition Options.h:721
bool showActiveLayerOnly
"Show Active Layer Only" (xml node is <showCurrentLayerOnly>)
Definition Options.h:717
Edu pickupValue
Definition Options.h:712
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:723
bool keepWrittenOctaveInConcertPitch
"Keep Octave Transposition in Concert Pitch" (xml node is <retainOctaveTransInConcertPitch>)
Definition Options.h:716
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:720
Evpu shapeDesignerDashLength
Shape Designer dash length in Evpu. (xml node is <sdDashOn>)
Definition Options.h:719
Options controlling the appearance and behavior of multimeasure rests.
Definition Options.h:733
Evpu endAdjust
End point adjustment for H-bar shape in Evpu.
Definition Options.h:747
bool autoUpdateMmRests
Automatically update multimeasure rests when the user changes these options.
Definition Options.h:749
Evpu symSpacing
Spacing between symbols in Evpu if useSymbols is checkd. (xml node is <spacing>)
Definition Options.h:744
Evpu measWidth
Space allocated per measure in multimeasure rest in Evpu. (xml node is <meaSpace>)
Definition Options.h:739
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:751
Evpu numAdjX
Horizontal adjustment for number in Evpu.
Definition Options.h:745
MultimeasureRestOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:736
int numStart
Value for "Start Number At".
Definition Options.h:742
bool useSymbols
Use character style for rests. (xml node is <useCharRestStyle>)
Definition Options.h:748
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:746
Cmper shapeDef
Cmper of shape for multimeasure rest H-bar.
Definition Options.h:741
Evpu numAdjY
Vertical adjustment for number in Evpu. The Finale UI reverses the sign of this value....
Definition Options.h:740
int useSymsThreshold
Numbers of bars rest below this number use symbols if useSymbols is checked. (xml node is <threshold>...
Definition Options.h:743
Options controlling music spacing.
Definition Options.h:761
Evpu minDistGrace
Minimum distance for grace notes in Evpu.
Definition Options.h:817
bool avoidColNotes
Avoid collisions with notes.
Definition Options.h:799
GraceNoteSpacing graceNoteSpacing
Choice for how to handle grace note spacing. (xml node is <graceNoteManualPositioning>)
Definition Options.h:818
ManualPositioning manualPositioning
Manual positioning choice.
Definition Options.h:808
GraceNoteSpacing
Options for how to handle grace note spacing.
Definition Options.h:779
@ 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:795
bool avoidColLedgers
Avoid collisions with ledger lines.
Definition Options.h:807
Evpu musFront
Additional spacing before the first note in Evpu. (From Notes & Rests window.)
Definition Options.h:819
double scalingFactor
Scaling factor for spacing.
Definition Options.h:815
ColUnisonsChoice avoidColUnisons
Choice for how to handle collisions with unisons.
Definition Options.h:806
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:822
MusicSpacingOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:764
bool avoidColLyrics
Avoid collisions with lyrics.
Definition Options.h:800
bool useAllottmentTables
Use allotment tables for spacing.
Definition Options.h:812
Evpu defaultAllotment
Default allotment for spacing in Evpu. (This value may not be settable in the Finale UI....
Definition Options.h:816
bool avoidColStems
Avoid collisions with stems.
Definition Options.h:805
Evpu musBack
Additional spacing after the last note in Evpu. (From Notes & Rests window.)
Definition Options.h:820
bool avoidColSeconds
Avoid collisions with seconds.
Definition Options.h:804
ManualPositioning
Options for how to handle manual positioning.
Definition Options.h:788
@ 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:811
ColUnisonsChoice
Options for how to handle unisons.
Definition Options.h:770
@ 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:797
bool ignoreHidden
Ignore hidden notes. (This value is reversed in the Finale UI.)
Definition Options.h:809
static const xml::XmlElementArray< MusicSpacingOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu referenceWidth
Reference width for spacing in Evpu.
Definition Options.h:814
bool avoidColClefs
Avoid collisions with clefs.
Definition Options.h:803
Evpu maxWidth
Maximum measure width in Evpu.
Definition Options.h:796
Edu referenceDuration
Reference duration for spacing in Edu.
Definition Options.h:813
bool interpolateAllotments
Interpolate allotments.
Definition Options.h:810
bool avoidColArtics
Avoid collisions with articulations.
Definition Options.h:802
bool avoidColChords
Avoid collisions with chords.
Definition Options.h:801
Evpu minDistTiedNotes
Minimum distance between tied notes in Evpu.
Definition Options.h:798
Options specifying the charactes for musical symbols.
Definition Options.h:838
char32_t keySigDblFlat
Code point for key signature double flat.
Definition Options.h:868
char32_t chordDblFlat
Code point for chord double flat sign.
Definition Options.h:863
MusicSymbolOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:841
char32_t flag16Down
Code point for 16th note downward flag.
Definition Options.h:906
char32_t flagUp
Code point for upward flag.
Definition Options.h:903
char32_t quarterSlash
Code point for quarter slash.
Definition Options.h:884
char32_t restLonga
Code point for longa rest.
Definition Options.h:870
char32_t slashBar
Code point for slash bar.
Definition Options.h:883
char32_t parenDblFlat
Code point for parenthesized double flat.
Definition Options.h:858
char32_t rest128th
Code point for 128th rest.
Definition Options.h:879
char32_t trillChar
Code point for trill symbol.
Definition Options.h:901
char32_t keySigDblSharp
Code point for key signature double sharp.
Definition Options.h:869
char32_t restDefMeas
Code point for default measure rest.
Definition Options.h:880
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:912
char32_t halfSlash
Code point for half slash.
Definition Options.h:885
char32_t chordDblSharp
Code point for chord double sharp sign.
Definition Options.h:864
char32_t wiggleChar
Code point for wiggle (trill line) symbol.
Definition Options.h:902
char32_t restEighth
Code point for eighth rest.
Definition Options.h:875
char32_t oneBarRepeat
Code point for one-bar repeat.
Definition Options.h:881
char32_t noteheadDblWhole
Code point for double whole notehead.
Definition Options.h:849
char32_t parenNatural
Code point for parenthesized natural.
Definition Options.h:855
char32_t flag2Down
Code point for 32nd note downward flag.
Definition Options.h:908
char32_t flag2Up
Code point for 32nd note upward flag.
Definition Options.h:907
char32_t timeSigPlus
Code point for time signature plus sign.
Definition Options.h:888
char32_t fifteenMaUp
Code point for 15ma (quindicesima) up.
Definition Options.h:899
char32_t parenFlat
Code point for parenthesized flat.
Definition Options.h:856
char32_t parenSharp
Code point for parenthesized sharp.
Definition Options.h:857
char32_t chordSharp
Code point for chord sharp sign.
Definition Options.h:862
char32_t keySigSharp
Code point for key signature sharp.
Definition Options.h:867
char32_t dblFlat
Code point for double flat sign.
Definition Options.h:853
char32_t noteheadQuarter
Code point for quarter notehead.
Definition Options.h:846
char32_t timeSigAbrvCommon
Code point for common time abbreviation.
Definition Options.h:890
char32_t parenDblSharp
Code point for parenthesized double sharp.
Definition Options.h:859
char32_t augDot
Code point for augmentation dot.
Definition Options.h:894
char32_t restHalf
Code point for half rest.
Definition Options.h:873
char32_t backRepeatDot
Code point for backward repeat dot.
Definition Options.h:896
char32_t restWhole
Code point for whole rest.
Definition Options.h:872
char32_t timeSigAbrvCut
Code point for cut time abbreviation.
Definition Options.h:891
char32_t rest16th
Code point for 16th rest.
Definition Options.h:876
char32_t rest32nd
Code point for 32nd rest.
Definition Options.h:877
char32_t timeSigPlusParts
Code point for time signature plus (parts)
Definition Options.h:889
char32_t twoBarRepeat
Code point for two-bar repeat.
Definition Options.h:882
char32_t sharp
Code point for sharp sign.
Definition Options.h:852
char32_t chordFlat
Code point for chord flat sign.
Definition Options.h:861
char32_t eightVaUp
Code point for 8va (ottava) up.
Definition Options.h:897
char32_t noteheadWhole
Code point for whole notehead.
Definition Options.h:848
char32_t restDblWhole
Code point for double whole rest.
Definition Options.h:871
char32_t wholeSlash
Code point for whole slash.
Definition Options.h:886
char32_t dblSharp
Code point for double sharp sign.
Definition Options.h:854
char32_t keySigFlat
Code point for key signature flat.
Definition Options.h:866
char32_t natural
Code point for natural sign.
Definition Options.h:850
static const xml::XmlElementArray< MusicSymbolOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
char32_t noteheadHalf
Code point for half notehead.
Definition Options.h:847
char32_t flat
Code point for flat sign.
Definition Options.h:851
char32_t eightVbDown
Code point for 8vb (ottava) down.
Definition Options.h:898
char32_t dblWholeSlash
Code point for double whole slash.
Definition Options.h:887
char32_t fifteenMbDown
Code point for 15mb (quindicesima) down.
Definition Options.h:900
char32_t timeSigAbrvCommonParts
Code point for common time abbreviation (parts)
Definition Options.h:892
char32_t flagStraightUp
Code point for straight upward flag.
Definition Options.h:909
char32_t timeSigAbrvCutParts
Code point for cut time abbreviation (parts)
Definition Options.h:893
char32_t flag16Up
Code point for 16th note upward flag.
Definition Options.h:905
char32_t flagStraightDown
Code point for straight downward flag.
Definition Options.h:910
char32_t restQuarter
Code point for quarter rest.
Definition Options.h:874
char32_t chordNatural
Code point for chord natural sign.
Definition Options.h:860
char32_t rest64th
Code point for 64th rest.
Definition Options.h:878
char32_t flagDown
Code point for downward flag.
Definition Options.h:904
char32_t forwardRepeatDot
Code point for forward repeat dot.
Definition Options.h:895
char32_t keySigNatural
Code point for key signature natural.
Definition Options.h:865
16-bit per-channel note color (RGB) used by Finale.
Definition Options.h:932
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:935
uint16_t blue
Blue component in Finale's 16-bit range.
Definition Options.h:936
uint16_t red
Red component in Finale's 16-bit range.
Definition Options.h:934
Options controlling note/rest display and positioning.
Definition Options.h:920
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:923
void integrityCheck(const std::shared_ptr< Base > &ptrToThis) override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Options.h:955
std::vector< std::shared_ptr< NoteColor > > noteColors
Notehead colors, one per pitch-class.
Definition Options.h:953
bool doShapeNotes
Definition Options.h:942
Evpu drop16thRest
Vertical 16th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:947
bool drawOutline
"Show border around colored noteheads"
Definition Options.h:952
Evpu drop128thRest
Vertical 128th (and smaller) rest positioning from staff default line. (Usually the center line....
Definition Options.h:950
bool doCrossStaffNotes
Inverse of "Display Cross-Staff Notes in Original Staff" (xml node is <doCrossOver>)
Definition Options.h:945
Evpu drop64thRest
Vertical 64th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:949
Evpu drop8thRest
Vertical 8th rest positioning from staff default line. (Usually the center line.)
Definition Options.h:946
Evpu drop32ndRest
Vertical 32nd rest positioning from staff default line. (Usually the center line.)
Definition Options.h:948
bool scaleManualPositioning
"Scale Manual Positioning of Notes"
Definition Options.h:951
static constexpr std::string_view XmlNodeName
XML node name for this type.
Definition Options.h:972
Represents the format settings for a page.
Definition Options.h:1002
Evpu sysMarginTop
System top margin. (Sign reversed in Finale UI.)
Definition Options.h:1017
int pagePercent
Page scaling percentage (a value of 100 means no scaling).
Definition Options.h:1006
Evpu sysMarginRight
System bottom margin. (Sign reversed in Finale UI.)
Definition Options.h:1021
Evpu sysDistanceBetween
Distance between systems. (Sign reversed in Finale UI.)
Definition Options.h:1022
Evpu pageHeight
Height of the page.
Definition Options.h:1004
Evpu16ths rawStaffHeight
Raw staff height (in 1/16 Evpu units). Note that this is different units than others::StaffSystem::st...
Definition Options.h:1008
PageFormat()=default
Default constructor for PageFormat.
bool differentFirstPageMargin
Whether to use the firstPageMarginTop value.
Definition Options.h:1029
bool facingPages
Whether to use the right page margin values.
Definition Options.h:1027
Evpu rightPageMarginTop
Top margin for the right page. (Sign reversed in Finale UI.)
Definition Options.h:1013
Evpu leftPageMarginBottom
Bottom margin for the left page.
Definition Options.h:1011
Evpu pageWidth
Width of the page.
Definition Options.h:1005
util::Fraction calcSystemScaling() const
Calculates the system scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1035
int sysPercent
System scaling percentage (a value of 100 means no scaling).
Definition Options.h:1007
Evpu sysMarginLeft
System left margin.
Definition Options.h:1018
Evpu sysMarginBottom
Definition Options.h:1019
util::Fraction calcPageScaling() const
Calculates the page scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1032
Evpu firstPageMarginTop
Top margin for the first page. (Sign reversed in Finale UI.)
Definition Options.h:1023
Evpu leftPageMarginLeft
Left margin for the left page.
Definition Options.h:1010
Evpu leftPageMarginRight
Right margin for the left page. (Sign reversed in Finale UI.)
Definition Options.h:1012
Evpu firstSysMarginLeft
Left margin for the first system.
Definition Options.h:1025
Evpu leftPageMarginTop
Top margin for the left page. (Sign reversed in Finale UI.)
Definition Options.h:1009
Evpu firstSysMarginTop
Top margin for the first system. (Sign reversed in Finale UI.)
Definition Options.h:1024
Evpu rightPageMarginBottom
Bottom margin for the right page.
Definition Options.h:1015
static const xml::XmlElementArray< PageFormat > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool differentFirstSysMargin
Whether to use the first system values.
Definition Options.h:1028
Evpu rightPageMarginLeft
Left margin for the right page.
Definition Options.h:1014
Evpu rightPageMarginRight
Right margin for the right page. (Sign reversed in Finale UI.)
Definition Options.h:1016
util::Fraction calcCombinedSystemScaling() const
Calculates the combined system & page scaling as a musx::util::Fraction where 1/1 means no scaling.
Definition Options.h:1039
Evpu firstSysMarginDistance
Distance between the first systems. (Sign reversed in Finale UI.)
Definition Options.h:1026
Options for page formatting in the document.
Definition Options.h:983
MusxInstance< PageFormat > calcPageFormatForPart(Cmper partId) const
Calculates the page format options for a specific part.
Definition Options.cpp:161
bool avoidSystemMarginCollisions
Whether to avoid system margin collisions.
Definition Options.h:1053
std::shared_ptr< PageFormat > pageFormatParts
Page format for parts settings.
Definition Options.h:1052
std::shared_ptr< PageFormat > pageFormatScore
Page format for score settings.
Definition Options.h:1051
AdjustPageScope adjustPageScope
Scope of page adjustments.
Definition Options.h:1050
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1082
static const xml::XmlElementArray< PageFormatOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
AdjustPageScope
Enum for the scope of page adjustments.
Definition Options.h:990
@ 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:1076
Options controlling the appearance of piano braces and brackets.
Definition Options.h:1092
EvpuFloat centerThickness
Center thickness of braces in fractional EvpuFloat.
Definition Options.h:1099
Evpu defBracketPos
"Group Brackets: Default Distance from Left Edge of Staff"
Definition Options.h:1098
EvpuFloat outerTipV
Vertical position of the outer tip in fractional EvpuFloat. (xml node is <outerTipY>)
Definition Options.h:1105
EvpuFloat innerBodyH
Horizontal position of the inner body in fractional EvpuFloat. (xml node is <innerWingX>)
Definition Options.h:1109
EvpuFloat tipThickness
End thickness of braces in fractional EvpuFloat. (xml node is <endThickness>)
Definition Options.h:1100
PianoBraceBracketOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1095
EvpuFloat width
Width of braces in fractional EvpuFloat.
Definition Options.h:1107
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1111
EvpuFloat outerTipH
Horizontal position of the outer tip in fractional EvpuFloat. (xml node is <outerTipX>)
Definition Options.h:1104
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:1101
EvpuFloat innerTipV
Vertical position of the inner tip in fractional EvpuFloat. (xml node is <innerTipY>)
Definition Options.h:1102
EvpuFloat innerTipH
Horizontal position of the inner tip in fractional EvpuFloat. (xml node is <innerTipX>)
Definition Options.h:1108
EvpuFloat innerBodyV
Vertical position of the inner body in fractional EvpuFloat. (xml node is <innerWingY>)
Definition Options.h:1103
EvpuFloat outerBodyH
Horizontal positione of the outer body in fractional EvpuFloat. (xml node is <outerWingX>)
Definition Options.h:1106
Options controlling the appearance of repeats.
Definition Options.h:1121
bool bracketEndAnchorThinLine
Whether the end of the bracket anchors to a thin line.
Definition Options.h:1168
Evpu bracketStartInset
Inset at the start of the bracket in Evpu.
Definition Options.h:1163
Evpu backwardDotHPos
Horizontal separation of backward repeat dots in Evpu.
Definition Options.h:1153
Evpu bracketEndHookLen
Length of the hook at the end of the bracket in Evpu.
Definition Options.h:1167
BackToBackStyle
Back-to-Back Styles from Document Options - Repeats.
Definition Options.h:1140
BackToBackStyle backToBackStyle
Back-to-back style.
Definition Options.h:1151
Evpu afterClefSpace
Space after clef in Evpu.
Definition Options.h:1157
Evpu afterTimeSpace
Space after time signature in Evpu.
Definition Options.h:1159
Evpu bracketEndInset
Inset at the end of the bracket in Evpu.
Definition Options.h:1164
bool addPeriod
"Add Period After Number"
Definition Options.h:1147
Evpu lowerDotVPos
Vertical adjustment of the lower dot in Evpu.
Definition Options.h:1155
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1172
Evpu forwardDotHPos
Horizontal separation of forward repeat dots in Evpu.
Definition Options.h:1152
static const xml::XmlElementArray< RepeatOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix thinLineWidth
Thin line thickness in Efix.
Definition Options.h:1149
Evpu bracketHeight
Height of the bracket in Evpu.
Definition Options.h:1160
Evpu afterKeySpace
Space after key signature in Evpu.
Definition Options.h:1158
WingStyle
Wing Styles from Document Options - Repeats.
Definition Options.h:1130
Evpu bracketTextVPos
Vertical position of bracket text in Evpu.
Definition Options.h:1166
Efix lineSpace
Space between lines in Efix.
Definition Options.h:1150
Efix bracketLineWidth
Width of the bracket line in Efix.
Definition Options.h:1162
int maxPasses
Maximum number of passes for repeats.
Definition Options.h:1146
bool showOnTopStaffOnly
"Show On Top Staff Only"
Definition Options.h:1169
Evpu upperDotVPos
Vertical adjustment of the upper dot in Evpu.
Definition Options.h:1154
Efix thickLineWidth
Heavy line thickness in Efix.
Definition Options.h:1148
RepeatOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1124
Evpu bracketHookLen
Length of the bracket hook in Evpu.
Definition Options.h:1161
Evpu bracketTextHPos
Horizontal position of bracket text in Evpu.
Definition Options.h:1165
WingStyle wingStyle
Wing style.
Definition Options.h:1156
Cmper showOnStaffListNumber
Staff list number (0 if none). Cmper links to associated "repeatStaffList..." xml nodes.
Definition Options.h:1170
Options controlling the appearance of smart shapes in the musx file.
Definition Options.h:1182
SlurControlStyleType
Slue control style types.
Definition Options.h:1301
Evpu slurLeftBreakHorzAdj
"Slur Left Break Horizontal Adjustment"
Definition Options.h:1329
int slurSymmetry
"Slur Symmetry"
Definition Options.h:1327
BendCurveConnectStyleType
Bend curve connection style types.
Definition Options.h:1287
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:1370
Evpu slurThicknessCp1Y
"Slur Thickness Control Point 1 Y"
Definition Options.h:1320
Cmper ssLineStyleCmpTabSlide
Cmper of current tab slide line style. (others::SmartShapeCustomLine)
Definition Options.h:1342
Evpu smartDashOff
"Smart Dash Off Length"
Definition Options.h:1316
ConnectionIndex
Connection index values.
Definition Options.h:1200
Efix smartLineWidth
"Smart Line Width"
Definition Options.h:1313
DefaultDirection
Default slur direction.
Definition Options.h:1191
int maxSlurStretchPercent
"Maximum Slur Stretch Percentage"
Definition Options.h:1338
Evpu slurAcciPadding
"Slur Accidental Padding"
Definition Options.h:1335
Evpu maximumShortHairpinLength
"Maximum Short Hairpin Length"
Definition Options.h:1310
Evpu slurRightBreakHorzAdj
"Slur Right Break Horizontal Adjustment"
Definition Options.h:1330
TabSlideConnectStyleType
Tab slide connection style types.
Definition Options.h:1255
bool showOctavaAsText
"Show Octava As Text"
Definition Options.h:1314
SmartShapeOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1185
bool guitarBendHideBendTo
"Guitar Bend Hide Bend To"
Definition Options.h:1346
Cmper ssLineStyleCmpCustom
Cmper of current custom line style. (others::SmartShapeCustomLine)
Definition Options.h:1340
bool guitarBendUseParens
"Guitar Bend Use Parentheses"
Definition Options.h:1345
Cmper ssLineStyleCmpTabBendCurve
Cmper of current tab bend line style. (others::SmartShapeCustomLine)
Definition Options.h:1343
Evpu slurThicknessCp2Y
"Slur Thickness Control Point 2 Y"
Definition Options.h:1322
bool slurStretchByPercent
"As Percentage of Slur Length"
Definition Options.h:1337
SlurConnectStyleType
Slur connection style types.
Definition Options.h:1220
Evpu hookLength
"Hook Length"
Definition Options.h:1312
Evpu slurBreakVertAdj
"Slur Break Vertical Adjustment"
Definition Options.h:1331
Evpu crescHeight
"Crescendo Height"
Definition Options.h:1309
Evpu articAvoidSlurAmt
"Articulation Avoid Slur Amount"
Definition Options.h:1339
Evpu slurPadding
"Slur Padding"
Definition Options.h:1333
Evpu shortHairpinOpeningWidth
"Short Hairpin Opening Width"
Definition Options.h:1308
bool slurDoStretchFirst
"Initial Adjustment: Stretch"
Definition Options.h:1336
bool useEngraverSlurs
"Use Engraver Slurs"
Definition Options.h:1328
EvpuFloat smartSlurTipWidth
"Smart Slur Tip Width"
Definition Options.h:1344
bool guitarBendUseFull
"Guitar Bend Use Full"
Definition Options.h:1348
Evpu slurThicknessCp2X
"Slur Thickness Control Point 2 X"
Definition Options.h:1321
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1374
GlissandoConnectStyleType
Glissando connection style types.
Definition Options.h:1279
std::unordered_map< BendCurveConnectStyleType, std::shared_ptr< ConnectionStyle > > bendCurveConnectStyles
Benx curve connections.
Definition Options.h:1372
std::unordered_map< SlurControlStyleType, std::shared_ptr< ControlStyle > > slurControlStyles
Slur contours.
Definition Options.h:1369
std::unordered_map< SlurConnectStyleType, std::shared_ptr< ConnectionStyle > > slurConnectStyles
Slur connections.
Definition Options.h:1368
Evpu slurAvoidStaffLinesAmt
"Slur Avoid Staff Lines Amount"
Definition Options.h:1324
Efix maxSlurLift
"Maximum Slur Lift"
Definition Options.h:1326
Evpu slurThicknessCp1X
"Slur Thickness Control Point 1 X"
Definition Options.h:1319
Efix maxSlurStretch
"Maximum Slur Stretch"
Definition Options.h:1325
DefaultDirection direction
Default slur direction.
Definition Options.h:1318
bool slurAvoidStaffLines
"Slur Avoid Staff Lines"
Definition Options.h:1332
bool slurAvoidAccidentals
"Slur Avoid Accidentals"
Definition Options.h:1323
Efix crescLineWidth
"Crescendo/Decrescendo Line Width"
Definition Options.h:1311
bool guitarBendGenText
"Guitar Bend Generate Text"
Definition Options.h:1347
bool crescHorizontal
"Horizontal Crescendo"
Definition Options.h:1317
Efix maxSlurAngle
"Maximum Slur Angle"
Definition Options.h:1334
Evpu smartDashOn
"Smart Dash On Length"
Definition Options.h:1315
std::unordered_map< GlissandoConnectStyleType, std::shared_ptr< ConnectionStyle > > glissandoConnectStyles
Glissando connections.
Definition Options.h:1371
Cmper ssLineStyleCmpGlissando
Cmper of current glissando line style. (others::SmartShapeCustomLine)
Definition Options.h:1341
Options controlling the appearance and layout of staves.
Definition Options.h:1384
std::shared_ptr< NamePositioning > groupNameFullPos
Default full name positioning for staff groups.
Definition Options.h:1398
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1401
bool autoAdjustStaffSepar
"The Default Value Topline-to-Topline Distance is a Preferred Value That Can Change if Necessary" (fo...
Definition Options.h:1394
Evpu staffSeparation
Default topline-to-topline distance in Evpu. (This value is sign-reversed in the Finale UI....
Definition Options.h:1392
std::shared_ptr< NamePositioning > groupNameAbbrvPos
Default abbreviated name positioning for staff groups.
Definition Options.h:1399
std::shared_ptr< NamePositioning > namePos
Default full name positioning for staves.
Definition Options.h:1396
std::shared_ptr< NamePositioning > namePosAbbrv
Default abbreviated name positioning for staves.
Definition Options.h:1397
Evpu staffSeparIncr
"Add Vertical Space" value for Setup Wizard.
Definition Options.h:1393
StaffOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1389
static const xml::XmlElementArray< StaffOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Information about one stemConnections element.
Definition Options.h:1424
char32_t symbol
The codepoint of the symbol glyph in the font specified by fontId.
Definition Options.h:1427
Efix upStemHorz
Upstem horizontal adjustment.
Definition Options.h:1430
static const xml::XmlElementArray< StemConnection > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix downStemVert
Downstem vertical adjustment.
Definition Options.h:1429
Cmper fontId
The font ID of the font this connection applies to. Zero means default music font....
Definition Options.h:1426
Efix downStemHorz
Downstem horizontal adjustment.
Definition Options.h:1431
Efix upStemVert
Upstem vertical adjustment.
Definition Options.h:1428
Options controlling the appearance of stems.
Definition Options.h:1411
Evpu halfStemLength
Half stem length in Evpu.
Definition Options.h:1436
bool useStemConnections
"Use Stem Connections"
Definition Options.h:1443
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1458
Efix stemOffset
Stem offset in Efix. (xml node is <stemLift>)
Definition Options.h:1442
bool noReverseStems
Set if "Display Reverse Stemming" is unchecked. (This bit is reversed in the Finale UI....
Definition Options.h:1440
StemOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1414
std::vector< std::shared_ptr< StemConnection > > stemConnections
Array of stem connection definitions.
Definition Options.h:1456
Efix stemWidth
Stem width in Efix.
Definition Options.h:1441
Evpu stemLength
Stem length in Evpu.
Definition Options.h:1437
Evpu revStemAdj
Reverse stem adjustment in Evpu.
Definition Options.h:1439
Evpu shortStemLength
Short stem length in Evpu. (xml node is <stem2>)
Definition Options.h:1438
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:1482
int textTracking
"Tracking" amount in EMs (1/1000 of the font size)
Definition Options.h:1535
HorizontalAlignment textHorzAlign
"Horizontal Alignment"
Definition Options.h:1542
Evpu textBaselineShift
"Baseline Shift" amount
Definition Options.h:1536
TextOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor.
Definition Options.h:1485
bool textWordWrap
"Word Wrap"
Definition Options.h:1538
int textLineSpacingPercent
"Line Spacing: Automatic" percent value
Definition Options.h:1531
bool showTimeSeconds
"Include Seconds in Time Stamp"
Definition Options.h:1532
Evpu textSuperscript
"Superscript" amount
Definition Options.h:1537
bool textExpandSingleWord
"Expand Single Word"
Definition Options.h:1541
HorizontalAlignment
Horizontal alignment options for page text positioning.
Definition Options.h:1495
int tabSpaces
"Use [x] Spaces in Place of One Tab Character"
Definition Options.h:1534
Evpu textPageOffset
"Page Offset"
Definition Options.h:1539
VerticalAlignment
Vertical alignment options for page text positioning.
Definition Options.h:1506
TextJustify textJustify
"Justification"
Definition Options.h:1540
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1572
std::unordered_map< AccidentalInsertSymbolType, std::shared_ptr< InsertSymbolInfo > > symbolInserts
Insert symbol information map.
Definition Options.h:1570
DateFormat dateFormat
"Date Format"
Definition Options.h:1533
VerticalAlignment textVertAlign
"Vertical Alignment"
Definition Options.h:1543
static const xml::XmlElementArray< TextOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
TextJustify
Text justification options.
Definition Options.h:1514
bool textIsEdgeAligned
"Position from Page Edge"
Definition Options.h:1544
DateFormat
Date format options. This value is coded into the Enigma date insert when the page title is created.
Definition Options.h:1525
@ Short
Short date format, based on locale. US format is MM/DD/YY (Default value may not appear in the xml)
@ Long
Long date format, based on locale. US format is Month DD, YYYY.
@ Abbrev
Abbreviated date format, based on locale. US format is Mon DD, YYYY.
Options controlling the appearance of ties.
Definition Options.h:1582
Evpu breakTimeSigRightHOffset
Right horizontal offset for breaking time signature.
Definition Options.h:1678
SpecialPosMode specialPosMode
Special positioning mode.
Definition Options.h:1691
bool breakForKeySigs
Break ties for key signatures.
Definition Options.h:1676
bool chordTieDirOpposingSeconds
Chord tie opposing seconds.
Definition Options.h:1686
SecondsPlacement
Enumeration for seconds placement options.
Definition Options.h:1593
Evpu sysBreakRightHAdj
Right adjustment for system breaks.
Definition Options.h:1682
bool useOuterPlacement
Use outer placement for ties.
Definition Options.h:1683
bool afterSingleDot
Special handling after a single dot.
Definition Options.h:1688
bool afterMultipleDots
Special handling after multiple dots.
Definition Options.h:1689
SecondsPlacement secondsPlacement
Placement of seconds.
Definition Options.h:1684
ChordTieDirType chordTieDirType
Chord tie direction type.
Definition Options.h:1685
InsetStyle insetStyle
Inset style for ties.
Definition Options.h:1693
std::unordered_map< ConnectStyleType, std::shared_ptr< ConnectStyle > > tieConnectStyles
Tie connect styles.
Definition Options.h:1708
Evpu breakTimeSigLeftHOffset
Left horizontal offset for breaking time signature.
Definition Options.h:1677
TieOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1585
Evpu thicknessLeft
Left thickness of the tie.
Definition Options.h:1674
Evpu breakKeySigLeftHOffset
Left horizontal offset for breaking key signature.
Definition Options.h:1679
MixedStemDirection mixedStemDirection
Mixed stem direction.
Definition Options.h:1687
ChordTieDirType
Enumeration for chord tie direction type.
Definition Options.h:1603
@ StemReversal
Split at stem reversal point.
@ OutsideInside
Legacy Finale 3.7 behavior (the default)
Evpu breakKeySigRightHOffset
Right horizontal offset for breaking key signature.
Definition Options.h:1680
ConnectStyleType
Enumeration for tie connect style types.
Definition Options.h:1645
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1731
Evpu frontTieSepar
Separation for the front of ties.
Definition Options.h:1672
InsetStyle
Enumeration for inset styles.
Definition Options.h:1635
MixedStemDirection
Enumeration for mixed stem direction.
Definition Options.h:1614
bool avoidStaffLinesOnly
Only avoid staff lines.
Definition Options.h:1696
Evpu avoidStaffLinesDistance
Distance to avoid staff lines.
Definition Options.h:1692
static const xml::XmlElementArray< TieOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
ControlStyleType
Enumeration for tie control style types.
Definition Options.h:1665
Evpu thicknessRight
Right thickness of the tie.
Definition Options.h:1673
bool beforeAcciSingleNote
Special handling before accidental single notes.
Definition Options.h:1690
EvpuFloat tieTipWidth
Width of the tie tip.
Definition Options.h:1697
SpecialPosMode
Enumeration for special position mode.
Definition Options.h:1625
bool breakForTimeSigs
Break ties for time signatures.
Definition Options.h:1675
bool useTieEndCtlStyle
Use tie end control style.
Definition Options.h:1695
std::unordered_map< ControlStyleType, std::shared_ptr< ControlStyle > > tieControlStyles
Tie control styles.
Definition Options.h:1729
Evpu sysBreakLeftHAdj
Left adjustment for system breaks.
Definition Options.h:1681
bool useInterpolation
"Interpolate Height Between Short and Long Span"
Definition Options.h:1694
Options controlling the appearance and behavior of time signatures.
Definition Options.h:1742
Evpu timeUpperLiftParts
"Vertical Adjustment: Top Symbol, Parts"
Definition Options.h:1753
Evpu timeFrontParts
"Space Before Time Signature, Parts"
Definition Options.h:1751
Evpu timeUpperLift
"Vertical Adjustment: Top Symbol, Score"
Definition Options.h:1748
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1763
bool timeSigDoAbrvCommon
Abbreviate common time.
Definition Options.h:1756
Evpu timeAbrvLift
"Vertical Adjustment: Abbreviated Symbol, Score"
Definition Options.h:1761
Evpu timeBackParts
"Space After Time Signature, Parts"
Definition Options.h:1752
int numCompositeDecimalPlaces
"Decimal Places for Composite Meters" (xml node is <defFloat>)
Definition Options.h:1758
bool timeSigDoAbrvCut
Abbreviate cut time.
Definition Options.h:1757
Evpu timeFront
"Space Before Time Signature, Score"
Definition Options.h:1749
TimeSignatureOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1745
bool cautionaryTimeChanges
"Display Courtesy Time Signature at End of Staff System"
Definition Options.h:1759
Evpu timeLowerLift
"Vertical Adjustment: Bottom Symbol, Score"
Definition Options.h:1760
static const xml::XmlElementArray< TimeSignatureOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu timeAbrvLiftParts
"Vertical Adjustment: Abbreviated Symbol, Parts"
Definition Options.h:1755
Evpu timeLowerLiftParts
"Vertical Adjustment: Bottom Symbol, Parts"
Definition Options.h:1754
Evpu timeBack
"Space After Time Signature, Score"
Definition Options.h:1750
Options controlling the appearance of tuplets.
Definition Options.h:1773
BracketStyle
Bracket style options.
Definition Options.h:1825
@ Slur
Use a slur instead of a bracket.
PositioningStyle
Positioning style options.
Definition Options.h:1812
@ 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:1838
Efix tupLineWidth
Line width for tuplet brackets in Efix.
Definition Options.h:1855
BracketStyle brackStyle
Bracket style.
Definition Options.h:1847
bool fullDura
"Bracket Full Duration"
Definition Options.h:1832
TupletOptions(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All)
Constructor function.
Definition Options.h:1776
Evpu tupNUpstemOffset
Offset for upstem tuplet numbers.
Definition Options.h:1856
bool smartTuplet
"Engraver Tuplets"
Definition Options.h:1848
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Options.h:1859
Evpu leftHookExt
Extension of the left hook beyond the tuplet bracket.
Definition Options.h:1850
Evpu tupOffX
Horizontal offset.
Definition Options.h:1836
Evpu tupOffY
Vertical.
Definition Options.h:1837
bool matchHooks
"Match Length of Hooks"
Definition Options.h:1845
AutoBracketStyle
Auto-bracket style options.
Definition Options.h:1784
@ 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:1854
bool allowHorz
"Allow Horizontal Drag"
Definition Options.h:1842
NumberStyle numStyle
Number style.
Definition Options.h:1840
bool avoidStaff
"Avoid Staff"
Definition Options.h:1834
Evpu manualSlopeAdj
"Manual Slope Adjustment" in Evpu. (xml node is <slope>)
Definition Options.h:1853
Evpu leftHookLen
Length of the left hook in the tuplet bracket. (This value is sign-reversed in the Finale UI....
Definition Options.h:1849
Evpu tupNDownstemOffset
Offset for downstem tuplet numbers.
Definition Options.h:1857
bool alwaysFlat
"Always Flat" (xml node is <flat>)
Definition Options.h:1831
Evpu rightHookExt
Extension of the right hook beyond the tuplet bracket.
Definition Options.h:1852
AutoBracketStyle autoBracketStyle
Autobracket style.
Definition Options.h:1835
PositioningStyle posStyle
Positioning style.
Definition Options.h:1841
bool ignoreHorzNumOffset
"Ignore Horizontal Number Offset" (xml node is <ignoreGlOffs>)
Definition Options.h:1843
Evpu brackOffY
Vertical offset for brackets.
Definition Options.h:1839
bool metricCenter
"Center Number Using Duration"
Definition Options.h:1833
NumberStyle
Number style options.
Definition Options.h:1799
@ 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:1851
bool breakBracket
"Break Slur or Bracket"
Definition Options.h:1844
static const xml::XmlElementArray< TupletOptions > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool useBottomNote
"Use Bottom Note" (xml node is <noteBelow>)
Definition Options.h:1846
Contains horizontal and vertical offsets, alignment, and expansion settings for name positioning.
Definition CommonClasses.h:638
A class to represent fractions with integer m_numerator and m_denominator, automatically reduced to s...
Definition Fraction.h:38
static Fraction fromPercent(int percent)
Constructs a Fraction from a percent (where 100 is 100%)
Definition Fraction.h:89
A dependency-free, header-only collection of useful functions for music theory.
ClefType
Represents the possible types of clef, irrespective of octave transposition.
Definition music_theory.hpp:98
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:1465
constexpr double EVPU_PER_SPACE
Number of Evpu units per space (spatium)
Definition Fundamentals.h:85
int32_t Efix
EFIX value (64 per EVPU, 64*288=18432 per inch)
Definition Fundamentals.h:60
std::shared_ptr< const T > MusxInstance
Defines the type of a musx instance stored in a pool.
Definition MusxInstance.h:35
int32_t Evpu16ths
1/16 of an EVPU.
Definition Fundamentals.h:59
int32_t Evpu
EVPU value (288 per inch)
Definition Fundamentals.h:57
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:55
uint16_t ClefIndex
Index into options::ClefOptions::clefDefs.
Definition Fundamentals.h:68
double EvpuFloat
EVPU fractional value (288.0 per inch)
Definition Fundamentals.h:58
int32_t Edu
"Enigma Durational Units" value (1024 per quarter note)
Definition Fundamentals.h:61
std::weak_ptr< Document > DocumentWeakPtr
Shared weak Document pointer.
Definition BaseClasses.h:57
std::shared_ptr< Document > DocumentPtr
Shared Document pointer.
Definition BaseClasses.h:55
std::vector< XmlElementDescriptor< T > > XmlElementArray
an array type for XmlElementDescriptor instances.
Definition XmlInterface.h:127
object model for musx file (enigmaxml)
Definition BaseClasses.h:36
Syllable position style.
Definition Options.h:663
static const xml::XmlElementArray< SyllablePosStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
AlignJustify align
Horizontal alignment.
Definition Options.h:664
AlignJustify justify
Horizontal justification.
Definition Options.h:665
Word extension connection style.
Definition Options.h:673
Evpu yOffset
Vertical offset.
Definition Options.h:676
static const xml::XmlElementArray< WordExtConnectStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
WordExtConnectIndex connectIndex
Connection point.
Definition Options.h:674
Evpu xOffset
Horizontal offset.
Definition Options.h:675
Defined the connection offsets for each ConnectionIndex value.
Definition Options.h:1351
ConnectionIndex connectIndex
Index of connection point.
Definition Options.h:1352
static const xml::XmlElementArray< ConnectionStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu yOffset
Vertical offset.
Definition Options.h:1354
Evpu xOffset
Horizontal offset.
Definition Options.h:1353
defines the slur contours for short, medium, long, and extra long slurs
Definition Options.h:1360
Evpu height
Height of the span.
Definition Options.h:1363
Efix inset
Inset value.
Definition Options.h:1362
static const xml::XmlElementArray< ControlStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Efix span
Length of the span.
Definition Options.h:1361
Insert symbol information.
Definition Options.h:1548
void integrityCheck(const std::shared_ptr< Base > &ptrToThis) override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Options.h:1557
int trackingAfter
Tracking after in EMs (1/1000 font size units)
Definition Options.h:1552
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:1554
char32_t symChar
Symbol character.
Definition Options.h:1555
int baselineShiftPerc
Baseline shift percent.
Definition Options.h:1553
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:1551
Struct for tie connect style.
Definition Options.h:1700
static const xml::XmlElementArray< ConnectStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu offsetY
Vertical offset.
Definition Options.h:1702
Evpu offsetX
Horizontal offset.
Definition Options.h:1701
Struct for tie control style control points.
Definition Options.h:1711
Evpu insetFixed
Fixed inset.
Definition Options.h:1714
Efix insetRatio
Inset ratio.
Definition Options.h:1712
static const xml::XmlElementArray< ControlPoint > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu height
Height.
Definition Options.h:1713
Struct for tie control style.
Definition Options.h:1720
std::shared_ptr< ControlPoint > cp2
Control point 2.
Definition Options.h:1723
static const xml::XmlElementArray< ControlStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::shared_ptr< ControlPoint > cp1
Control point 1.
Definition Options.h:1722
Evpu span
Span length.
Definition Options.h:1721