25#include <unordered_map>
32#include "musx/util/EnigmaString.h"
33#include "musx/util/Logger.h"
34#include "musx/util/Fraction.h"
36#include "BaseClasses.h"
37#include "CommonClasses.h"
47class IndependentStaffDetails;
76 std::string_view xmlTag()
const override {
return XmlNodeName; }
81 constexpr static std::string_view
XmlNodeName =
"acciAmountFlats";
108 std::string_view xmlTag()
const override {
return XmlNodeName; }
113 constexpr static std::string_view
XmlNodeName =
"acciAmountSharps";
134 std::string_view xmlTag()
const override {
return XmlNodeName; }
165 std::string_view xmlTag()
const override {
return XmlNodeName; }
170 constexpr static std::string_view
XmlNodeName =
"acciOrderSharps";
319 :
OthersBase(document, partId, shareMode, cmper, inci)
352 MUSX_INTEGRITY_ERROR(
"Beat chart for measure " + std::to_string(
getCmper()) +
" has a control instance in inci " + std::to_string(*
getInci()));
355 control = std::make_shared<Control>();
356 MUSX_INTEGRITY_ERROR(
"Beat chart for measure " + std::to_string(
getCmper()) +
" is missing its control instance.");
398 std::shared_ptr<FontInfo>
font;
425 std::string_view xmlTag()
const override {
return XmlNodeName; }
430 constexpr static std::string_view
XmlNodeName =
"chordSuffixPlay";
448 :
OthersBase(document, partId, shareMode, cmper, inci)
477 :
OthersBase(document, partId, shareMode, cmper) {}
510 static constexpr uint32_t SYMBOL_CHARSET_MAC = 0xfff;
511 static constexpr uint32_t SYMBOL_CHARSET_WIN = 2;
516 :
OthersBase(document, partId, shareMode, cmper) {}
581 :
OthersBase(document, partId, shareMode, cmper, inci) {}
590 void iterateRawEntries(std::function<
bool(
const std::shared_ptr<Entry>& entry)> iterator)
const;
596 std::vector<std::shared_ptr<const Entry>>
getEntries()
const;
602 MUSX_INTEGRITY_ERROR(
"Frame " + std::to_string(
getCmper()) +
" has non-zero startTime and non-zero startEntry or endEntry.");
605 MUSX_INTEGRITY_ERROR(
"Frame " + std::to_string(
getCmper()) +
" has no start entry.");
608 MUSX_INTEGRITY_ERROR(
"Frame " + std::to_string(
getCmper()) +
" has no end entry.");
627 :
OthersBase(document, partId, shareMode, cmper, inci) {}
634 std::shared_ptr<Staff>
getStaff()
const;
639 static std::shared_ptr<Staff>
getStaffAtIndex(
const std::vector<std::shared_ptr<InstrumentUsed>>& iuArray,
Cmper index);
660 :
OthersBase(document, partId, shareMode, cmper) {}
679 :
OthersBase(document, partId, shareMode, cmper) {}
692 std::vector<std::shared_ptr<StepElement>>
steps;
697 return static_cast<unsigned>(std::count_if(
steps.begin(),
steps.end(), [](
const auto& step) {
698 return step->diatonic;
719 :
OthersBase(document, partId, shareMode, cmper) {}
829class ShapeExpressionDef;
830class TextExpressionDef;
855 :
OthersBase(document, partId, shareMode, cmper) {}
901 constexpr static std::string_view
XmlNodeName =
"markingsCategory";
917 :
OthersBase(document, partId, shareMode, cmper) {}
921 constexpr static std::string_view
XmlNodeName =
"markingsCategoryName";
935 :
OthersBase(document, measureId, shareMode, cmper) {}
1034 std::shared_ptr<KeySignature>
createKeySignature(
const std::optional<InstCmper>& forStaff = std::nullopt)
const;
1038 std::shared_ptr<TimeSignature>
createTimeSignature(
const std::optional<InstCmper>& forStaff = std::nullopt)
const;
1054 if (!globalKeySig) {
1078 :
OthersBase(document, ID, shareMode, cmper, inci) {}
1105 MUSX_INTEGRITY_ERROR(
"Expression assignment at measure " + std::to_string(
getCmper()) +
" inci " + std::to_string(
getInci().value_or(-1))
1106 +
" has no expression definition ID.");
1108 MUSX_INTEGRITY_ERROR(
"Expression assignment at measure " + std::to_string(
getCmper()) +
" inci " + std::to_string(
getInci().value_or(-1))
1109 +
" has both text expr ID " + std::to_string(
textExprId) +
" and shape expr ID " + std::to_string(
shapeExprId));
1129 :
OthersBase(document, partId, shareMode, cmper) {}
1252 :
OthersBase(document, partId, shareMode, startMeasure) {}
1280 MUSX_INTEGRITY_ERROR(
"Multimeasure rest at " + std::to_string(
getCmper()) +
" in part " + std::to_string(
getPartId()) +
" spans 0 or fewer measures.");
1298 :
OthersBase(document, partId, shareMode, cmper) {}
1316 :
OthersBase(document, partId, shareMode, cmper) {}
1330 for (
size_t x = 0; x <
staffNums.size(); x++) {
1333 return std::nullopt;
1344 MUSX_INTEGRITY_ERROR(
"MultiStaffInstrumentGroup " + std::to_string(
getCmper()) +
" contains no staves.");
1346 MUSX_INTEGRITY_ERROR(
"MultiStaffInstrumentGroup " + std::to_string(
getCmper()) +
" contains more than 3 staves.");
1350 constexpr static std::string_view
XmlNodeName =
"multiStaffInstGroup";
1420 :
OthersBase(document, pageId, shareMode, cmper) {}
1477 :
OthersBase(document, partId, shareMode, cmper, inci)
1517 :
OthersBase(document, partId, shareMode, cmper) {}
1568 :
OthersBase(document, partId, shareMode, cmper) {}
1599 :
OthersBase(document, partId, shareMode, cmper, inci) {}
1657 :
OthersBase(document, partId, shareMode, cmper) {}
1692 :
OthersBase(document, partId, shareMode, cmper)
1726 MUSX_INTEGRITY_ERROR(
"RepeatEndingStart at measure " + std::to_string(
getCmper()) +
" has an unexpected trigger value " +
1727 std::to_string(
int(
trigger)));
1749 :
OthersBase(document, partId, shareMode, cmper) {}
1767 std::string_view xmlTag()
const override {
return XmlNodeName; }
1784 std::string_view xmlTag()
const override {
return XmlNodeName; }
1805 :
OthersBase(document, partId, shareMode, cmper)
1888 :
OthersBase(document, partId, shareMode, cmper) {}
1928 :
OthersBase(document, partId, shareMode, cmper)
2044 :
OthersBase(document, partId, shareMode, cmper) {}
2173 template <
typename SubType>
2217 MUSX_INTEGRITY_ERROR(
"Staff or StaffStyle " + std::to_string(
getCmper()) +
" has neither a standard nor a custom staff definition.");
2219 MUSX_INTEGRITY_ERROR(
"Staff or StaffStyle " + std::to_string(
getCmper()) +
" has both a standard and a custom staff definition.");
2223 [](
const auto& a,
const auto& b) { return a < b; });
2227 MUSX_INTEGRITY_ERROR(
"Staff or StaffStyle " + std::to_string(
getCmper()) +
" has transposition with neither keysig nor chromatic transposition defined.");
2229 MUSX_INTEGRITY_ERROR(
"Staff or StaffStyle " + std::to_string(
getCmper()) +
" has transposition with both keysig and chromatic transposition defined.");
2234 MUSX_INTEGRITY_ERROR(
"Staff or StaffStyle " + std::to_string(
getCmper()) +
" specifies to use a custom notehead font, but no custom font was provided.");
2244 template <
typename NamePositionType>
2245 std::shared_ptr<const NamePositioning> getNamePosition()
const;
2265 :
Staff(document, partId, shareMode, cmper) {}
2345 +
" (" + std::to_string(
getCmper()) +
") does not override anything.");
2369 :
MusicRange(document, partId, shareMode, cmper, inci) {}
2382 MUSX_INTEGRITY_ERROR(std::string(
"Staff style assignment has no staff style id:")
2383 +
" Part " + std::to_string(
getPartId())
2384 +
" Staff " + std::to_string(
getCmper())
2405 :
StaffStyle(staff), m_requestedPartId(requestedPartId) {}
2409 void applyStyle(
const std::shared_ptr<StaffStyle>& staffStyle);
2411 const Cmper m_requestedPartId;
2442 :
OthersBase(document, staffSystemId, shareMode, cmper)
2501 :
OthersBase(document, partId, shareMode, cmper) {}
2530 :
OthersBase(document, partId, shareMode, cmper, inci)
2575 :
OthersBase(document, partId, shareMode, cmper) {}
2622 :
OthersBase(document, partId, shareMode, cmper) {}
2669 constexpr static std::string_view
XmlNodeName =
"textExpressionEnclosure";
2686 :
OthersBase(document, partId, shareMode, cmper, inci)
2765 constexpr static std::string_view
XmlNodeName =
"textRepeatEnclosure";
2782 :
OthersBase(document, partId, shareMode, cmper)
2805 :
OthersBase(document, partId, shareMode, cmper)
2821 std::vector<std::shared_ptr<CompositeItem>>
items;
2840 :
OthersBase(document, partId, shareMode, cmper)
2861 std::vector<std::shared_ptr<CompositeItem>>
items;
2881 std::string_view xmlTag()
const override {
return XmlNodeName; }
2903 std::string_view xmlTag()
const override {
return XmlNodeName; }
Base class to enforce polymorphism across all DOM classes.
Definition BaseClasses.h:60
DocumentPtr getDocument() const
Gets a reference to the Document.
Definition BaseClasses.h:85
virtual void integrityCheck()
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition BaseClasses.h:132
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:68
virtual Cmper getPartId() const
Gets the partId for this instance (or SCORE_PARTID for score)
Definition BaseClasses.h:104
Represents the default font settings for a particular element type.
Definition CommonClasses.h:110
Template pattern for OthersBase items consisting of an array of a single item.
Definition BaseClasses.h:262
OthersArray(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition BaseClasses.h:268
Base class for all "others" types.
Definition BaseClasses.h:223
std::optional< Inci > getInci() const
Gets the optional array index (inci).
Definition BaseClasses.h:250
Cmper getCmper() const
Gets the cmper key value.
Definition BaseClasses.h:243
Lists the aleration values of each nth flat in a custom key signature. Normally these values are all ...
Definition Others.h:75
static const xml::XmlElementArray< AcciAmountFlats > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:81
Lists the aleration values of each nth sharp in a custom key signature. Normally these values are all...
Definition Others.h:107
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:113
static const xml::XmlElementArray< AcciAmountSharps > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Lists the order of flats by pitch class index (0..6 = C..B) in a custom key signature....
Definition Others.h:133
static const xml::XmlElementArray< AcciOrderFlats > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:139
Lists the order of sharps by pitch class index (0..6 = C..B) in a custom key signature....
Definition Others.h:164
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:170
static const xml::XmlElementArray< AcciOrderSharps > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Stores the properties and behaviors of articulation definitions.
Definition Others.h:184
bool autoVert
Whether vertical auto-positioning is enabled.
Definition Others.h:232
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:269
Evpu xOffsetAlt
Horizontal offset for the alternate symbol.
Definition Others.h:247
Evpu yOffsetMain
Vertical offset for the main symbol.
Definition Others.h:243
char32_t charAlt
Alternate symbol character (utf32).
Definition Others.h:240
int startTopNoteDelta
Attack change for the top note.
Definition Others.h:253
int durBotNoteDelta
Duration change for the bottom note.
Definition Others.h:258
char32_t charMain
Main symbol character (utf32).
Definition Others.h:228
Cmper mainShape
Main shape ID (if applicable).
Definition Others.h:251
bool autoStack
Whether automatic stacking is enabled.
Definition Others.h:237
int ampTopNotePercent
Key velocity percentage for the top note.
Definition Others.h:263
bool requireAllFields() const override
Definition Others.h:267
int durTopNotePercent
Duration percent change for the top note.
Definition Others.h:259
bool aboveSymbolAlt
Whether the alternate symbol is used above. (Otherwise main symbol is used.)
Definition Others.h:234
int ampBotNotePercent
Key velocity percentage for the bottom note.
Definition Others.h:264
bool centerOnStem
Whether centering on the stem is enabled.
Definition Others.h:238
SlurInteractionMode
Defines the interaction mode with slurs.
Definition Others.h:214
@ Ignore
default value (may not appear in xml)
Evpu defVertPos
Default vertical position.
Definition Others.h:244
Evpu xOffsetMain
Horizontal offset for the main symbol.
Definition Others.h:242
Evpu yOffsetAlt
Vertical offset for the alternate symbol.
Definition Others.h:248
Cmper altShape
Alternate shape ID (if applicable).
Definition Others.h:252
bool altIsShape
Whether the alternate symbol is a shape.
Definition Others.h:250
std::shared_ptr< FontInfo > fontAlt
The font info for the alternate symbol. (xml nodes <fontAlt>, <sizeAlt>, and <efxAlt>)
Definition Others.h:241
int startTopNotePercent
Attack change percent for the top note.
Definition Others.h:255
bool playArtic
Whether playback articulation is enabled.
Definition Others.h:246
bool insideSlur
Whether the articulation is inside a slur. (Used in addition to SlurInteractionMode::InsideSlur)
Definition Others.h:236
AutoVerticalMode autoVertMode
Auto vertical positioning mode.
Definition Others.h:233
int durTopNoteDelta
Duration change for the top note.
Definition Others.h:257
std::shared_ptr< FontInfo > fontMain
The font info for the main symbol. (xml nodes <fontMain>, <sizeMain>, and <efxMain>)
Definition Others.h:229
bool belowSymbolAlt
Whether the alternate symbol is used below. (Otherwise main symbol is used.)
Definition Others.h:235
int ampBotNoteDelta
Key velocity change for the bottom note.
Definition Others.h:262
SlurInteractionMode slurInteractionMode
Slur interaction mode.
Definition Others.h:239
int startBotNotePercent
Attack change percent for the bottom note.
Definition Others.h:256
bool mainIsShape
Whether the main symbol is a shape.
Definition Others.h:249
int durBotNotePercent
Duration percent change for the bottom note.
Definition Others.h:260
CopyMode
Defines the character copy mode (vertical or horizontal)
Definition Others.h:204
@ Vertical
Copy symbol vertically (xml value is "both")
@ None
default value (may not appear in xml)
@ Horizontal
Copy symbol horizontally.
int ampTopNoteDelta
Key velocity change for the top note.
Definition Others.h:261
AutoVerticalMode
Defines the automatic vertical positioning mode. These values are only meaningful if autoVert is true...
Definition Others.h:191
@ StemSide
"Always Stem Side"
@ AutoNoteStem
"Auto Notehead/Stem Side"
@ AlwaysNoteheadSide
default value (may not appear in xml)
int startBotNoteDelta
Attack change for the bottom note.
Definition Others.h:254
bool outsideStaff
Whether the articulation is outside the staff.
Definition Others.h:265
bool autoHorz
Whether horizontal auto-positioning is enabled.
Definition Others.h:231
ArticulationDef(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor.
Definition Others.h:225
CopyMode copyMode
"Copy Main Symbol" option.
Definition Others.h:230
bool avoidStaffLines
Whether to avoid staff lines.
Definition Others.h:245
static const xml::XmlElementArray< ArticulationDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Control settings for a beat chart, only used when inci == 0.
Definition Others.h:329
Edu totalDur
Total logical duration of the measure (XML: <totalDur>)
Definition Others.h:331
Evpu minWidth
Minimum required width (XML: <minWidth>)
Definition Others.h:333
static const xml::XmlElementArray< Control > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu totalWidth
Total width allocated to the measure (XML: <totalWidth>)
Definition Others.h:332
Evpu allotWidth
Allotted width before justification (XML: <allotWidth>)
Definition Others.h:334
A single beat chart element from Finale's music spacing system.
Definition Others.h:315
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:360
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:348
Edu dur
Duration of this beat span.
Definition Others.h:343
static const xml::XmlElementArray< BeatChartElement > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::shared_ptr< Control > control
Control data for this beat chart element (only present for inci == 0)
Definition Others.h:340
BeatChartElement(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:318
Evpu minPos
Minimum position (see remarks in the class-level description of BeatChartElement)
Definition Others.h:346
Evpu endPos
End position of the beat span.
Definition Others.h:345
Evpu pos
Horizontal position within the measure.
Definition Others.h:344
Represents a single element in a chord suffix (e.g., a symbol like "1" or "+").
Definition Others.h:377
static const xml::XmlElementArray< ChordSuffixElement > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::shared_ptr< FontInfo > font
Font info for this symbol (xml nodes are <fontID>, <fontSize>, and <efx>)
Definition Others.h:398
Evpu xdisp
Horizontal displacement in EVPU.
Definition Others.h:400
Prefix prefix
Optional prefix for the symbol, e.g., "plus".
Definition Others.h:403
bool isNumber
Indicates the symbol value is numeric rather than a UTF-32 character.
Definition Others.h:402
char32_t symbol
Unicode symbol (xml node is <suffix>)
Definition Others.h:399
Evpu ydisp
Vertical displacement in EVPU.
Definition Others.h:401
ChordSuffixElement(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:393
Prefix
Enum for chord symbol prefix options.
Definition Others.h:384
@ Minus
minus symbol ("-")
@ Sharp
musical sharp symbol
@ None
No prefix (default: may not appear in XML)
@ Flat
musical flat symbol
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:405
Represents a list of repeat ending numbers for a RepeatEndingStart instance.
Definition Others.h:424
static const xml::XmlElementArray< ChordSuffixPlayback > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:430
Represents an element in multimeasure clef list with its positioning and percentage values.
Definition Others.h:444
bool afterBarline
"Place Clef After Barline"
Definition Others.h:460
ShowClefMode clefMode
The clef mode from the <clefMode> element.
Definition Others.h:458
static const xml::XmlElementArray< ClefList > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int xEvpuOffset
The xEvpuOffset value from the <xEvpuOffset> element.
Definition Others.h:457
Edu xEduPos
The xEduPos value from the <xEduPos> element.
Definition Others.h:454
ClefIndex clefIndex
The 0-based clef index from the <clef> element.
Definition Others.h:453
bool unlockVert
"Allow Vertical Drag"
Definition Others.h:459
ClefList(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:447
Evpu yEvpuPos
The yEvpuPos value from the <yEvpuPos> element.
Definition Others.h:455
int percent
The percentage value from the <percent> element.
Definition Others.h:456
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:462
Identifies the percussion map ("drum library") for a staff style with percussion notations.
Definition Others.h:493
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:497
Identifies the percussion map ("drum library") for a staff with percussion notations.
Definition Others.h:473
DrumStaff(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:476
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:482
static const xml::XmlElementArray< DrumStaff > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Cmper whichDrumLib
Definition Others.h:479
Represents the enclosure settings for text expressions.
Definition CommonClasses.h:451
Enclosure(const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All, Cmper cmper=0)
Constructs an Enclosure object.
Definition CommonClasses.h:477
The name and font characteristics of fonts contained.
Definition Others.h:509
int charsetVal
Definition Others.h:528
bool calcIsSymbolFont() const
Calculates if this font is a symbol font.
Definition Others.h:550
FontDefinition(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:515
CharacterSetBank charsetBank
The character set bank.
Definition Others.h:527
CharacterSetBank
The character set for the bank.
Definition Others.h:521
@ Windows
xml value is "Mac"
std::string name
The font name e.g., "Broadway Copyist Text".
Definition Others.h:535
int family
Represents the <family> element, e.g., 0. (use unknown)
Definition Others.h:534
static const xml::XmlElementArray< FontDefinition > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:561
int pitch
Represents the <pitch> element, e.g., 0. (use unknown)
Definition Others.h:533
Represents the attributes of a TGF entry frame.
Definition Others.h:577
Frame(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci=0)
Constructor function.
Definition Others.h:580
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:612
void iterateRawEntries(std::function< bool(const std::shared_ptr< Entry > &entry)> iterator) const
Iterates all the raw entries in a frame, passing them to the iterator function. If the iterator funct...
Definition Implementations.cpp:1127
Edu startTime
The starting position within the measure. (Appears to be zero when startEntry and endEntry are suppli...
Definition Others.h:586
std::vector< std::shared_ptr< const Entry > > getEntries() const
Returns a vector of entries contained in the frame.
Definition Implementations.cpp:1140
EntryNumber endEntry
End entry number for this frame. (Appears to be zero when startTime is supplied.)
Definition Others.h:585
EntryNumber startEntry
Start entry number for this frame. (Appears to be zero when startTime is supplied....
Definition Others.h:584
static const xml::XmlElementArray< Frame > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:598
An array of InstrumentUsed defines a set of staves in a staff system or in Scroll View.
Definition Others.h:623
static std::shared_ptr< Staff > getStaffAtIndex(const std::vector< std::shared_ptr< InstrumentUsed > > &iuArray, Cmper index)
Returns the Staff instance at a specified index of iuArray or nullptr if not found.
Definition Implementations.cpp:1442
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:646
static std::optional< size_t > getIndexForStaff(const std::vector< std::shared_ptr< InstrumentUsed > > &iuArray, InstCmper staffId)
Returns the 0-based index of the InstCmper or std::nullopt if not found.
Definition Implementations.cpp:1449
InstrumentUsed(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:626
std::shared_ptr< MusicRange > range
The music range. (Late versions of Finale may always include the entire piece here....
Definition Others.h:631
Evpu distFromTop
Distance from the top of the system (negative is down)
Definition Others.h:630
InstCmper staffId
Staff cmper (xml node is <inst>)
Definition Others.h:629
std::shared_ptr< Staff > getStaff() const
Returns the Staff instance for this element.
Definition Implementations.cpp:1433
static const xml::XmlElementArray< InstrumentUsed > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Represents a single <keych> element inside the <keyMap>.
Definition Others.h:684
bool diatonic
Whether the step is diatonic (true if <diatonic> is present).
Definition Others.h:686
unsigned hlevel
Harmonic level (scale degree) of this step. (xml node is <hlevel>)
Definition Others.h:687
static const xml::XmlElementArray< StepElement > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
An array of step elements from which one can create a key map.
Definition Others.h:675
std::vector< std::shared_ptr< StepElement > > steps
Collection of keych step elements.
Definition Others.h:692
unsigned countDiatonicSteps() const
Counts the number of diatonic steps in the steps array.
Definition Others.h:695
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:702
KeyMapArray(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:678
static const xml::XmlElementArray< KeyMapArray > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Represents the attributes of a Finale "layer".
Definition Others.h:715
bool freezeLayer
"Freeze Stems and Ties"
Definition Others.h:727
bool playback
If true, playback this layer. If false, the layer is muted.
Definition Others.h:728
int restOffset
"Adjust Floating Rests by " number of staff steps.
Definition Others.h:722
bool ignoreHiddenLayers
"Ignore Hidden Layers"
Definition Others.h:731
bool freezeStemsUp
If true, freeze stems up, otherwise freeze stems down. Only used if freezeLayer is true....
Definition Others.h:726
bool ignoreHiddenNotesOnly
"Ignore Layers Containing Only Hidden Notes" (xml node is <ignoreHidden>)
Definition Others.h:730
bool hideLayer
"Hide Layer when Inactive"
Definition Others.h:732
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:734
bool affectSpacing
"Affect Music Spacing" (xml node is <spacing>)
Definition Others.h:729
static const xml::XmlElementArray< LayerAttributes > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool useRestOffset
"Adjust Floating Rests by ". Determines if restOffset is used. (xml node is <useRestOff>)
Definition Others.h:725
bool onlyIfOtherLayersHaveNotes
"Apply Settings Only if Notes are in Other Layers" (xml node is <floatLayer>)
Definition Others.h:724
LayerAttributes(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:718
bool freezTiesToStems
"Freeze Ties in the Same Direction as Stems" (xml node is <flipTies>)
Definition Others.h:723
Represents the name associated with a MarkingCategory.
Definition Others.h:913
std::string name
The name of the marking category.
Definition Others.h:919
static const xml::XmlElementArray< MarkingCategoryName > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
MarkingCategoryName(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:916
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:921
Represents a category of markings used.
Definition Others.h:838
bool usesTextFont
whether this category uses the text font
Definition Others.h:874
Evpu horzOffset
Additional horizontal offset.
Definition Others.h:869
bool usesMusicFont
whether this category uses the music font
Definition Others.h:875
std::string getName() const
gets the name of the marking category
Definition Implementations.cpp:1726
bool usesBreakMmRests
whether this category uses the breakMmRest setting
Definition Others.h:879
bool usesNumberFont
whether this category uses the number font
Definition Others.h:876
Evpu vertOffsetBaseline
Additional vertical offset.
Definition Others.h:870
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:901
bool userCreated
whether the user created this category
Definition Others.h:881
CategoryType
Enumeration for the type of marking category.
Definition Others.h:842
@ RehearsalMarks
Rehearsal marks, often used for reference points in the score.
@ Dynamics
Dynamics markings, such as forte, piano, etc.
@ Invalid
There should always be a category type supplied.
@ TechniqueText
Technique text such as "pizzicato" or "arco.".
@ Misc
Represents miscellaneous markings that do not fit into other categories.
@ TempoMarks
Tempo indications such as Allegro (with or without metronome marking).
@ TempoAlterations
Tempo alteration markings, such as accel. and rit. (xml value is "tempoAlts")
@ ExpressiveText
Expressive text such as "espressivo.".
std::shared_ptr< FontInfo > musicFont
Music font.
Definition Others.h:861
static const xml::XmlElementArray< MarkingCategory > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu vertOffsetEntry
Additional vertical entry offset.
Definition Others.h:871
std::shared_ptr< FontInfo > textFont
Text font.
Definition Others.h:860
HorizontalTextJustification justification
Justification for the text within the marking.
Definition Others.h:866
std::map< Cmper, std::weak_ptr< ShapeExpressionDef > > shapeExpressions
A list of shape expressions in this category.
Definition Others.h:890
VerticalMeasExprAlign vertAlign
Vertical alignment for the marking.
Definition Others.h:865
Cmper staffList
The staff list if useStaffList is true.
Definition Others.h:884
bool breakMmRest
whether expressions in this category break multimeasure rests
Definition Others.h:880
bool usesPositioning
whether this category uses the positioning elements (Finale UI only allows true)
Definition Others.h:877
bool usesStaffList
whether this category uses a staff list
Definition Others.h:878
std::map< Cmper, std::weak_ptr< TextExpressionDef > > textExpressions
A list of text expressions in this category.
Definition Others.h:896
MarkingCategory(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:854
HorizontalMeasExprAlign horzAlign
Horizontal alignment for the marking.
Definition Others.h:864
CategoryType categoryType
Category type of the marking.
Definition Others.h:857
std::shared_ptr< FontInfo > numberFont
Number font.
Definition Others.h:862
Assigns a TextExpressionDef or ShapeExpressionDef to a measure.
Definition Others.h:1074
static const xml::XmlElementArray< MeasureExprAssign > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool hidden
True if the dynamic is hidden.
Definition Others.h:1091
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:1101
bool dontScaleWithEntry
Inverse of "Scale Expression with Attached Note".
Definition Others.h:1088
Cmper staffList
The cmper of the staff list to use if staffAssign is negative.
Definition Others.h:1090
InstCmper staffAssign
The staff to which this expression is assigned, or -1 if it uses staffList.
Definition Others.h:1086
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1115
Cmper shapeExprId
The Cmper of a shape expression (xml node is <shapeExprID>)
Definition Others.h:1082
MeasureExprAssign(const DocumentWeakPtr &document, Cmper ID, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:1077
Cmper textExprId
The Cmper of a text expression (xml node is <textExprID>)
Definition Others.h:1081
std::shared_ptr< ShapeExpressionDef > getShapeExpression() const
Gets the assigned shape expression.
Definition Implementations.cpp:1823
bool requireAllFields() const override
Definition Others.h:1113
int layer
The 1-based layer number to which this expression is assigned. (0 means all)
Definition Others.h:1087
Evpu horzEvpuOff
Horizontal Evpu offset from the default position.
Definition Others.h:1083
std::shared_ptr< TextExpressionDef > getTextExpression() const
Gets the assigned text expression.
Definition Implementations.cpp:1815
Cmper staffGroup
Not sure what this is used for, but it seems to be a details::StaffGroup cmper.
Definition Others.h:1089
Evpu vertEvpuOff
Vertical Evpu offset from the default position (xml node is <vertOff>)
Definition Others.h:1085
Edu eduPosition
Horizontal Edu position (xml node is <horzEduOff>)
Definition Others.h:1084
Measure number data that can differ in score or part.
Definition Others.h:1150
bool showOnStart
"Show On Start of Staff System" (xml node is <startOfLine>)
Definition Others.h:1174
Evpu multipleXdisp
Horizontal offset for mid-system numbers.
Definition Others.h:1163
bool showOnEvery
"Show on Every" activates mid-system numbers. (xml node is <multipleOf>)
Definition Others.h:1175
bool useMultipleEncl
Use enclosure for mid-system settings.
Definition Others.h:1180
bool showOnBottom
Show measure numbers on the bottom staff.
Definition Others.h:1182
bool useStartEncl
Use enclosure for start-of-system settings.
Definition Others.h:1179
std::shared_ptr< Enclosure > startEnclosure
Enclosure settings for numbers at start of system.
Definition Others.h:1158
std::shared_ptr< FontInfo > startFont
The font used for numbers at start of system.
Definition Others.h:1155
AlignJustify multipleJustify
Justification for mid-system numbers.
Definition Others.h:1186
static const xml::XmlElementArray< ScorePartData > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::shared_ptr< FontInfo > mmRestFont
The font used for multi-measure rest ranges.
Definition Others.h:1157
AlignJustify startAlign
Alignment of numbers at the start of system.
Definition Others.h:1171
bool showOnTop
Show measure numbers on the top staff.
Definition Others.h:1181
int incidence
"Show on Every" value.
Definition Others.h:1170
ScorePartData(const DocumentWeakPtr &document)
Constructor.
Definition Others.h:1153
Evpu startYdisp
Vertical offset for numbers at start of system.
Definition Others.h:1162
bool showMmRange
"Show Measure Ranges on Multimeasure Rests" (xml node is <mmRestRange>)
Definition Others.h:1177
bool excludeOthers
Exclude other staves.
Definition Others.h:1183
int startWith
"Beginning with" value. (This value is 0-based. The Finale UI adds 1 for user display....
Definition Others.h:1169
AlignJustify mmRestJustify
Justification for multi-measure rest ranges.
Definition Others.h:1187
AlignJustify startJustify
Justification for numbers at the start of system.
Definition Others.h:1185
char32_t rightMmBracketChar
UTF-32 code for the right bracket of multi-measure rest ranges.
Definition Others.h:1168
bool hideFirstMeasure
"Hide First Measure Number in Region." (xml node is <exceptFirstMeas>)
Definition Others.h:1176
std::shared_ptr< FontInfo > multipleFont
The font used for mid-system numbers.
Definition Others.h:1156
AlignJustify mmRestAlign
Alignment for multi-measure ranges.
Definition Others.h:1173
Evpu multipleYdisp
Vertical offset for mid-system numbers.
Definition Others.h:1164
bool showOnMmRest
"Show on Multimeasure Rests" (xml node is <mmRestRangeForce>)
Definition Others.h:1178
AlignJustify multipleAlign
Alignment for mid-system numbers.
Definition Others.h:1172
Evpu mmRestXdisp
Horizontal offset for multi-measure rest ranges.
Definition Others.h:1165
char32_t leftMmBracketChar
UTF-32 code for the left bracket of multi-measure rest ranges.
Definition Others.h:1167
std::shared_ptr< Enclosure > multipleEnclosure
Enclosure settings for mid-system numbers.
Definition Others.h:1159
Evpu startXdisp
Horizontal offset for numbers at start of system.
Definition Others.h:1161
Evpu mmRestYdisp
Vertical offset for multi-measure rest ranges.
Definition Others.h:1166
bool breakMmRest
Mid-system numbers break multimeasure rests.
Definition Others.h:1184
Represents the Measure Number Region with detailed font and enclosure settings for score and part dat...
Definition Others.h:1125
int calcDisplayNumberFor(MeasCmper measureId) const
Returns the visible number for a measure id with respect to the region.
Definition Implementations.cpp:1846
bool smpteFrames
SMPTE frames (when showing real time measure numbers). This option supercedes timePrecision.
Definition Others.h:1209
std::shared_ptr< ScorePartData > scoreData
Score-wide measure number data.
Definition Others.h:1193
bool hidePage
Indicates if numbers are hidden in Page View.
Definition Others.h:1214
static const xml::XmlElementArray< MeasureNumberRegion > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool hideScroll
Indicates if numbers are hidden in Scroll View and Studio View.
Definition Others.h:1213
AlignJustify
Alignment and justification options for measure numbers.
Definition Others.h:1133
@ Center
Center alignment.
@ Left
Left alignment or justification (the default value.)
std::string prefix
Text prefix for measure numbers (encoded UTF-8).
Definition Others.h:1201
MeasureNumberRegion(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1128
int base
The base used for measure number calculations. (Frequently 10 for numeric or 26 for alpha)
Definition Others.h:1199
bool doubleUp
Indicates "a, b, c...aa, bb, cc" number style: the symbols are repeated when they exceed the base.
Definition Others.h:1206
int region
The region ID. This 1-based value is set by Finale and never changes, whereas the Cmper may change wh...
Definition Others.h:1211
TimePrecision timePrecision
Precision for real-time sequences.
Definition Others.h:1212
bool calcIncludesMeasure(MeasCmper measureId) const
Calculates whether the input measure is covered by this measure number region.
Definition Others.h:1218
TimePrecision
Precision for time display.
Definition Others.h:1141
@ WholeSeconds
the default value
bool noZero
Indicates the base has no zero value: true for alpha sequences and false for numeric sequences.
Definition Others.h:1205
char32_t startChar
UTF-32 code for the first character in the sequence. (Frequently '0', 'a', or 'A')
Definition Others.h:1198
MeasCmper startMeas
Starting measure number for the region.
Definition Others.h:1196
bool time
Display real time sequences rather than numbers or letters.
Definition Others.h:1207
std::string suffix
Text suffix for measure numbers (encoded UTF-8).
Definition Others.h:1202
static std::shared_ptr< MeasureNumberRegion > findMeasure(const DocumentPtr &document, MeasCmper measureId)
Finds the measure number region containing a measure.
Definition Implementations.cpp:1835
MeasCmper endMeas
Ending measure number for the region (non-inclusive).
Definition Others.h:1197
int numberOffset
This value is 1 less than the "Starting Number" field in the Finale UI. (xml node is <offset>)
Definition Others.h:1200
int getStartNumber() const
Returns the starting measure number for this region.
Definition Others.h:1224
bool countFromOne
Start counting from 1 rather than 0, e.g., "1, 2, 3, 4" numbering style (in conjuction with base 10)
Definition Others.h:1204
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1236
std::shared_ptr< ScorePartData > partData
Part-specific measure number data.
Definition Others.h:1194
bool includeHours
Display hours (when showing real time measure numbers)
Definition Others.h:1208
bool useScoreInfoForPart
Use score-wide settings for parts.
Definition Others.h:1210
Represents the attributes of a measure.
Definition Others.h:931
std::shared_ptr< KeySignature > createKeySignature(const std::optional< InstCmper > &forStaff=std::nullopt) const
Creates and returns a shared pointer to an instance of the KeySignature for this measure and staff.
Definition Implementations.cpp:1750
bool hasTextBlock
Indicates if the measure has a measure-assigned text block. See details::MeasureTextAssign.
Definition Others.h:1006
std::shared_ptr< KeySignature > globalKeySig
the key global signature on this measure. Guaranteed to be non-null. (xml node is <keySig>)
Definition Others.h:982
Evpu width
"Ideal" measure width in Evpu. Page layout determines actual width.
Definition Others.h:981
PositioningType
Positioning (music spacing) type for the measure.
Definition Others.h:940
@ BeatChart
Legacy option "Use a Beat Positioning Chart" (xml node is <beatchart>)
@ TimeSignature
Legacy option "Use the Time Signature" (xml node is <timesig>)
@ TimeSigPlusPositioning
"According to the Time Signature" (xml node is <timesigPlusPos>)
@ Manual
"Manually (By Dragging)" the default.
@ BeatChartPlusPositioning
"Using Beat-Chart Spacing" (xml node is <beatchartPlusPos>)
Cmper beats
Number of beats in the measure or the Cmper to a timesigUpper composite numerator list.
Definition Others.h:983
bool useDisplayTimesig
Indicates whether to use the display time signature.
Definition Others.h:1016
bool requireAllFields() const override
Definition Others.h:1059
Evpu backSpaceExtra
Extra space at end of bar.
Definition Others.h:988
bool breakMmRest
"Break a Multimeasure Rests" (xml node is <breakRest>)
Definition Others.h:1001
bool abbrvTime
Definition Others.h:1014
bool hasSmartShape
Indicates if the measure has a smart shape.
Definition Others.h:991
bool groupBarlineOverride
Override the barline specified by a details::StaffGroup (if any)
Definition Others.h:994
std::shared_ptr< TimeSignature > createTimeSignature(const std::optional< InstCmper > &forStaff=std::nullopt) const
Create a shared pointer to an instance of the TimeSignature for this measure and staff.
Definition Implementations.cpp:1770
bool hasEnding
Indicates the presence of a repeat ending. (xml node is <barEnding>)
Definition Others.h:1009
bool compositeNumerator
Indicates a composite numerator for the time signature. (xml node is <altNumTsig>)
Definition Others.h:1012
Cmper divBeat
Divisions per beat (Edu) or the Cmper to a timesigLower composite denominator list.
Definition Others.h:984
bool showFullNames
"Show Full Staff & Group Names"
Definition Others.h:992
bool compositeDispNumerator
Indicates a composite numerator for the display time signature. (xml node is <displayAltNumTsig>)
Definition Others.h:1018
bool evenlyAcrossMeasure
"Position Evenly Across Measure" (xml node is <indivPosDef>)
Definition Others.h:1004
BarlineType barlineType
Barline type. (xml node is <barline>)
Definition Others.h:1003
Cmper customBarShape
Cmper of Shape Designer ShapeDef for custom right barline.
Definition Others.h:995
ShowKeySigMode
How and whether to show a Key Signature in this measure.
Definition Others.h:966
@ IfNeeded
Show if needed (the default)
@ Always
Always show (xml value is "deltaKey")
@ Never
Never show (xml value is "ignoreKey")
BarlineType
Barline type for left and right barlines.
Definition Others.h:951
@ Tick
Right barlines only: tick barline (xml value is "partial")
@ None
No barline. (This is the default value for the enum.)
@ Custom
Custom barline (created with Shape Designer)
@ OptionsDefault
Left barlines only: use value from options::BarlineOptions (xml values is "default")
@ Solid
Solid (thick) barline.
@ Dashed
Dashed barline (xml value is "dash")
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:1051
Cmper dispDivbeat
Displayed divisions per beat (Edu) or the Cmper to a timesigLower composite denominator list.
Definition Others.h:986
int calcDisplayNumber() const
Calculates the visible number of the measure, based on the first MeasureNumberRegion that contains it...
Definition Implementations.cpp:1739
Evpu frontSpaceExtra
Extra space at front of bar.
Definition Others.h:987
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1061
bool compositeDenominator
Indicates a composite denominator for the time signature. (xml node is <altDenTsig>)
Definition Others.h:1013
std::shared_ptr< TimeSignature > createDisplayTimeSignature(const std::optional< InstCmper > &forStaff=std::nullopt) const
Create a shared pointer to an instance of the display TimeSignature for this measure and staff.
Definition Implementations.cpp:1786
ShowKeySigMode showKey
Show mode for key signatures.
Definition Others.h:997
Cmper customLeftBarShape
Cmper of Shape Designer ShapeDef for custom left barline.
Definition Others.h:996
ShowTimeSigMode
How and whether to show a Time Signature in this measure.
Definition Others.h:975
bool calcShouldShowFullNames() const
Calculates if a measure should show full names vs. abbreviated names.
Definition Others.h:1022
bool hasExpression
Indicates if the measure has an expression assigned. See MeasureExprAssign. (xml node is <hasExpr>)
Definition Others.h:1005
Cmper dispBeats
Displayed beats in the measure or the Cmper to a timesigUpper composite numerator list.
Definition Others.h:985
PositioningType positioningMode
Positioning type for the measure. (xml node is <posMode>)
Definition Others.h:999
bool forwardRepeatBar
Indicates a forward repeat bar on this measure. (xml node is <forRepBar>)
Definition Others.h:1007
bool hasTextRepeat
Indicates the presence of one or more text repeat assigments. (xml node is <txtRepeats>)
Definition Others.h:1010
bool compositeDispDenominator
Indicates a composite denominator for the display time signature. (xml node is <displayAltDenTsig>)
Definition Others.h:1019
static const xml::XmlElementArray< Measure > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
util::Fraction calcDuration(const std::optional< InstCmper > &forStaff=std::nullopt) const
Calculates the duration of the measure according to the time signature.
Definition Implementations.cpp:1805
bool noMeasNum
Inverse of "Include in Measure Numbering".
Definition Others.h:1002
BarlineType leftBarlineType
Left barline type. (xml node is <leftBarline>)
Definition Others.h:1017
ShowTimeSigMode showTime
Show mode for time signatures.
Definition Others.h:998
bool allowSplitPoints
"Allow Horizontal Split Points" (xml node is <posSplit>)
Definition Others.h:993
Measure(const DocumentWeakPtr &document, Cmper measureId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:934
bool hasChord
Indicates the presence of one or more chords.
Definition Others.h:1011
bool hideCaution
"Hide Cautionary Clefs, Key, and Time Signature"
Definition Others.h:990
bool breakWordExt
Barline ends word extensions on lyrics.
Definition Others.h:989
bool backwardsRepeatBar
Indicates a forward repeat bar on this measure. (xml node is <bacRepBar>)
Definition Others.h:1008
bool beginNewSystem
"Begin a New Staff System" (xml node is <lineBreak>)
Definition Others.h:1000
Represents a group ID for a multi-staff setup.
Definition Others.h:1294
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1302
MultiStaffGroupId(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1297
static const xml::XmlElementArray< MultiStaffGroupId > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Cmper staffGroupId
Cmper of details::StaffGroup that has the instrument's full and abbreviated names.
Definition Others.h:1300
Represents a group of instruments spanning multiple staves.
Definition Others.h:1312
std::shared_ptr< details::StaffGroup > getStaffGroup(Cmper forPartId) const
Gets the group associated with this multistaff instrument, or nullptr if not found.
Definition Implementations.cpp:1889
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1350
std::shared_ptr< Staff > getFirstStaff() const
Returns the first staff (with integrity check)
Definition Implementations.cpp:1880
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:1340
std::vector< InstCmper > staffNums
Vector of Cmper values representing up to 3 staff numbers.
Definition Others.h:1318
std::shared_ptr< Staff > getStaffAtIndex(size_t x) const
Returns the staff at the index position or null if out of range or not found.
Definition Implementations.cpp:1869
static const xml::XmlElementArray< MultiStaffInstrumentGroup > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
MultiStaffInstrumentGroup(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1315
std::optional< size_t > getIndexOf(InstCmper staffId) const
Returns the index of the input staffId or std::nullopt if not found.
Definition Others.h:1328
Represents the attributes of a multimeasure rest in the page layout.
Definition Others.h:1248
int symbolThreshold
If the number of rests is less than this value, symbols are used when useSymbols is true....
Definition Others.h:1260
static const xml::XmlElementArray< MultimeasureRest > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu numVertAdj
Vertical number adjustment, sign-revered from Finale UI. (xml node is <numdec>)
Definition Others.h:1256
Cmper shapeDef
Cmper of Shape Designer ShapeDef that specifies the H-bar.
Definition Others.h:1257
bool useSymbols
Use symbols instead of an H-bar, based on symbolThreshold. (xml node is <useCharRestStyle>)
Definition Others.h:1265
int calcNumberOfMeasures() const
Calculates the number of measures spanned by this multimeasure rest.
Definition Others.h:1271
MeasCmper nextMeas
Next measure after the multimeasure west.
Definition Others.h:1255
MultimeasureRest(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper startMeasure)
Constructor function.
Definition Others.h:1251
MeasCmper getStartMeasure() const
Get the start measure of this multimeasure rest.
Definition Others.h:1268
Evpu measWidth
Width of the multemeasure rest "measure" in Evpu. (xml node is <meaSpace>)
Definition Others.h:1254
Evpu shapeStartAdjust
Start adjustment for the H-bar shape in Evpu. (xml node is <startAdjust>)
Definition Others.h:1263
Evpu shapeEndAdjust
End adjustment for the shape in Evpu. (xml node is <endAdjust>)
Definition Others.h:1264
Evpu symbolSpacing
Spacing between symbols in Evpu. (xml node is <spacing>)
Definition Others.h:1261
int numStart
Definition Others.h:1258
Evpu numHorzAdj
Horizontal number adjustment in Evpu. (xml node is <numAdjX>)
Definition Others.h:1262
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:1276
bool calcIsNumberVisible() const
Calculates if the number on this multimeasure rest is visible.
Definition Others.h:1274
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1284
Represents a range of music using measure and EDUs.
Definition CommonClasses.h:504
Overrides abbreviated name positioning for Staff.
Definition Others.h:1361
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1365
Overrides full name positioning for Staff.
Definition Others.h:1389
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1393
Overrides abbreviated name positioning for StaffStyle.
Definition Others.h:1375
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1379
Overrides full name positioning for StaffStyle.
Definition Others.h:1403
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1407
Contains horizontal and vertical offsets, alignment, and expansion settings for name positioning.
Definition CommonClasses.h:553
NamePositioning(const DocumentWeakPtr &document, Cmper partId=SCORE_PARTID, ShareMode shareMode=ShareMode::All, Cmper cmper=0)
Constructs an NamePositioning object.
Definition CommonClasses.h:563
Represents a page text assignment with positioning and page range properties.
Definition Others.h:1459
Evpu yDisp
The vertical displacement from the default position. (xml tag is <ydisp>)
Definition Others.h:1483
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1499
PageTextAssign(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:1476
bool indRpPos
Individual right page positioning indicator. (xml tag is <indRpPos>)
Definition Others.h:1495
bool hPosPageEdge
Definition Others.h:1491
HorizontalAlignment
Horizontal alignment options for page text positioning.
Definition Others.h:1462
bool hidden
Indicates if the page text appears only on screen. (xml tag is <postIt>)
Definition Others.h:1489
static const xml::XmlElementArray< PageTextAssign > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Evpu rightPgXDisp
Horizontal displacement for right pages (if indRpPos is true). (xml tag is <rightPgXdisp>)
Definition Others.h:1496
Cmper startPage
If cmper is zero, the first page on which the text appears. (xml tag is <startPage>)
Definition Others.h:1484
Evpu rightPgYDisp
Vertical displacement for right pages (if indRpPos is true). (xml tag is <rightPgYdisp>)
Definition Others.h:1497
HorizontalAlignment hPosLp
Horizontal alignment on left or all pages (depending on indRpPos). (xml tag is <hposLp>)
Definition Others.h:1487
Evpu xDisp
The horizontal displacement from the default position. (xml tag is <xdisp>)
Definition Others.h:1482
VerticalAlignment vPos
Vertical alignment. (xml tag is <vpos>)
Definition Others.h:1490
VerticalAlignment
Vertical alignment options for page text positioning.
Definition Others.h:1469
Cmper endPage
Definition Others.h:1485
HorizontalAlignment hPosRp
Horizontal alignment on right pages (if indRpPos is true). (xml tag is <hposRp>)
Definition Others.h:1488
bool vPosPageEdge
Definition Others.h:1493
Cmper block
The Cmper for the assigned TextBlock. (xml tag is <block>)
Definition Others.h:1481
Represents the attributes of a page in the page layout.
Definition Others.h:1416
Evpu margTop
Top margin in Evpu. (Sign reversed in Finale UI.)
Definition Others.h:1427
bool isBlank() const
is this a blank page
Definition Others.h:1435
Evpu width
Page width in Evpu.
Definition Others.h:1423
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1437
static const xml::XmlElementArray< Page > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int percent
Percent value (scaling factor).
Definition Others.h:1424
Evpu height
Page height in Evpu.
Definition Others.h:1422
Evpu margLeft
Left margin in Evpu.
Definition Others.h:1428
Evpu margBottom
Bottom margin in Evpu.
Definition Others.h:1429
std::optional< SystemCmper > lastSystem
Computed by the Resolver function. This value is not in the xml.
Definition Others.h:1432
Evpu margRight
Right margin in Evpu. (Sign reversed in Finale UI.)
Definition Others.h:1430
SystemCmper firstSystem
First system on the page (-1 if page is blank). See StaffSystem.
Definition Others.h:1425
Page(const DocumentWeakPtr &document, Cmper pageId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1419
bool holdMargins
"Hold Margins" (xml node is <scaleContentOnly>)
Definition Others.h:1426
Represents the attributes of a Finale "partDef".
Definition Others.h:1513
Cmper nameId
Cmper of the part name TextBlock. (xml tag is <nameID>)
Definition Others.h:1520
Cmper calcSystemIuList(Cmper systemId) const
Return the InstrumentUsed cmper by this part for the specified system.
Definition Implementations.cpp:2261
static std::vector< std::shared_ptr< PartDefinition > > getInUserOrder(const DocumentPtr &document)
Return the linked parts sorted in UI order by partOrder.
Definition Implementations.cpp:2280
int smartMusicInst
SmartMusic instrument ID (-1 if not used).
Definition Others.h:1526
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1552
int copies
Number of copies to print.
Definition Others.h:1522
static const xml::XmlElementArray< PartDefinition > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Cmper defaultNameStaff
If non-zero, this points to the Staff that has the default name (if unspecified by nameId....
Definition Others.h:1527
int partOrder
Value that determines the order of listed parts in Finale's UI.
Definition Others.h:1521
bool extractPart
Indicates if the part should be extracted.
Definition Others.h:1523
static std::shared_ptr< PartDefinition > getScore(const DocumentPtr &document)
Return the instance for the score.
Definition Implementations.cpp:2271
PartDefinition(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1516
Cmper defaultNameGroup
If non-zero, this points to the details::StaffGroup that has the default name (if unspecified by name...
Definition Others.h:1528
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:1550
std::string getName(util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii) const
Get the part name if any.
Definition Implementations.cpp:2239
bool useAsSmpInst
Indicates if the part is used as a SmartMusic instrument.
Definition Others.h:1525
bool isScore() const
Return true if this part corresponds to the score.
Definition Others.h:1534
bool needsRecalc
Indicates if the part needs update layout.
Definition Others.h:1524
Represents global values that can vary by part.
Definition Others.h:1564
Cmper scrollViewIUlist
If this value is non-zero, it is the iuList Cmper of the current Staff List in Scroll View.
Definition Others.h:1572
bool showTransposed
If true, "Display Concert Pitch" is unchecked for the part.
Definition Others.h:1571
Cmper specialPartExtractionIUList
If non-zero, Special Part Extraction is in effect and this is the Cmper for its InstrumentUsed array.
Definition Others.h:1580
static const xml::XmlElementArray< PartGlobals > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
PartGlobals(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1567
Cmper studioViewIUlist
The iuList Cmper for Studio View.
Definition Others.h:1573
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1582
Represents percussion notehead and staff position info for a given percussion note type.
Definition Others.h:1595
char32_t wholeNotehead
Codepoint for whole notehead (from default music font.)
Definition Others.h:1609
char32_t closedNotehead
Codepoint for closed notehead (from default music font.)
Definition Others.h:1607
PercussionNoteInfo(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:1598
int staffPosition
Definition Others.h:1602
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1615
static const xml::XmlElementArray< PercussionNoteInfo > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
char32_t dwholeNotehead
Codepoint for double whole notehead (from default music font.)
Definition Others.h:1610
char32_t halfNotehead
Codepoint for half notehead (from default music font.)
Definition Others.h:1608
PercussionNoteType percNoteType
The percussion note type ID. Compare this with the value in details::PercussionNoteCode.
Definition Others.h:1601
int calcStaffReferencePosition() const
Calculates the fixed staff position for this percussion note relative to a staff's reference line.
Definition Others.h:1613
Represents a repeat-backward marker with positioning and behavior properties.
Definition Others.h:1653
bool resetOnAction
"Reset on Repeat Action" (xml tag is <clrOnChange>)
Definition Others.h:1668
Evpu rightVPos
The vertical position of the upper right bracket, relative to the default. (xml tag is <line2>)
Definition Others.h:1673
RepeatTriggerType trigger
The condition that triggers the jumpAction.
Definition Others.h:1670
static const xml::XmlElementArray< RepeatBack > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int passNumber
Definition Others.h:1660
Evpu leftVPos
The vertical position of the lower left bracket, relative to the default. (xml tag is <line1>)
Definition Others.h:1665
Evpu leftHPos
The horizontal position of the left bracket, relative to the default. (xml tag is <pos1>)
Definition Others.h:1664
Evpu rightHPos
The horizontal position of the upper right bracket, relative to the default. (xml tag is <pos2>)
Definition Others.h:1672
RepeatActionType jumpAction
The jump action for this repeat ending. The automatic jump is to the next ending. (xml tag is <action...
Definition Others.h:1669
Cmper staffList
If non-zero, specifies a staff list for which staves to show the ending.
Definition Others.h:1671
bool topStaffOnly
"Show On: Top Staff Only"
Definition Others.h:1667
int targetValue
Absolute or relative measure number, depending on jumpAction. (xml tag is <target>)
Definition Others.h:1663
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1675
RepeatBack(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1656
bool individualPlacement
"Allow Individual Edits Per Staff" (xml tag is <indivPlac>)
Definition Others.h:1666
Represents a repeat ending start marker in the document.
Definition Others.h:1688
Evpu leftVPos
The vertical position of the lower left bracket, relative to the default. (xml tag is <line1>)
Definition Others.h:1700
Evpu rightVPos
The vertical position of the upper right bracket, relative to the default. (xml tag is <line2>)
Definition Others.h:1711
RepeatTriggerType trigger
Definition Others.h:1704
Evpu leftHPos
The horizontal position of the lower left bracket, relative to the default. (xml tag is <pos1>)
Definition Others.h:1699
Evpu textVPos
The vertical position of the text relative to leftVPos. (xml tag is <textLine>)
Definition Others.h:1709
Evpu endLineVPos
The vertical offset of the final bracket, relative to rightVPos or 0 if the ending is open....
Definition Others.h:1708
void integrityCheck()
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:1722
Evpu rightHPos
The horizontal position of the upper right bracket, relative to the default. (xml tag is <pos2>)
Definition Others.h:1710
static const xml::XmlElementArray< RepeatEndingStart > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool calcIsOpen() const
Calculates if the ending is open or closed, based on a number of factors.
Definition Implementations.cpp:2329
Evpu textHPos
The horizontal position of the text relative to leftHPos. (xml tag is <textPos>)
Definition Others.h:1698
int targetValue
Absolute or relative measure number, depending on jumpAction. (xml tag is <nextEnd>)
Definition Others.h:1697
bool jumpIfIgnoring
"Skip Ending if Ignoring Repeats" (xml tag is <jmpIgnore>)
Definition Others.h:1707
bool topStaffOnly
"Show On: Top Staff Only"
Definition Others.h:1702
Cmper staffList
If non-zero, specifies a staff list for which staves to show the ending.
Definition Others.h:1696
RepeatActionType jumpAction
The jump action for this repeat ending. The automatic jump is to the next ending. (xml tag is <action...
Definition Others.h:1703
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1731
int calcEndingLength() const
Calculates the number of measures in the ending based on jumpAction.
Definition Implementations.cpp:2293
bool individualPlacement
"Allow Individual Edits Per Staff" (xml tag is <indivPlac>)
Definition Others.h:1701
RepeatEndingStart(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1691
Represents the text associated with a RepeatEndingStart.
Definition Others.h:1745
static const xml::XmlElementArray< RepeatEndingText > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::string text
The text.
Definition Others.h:1751
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1753
RepeatEndingText(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1748
Represents a list of repeat ending numbers for a RepeatEndingStart instance.
Definition Others.h:1766
static const xml::XmlElementArray< RepeatPassList > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1772
Represents the data for instruction associated with a ShapeDef.
Definition Others.h:1783
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1789
static const xml::XmlElementArray< ShapeData > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Represents a shape created in Finale's Shape Designer.
Definition Others.h:1801
Cmper dataList
Instruction data list Cmper.
Definition Others.h:1861
ShapeType
Represents different types of shapes in Finale's Shape Designer.
Definition Others.h:1847
@ Executable
Corresponds to "executable" in XML.
@ Clef
Corresponds to "clef" in XML.
@ Other
May Correspond to "other" in XML (but may not appear in XML). All pre-Fin2k shapes use this value.
@ CustomStem
Corresponds to "note" in XML.
@ Expression
Corresponds to "expression" in XML.
@ Articulation
Corresponds to "articulation" in XML.
@ Barline
Corresponds to "barline" in XML.
@ Arrowhead
Corresponds to "arrowhead" in XML.
@ Fretboard
Corresponds to "fretboard" in XML.
ShapeDef(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1804
void iterateInstructions(std::function< bool(InstructionType, std::vector< int >)> callback) const
Iterates through the instructions in the shape.
Definition Implementations.cpp:2358
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1870
ShapeType shapeType
Shape type (specifies which type of entity this shape pertains to)
Definition Others.h:1862
Cmper instructionList
Instruction list Cmper. (xml node is <instList>)
Definition Others.h:1860
static const xml::XmlElementArray< ShapeDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
InstructionType
Defines the instruction types for Shape Designer shapes.
Definition Others.h:1811
@ Undocumented
catch-all for instruction tags not yet documented
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:1868
Stores the properties and behaviors of shape expressions.
Definition Others.h:1880
int auxData1
Auxiliary data for the expression. (xml node is "auxdata1")
Definition Others.h:1894
bool masterShape
Whether this expression references the master copy of the shape.
Definition Others.h:1898
PlaybackType playbackType
Playback behavior of the text expression.
Definition Others.h:1901
int playPass
"Play Only on Pass" value.
Definition Others.h:1895
Cmper categoryId
Identifier for the category of the text expression. (xml node is "categoryID")
Definition Others.h:1891
bool breakMmRest
Whether the text breaks multimeasure rests.
Definition Others.h:1896
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:1911
bool noPrint
Inverse of "Hidden" checkbox.
Definition Others.h:1899
int value
Value associated with the expression (e.g., velocity).
Definition Others.h:1893
std::string description
Description of the text expression. (xml node is "descStr")
Definition Others.h:1909
Cmper shapeDef
Identifier for the Shape Designer ShapeDef associated with this expression.
Definition Others.h:1890
bool useAuxData
Whether auxiliary data is used.
Definition Others.h:1897
static const xml::XmlElementArray< ShapeExpressionDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
HorizontalTextJustification horzExprJustification
Horizontal justification of the text expression.
Definition Others.h:1904
HorizontalMeasExprAlign horzMeasExprAlign
Horizontal alignment of the expression.
Definition Others.h:1902
Evpu yAdjustEntry
Vertical adjustment for entry alignment.
Definition Others.h:1906
RehearsalMarkStyle rehearsalMarkStyle
Auto-sequencing style for rehearsal marks.
Definition Others.h:1892
bool useCategoryPos
Whether to use category position.
Definition Others.h:1908
VerticalMeasExprAlign vertMeasExprAlign
Vertical alignment of the expression.
Definition Others.h:1903
ShapeExpressionDef(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor.
Definition Others.h:1887
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1913
Evpu measXAdjust
Horizontal adjustment for measurement alignment.
Definition Others.h:1905
bool noHorzStretch
Inverse of "Allow Horizontal Stretching" checkbox.
Definition Others.h:1900
Evpu yAdjustBaseline
Vertical adjustment for baseline alignment.
Definition Others.h:1907
An instruction in the shape.
Definition Others.h:1934
static const xml::XmlElementArray< Instruction > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
ShapeDef::InstructionType type
the type of instruction
Definition Others.h:1938
int numData
the number of data items consumed by this instruction (See ShapeData.)
Definition Others.h:1937
Represents the data for instruction associated with a ShapeDef.
Definition Others.h:1924
std::vector< std::shared_ptr< Instruction > > instructions
The instructions.
Definition Others.h:1943
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:1945
static const xml::XmlElementArray< ShapeInstructionList > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
ShapeInstructionList(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:1927
Represents a composite of an underlying Staff instance with any applicable StaffStyle instances appli...
Definition Others.h:2401
static std::shared_ptr< StaffComposite > createCurrent(const DocumentPtr &document, Cmper partId, InstCmper staffId, MeasCmper measId, Edu eduPosition)
Calculates the current staff at the specified metric position by applying all relevant staff styles,...
Definition Implementations.cpp:3056
Cmper getPartId() const final override
Overrides Base function to return the requested part id instead of the Staff's source part id (which ...
Definition Others.h:2428
Represents an assignment.
Definition Others.h:2365
std::shared_ptr< StaffStyle > getStaffStyle() const
Returns the StaffStyle instance for this assignment.
Definition Implementations.cpp:3193
Cmper styleId
The cmper of the assigned StaffStyle.
Definition Others.h:2371
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:2378
StaffStyleAssign(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:2368
static const xml::XmlElementArray< StaffStyleAssign > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2389
lists the masks that deterimine if this staff style overrides the staff settings
Definition Others.h:2270
bool rbarBreak
overrides Staff::rbarBreak
Definition Others.h:2288
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:2318
bool blineBreak
overrides Staff::blineBreak
Definition Others.h:2287
bool hideRptBars
overrides Staff::hideRptBars
Definition Others.h:2297
bool showTies
overrides Staff::hideTies
Definition Others.h:2305
bool negTimeParts
overrides Staff::hideTimeSigsInParts
Definition Others.h:2315
bool hideStaffLines
overrides Staff::hideStaffLines
Definition Others.h:2313
bool fullName
overrides Staff::fullNameTextId
Definition Others.h:2293
bool floatNoteheadFont
overrides notehead font settings
Definition Others.h:2279
bool negKey
overrides Staff::hideKeySigs
Definition Others.h:2298
bool negClef
overrides Staff::hideClefs
Definition Others.h:2300
bool negRepeat
overrides Staff::hideRepeats
Definition Others.h:2290
bool flatBeams
overrides Staff::flatBeams
Definition Others.h:2280
bool showNameParts
overrides Staff::showNameInParts
Definition Others.h:2312
bool hideChords
overrides Staff::hideChords
Definition Others.h:2309
Masks(const DocumentWeakPtr &document)
Default constructor.
Definition Others.h:2276
bool hideBarlines
overrides Staff::hideBarlines
Definition Others.h:2292
bool noOptimize
overrides Staff::noOptimize
Definition Others.h:2282
bool blankMeasureRest
overrides Staff::blankMeasure
Definition Others.h:2281
bool staffType
overrides staff properties (see StaffComposite::applyStyle)
Definition Others.h:2285
bool negMnumb
overrides Staff::hideMeasNums
Definition Others.h:2289
bool hideKeySigsShowAccis
overrides Staff::hideKeySigsShowAccis
Definition Others.h:2316
bool redisplayLayerAccis
overrides Staff::redisplayLayerAccis
Definition Others.h:2314
bool negNameScore
overrides Staff::hideNameInScore
Definition Others.h:2291
static const xml::XmlElementArray< Masks > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool hideFretboards
overrides Staff::hideFretboards
Definition Others.h:2310
bool hideLyrics
overrides Staff::hideLyrics
Definition Others.h:2311
bool fullNamePos
overrides presence, absence of NamePositionStyleFull instance.
Definition Others.h:2303
bool transposition
overrides transposition fields
Definition Others.h:2286
bool abrvName
overrides Staff::abbrvNameTextId
Definition Others.h:2294
bool negTime
overrides Staff::hideTimeSigs (in Score)
Definition Others.h:2299
bool showStems
overrides stem properties (see StaffComposite::applyStyle)
Definition Others.h:2308
bool abrvNamePos
overrides presence, absence of NamePositionStyleAbbreviated instance.
Definition Others.h:2304
bool floatKeys
overrides Staff::floatKeys
Definition Others.h:2295
bool notationStyle
overrides notations style
Definition Others.h:2283
bool showRests
overrides Staff::hideRests
Definition Others.h:2307
bool floatTime
overrides Staff::floatTime
Definition Others.h:2296
bool hideStaff
overrides Staff::hideMode
Definition Others.h:2301
bool defaultClef
overrides Staff::defaultClef
Definition Others.h:2284
bool noKey
overrides Staff::noKey
Definition Others.h:2302
bool showDots
overrides Staff::hideDots
Definition Others.h:2306
Represents a Finale staff style.
Definition Others.h:2256
std::shared_ptr< Masks > masks
Definition Others.h:2325
static const xml::XmlElementArray< StaffStyle > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static std::vector< std::shared_ptr< StaffStyle > > findAllOverlappingStyles(const DocumentPtr &document, Cmper partId, InstCmper staffId, MeasCmper measId, Edu eduPosition)
Finds a subset from all StaffStyle instances that overlap with the specified metric position on a giv...
Definition Implementations.cpp:3169
StaffStyle(const std::shared_ptr< Staff > &staff)
protected constructor for StaffComposite
Definition Others.h:2259
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:2338
StaffStyle(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2264
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:2340
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2354
std::string styleName
name of staff style
Definition Others.h:2323
bool addToMenu
add this staff style to the context menu for staff styles
Definition Others.h:2324
Represents the attributes of a staff system in the page layout.
Definition Others.h:2438
bool hasStaffScaling
Indicates if any individual staff in the system has scaling applied.
Definition Others.h:2460
Evpu right
Right margin in Evpu. (Sign reversed in Finale UI.)
Definition Others.h:2455
MeasCmper startMeas
Starting measure of the staff system. See Measure.
Definition Others.h:2446
bool scaleVert
"Resize Vertical Space"
Definition Others.h:2462
StaffSystem(const DocumentWeakPtr &document, Cmper staffSystemId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2441
Evpu left
Left margin in Evpu.
Definition Others.h:2454
Efix staffHeight
Staff height in Efix units. Note that this is different units than options::PageFormatOptions::PageFo...
Definition Others.h:2452
int calcNumMeasures() const
Calculates the number of measures on the system, encapsulating how endMeas works.
Definition Others.h:2474
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2483
bool holdMargins
"Hold Margins" (xml node is <scaleContentOnly>)
Definition Others.h:2463
double horzPercent
Definition Others.h:2449
bool placeEndSpaceBeforeBarline
Indicates that extra space is placed before the barline.
Definition Others.h:2461
Evpu distanceToPrev
Distance to the previous staff system in Evpu.
Definition Others.h:2464
Evpu bottom
Definition Others.h:2456
Evpu extraEndSystemSpace
Extra space at the end of the staff system in Evpu.
Definition Others.h:2466
Evpu top
Top margin in Evpu. (Sign reversed in Finale UI.)
Definition Others.h:2453
std::pair< double, double > calcMinMaxStaffSizes() const
Calculates the maximum and minimum staff scaling values for this system by searching each staff for i...
Definition Implementations.cpp:3209
bool noNames
Definition Others.h:2458
MeasCmper endMeas
Definition Others.h:2447
static const xml::XmlElementArray< StaffSystem > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
MeasCmper getLastMeasure() const
Encapsulates the weird Finale fact that endMeas is actually one past the end of the system.
Definition Others.h:2470
Evpu extraStartSystemSpace
Extra space at the start of the staff system in Evpu.
Definition Others.h:2465
int ssysPercent
Staff system scaling percentage (100 means no scaling).
Definition Others.h:2451
Represents chromatic transposition details.
Definition Others.h:2012
static const xml::XmlElementArray< ChromaticTransposition > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int diatonic
The diatonic interval. See music_theory::Transposer for more information.
Definition Others.h:2015
int alteration
The alteration that defines the chromatic interval (in chromatic half-steps). See music_theory::Trans...
Definition Others.h:2014
Represents key signature transposition details.
Definition Others.h:1999
int adjust
The adjustment to the number of sharps or flats in the key signature.
Definition Others.h:2002
static const xml::XmlElementArray< KeySigTransposition > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int interval
The diatonic transposition interval.
Definition Others.h:2001
Encapsulates transposition options for a staff.
Definition Others.h:2028
std::shared_ptr< ChromaticTransposition > chromatic
Shared pointer to the chromatic transposition details, if any.
Definition Others.h:2037
std::shared_ptr< KeySigTransposition > keysig
Shared pointer to the key signature transposition details, if any.
Definition Others.h:2034
bool noSimplifyKey
Inverse of "Simplify Key" (xml node is <noKeyOpt>)
Definition Others.h:2031
static const xml::XmlElementArray< Transposition > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool setToClef
If true, forces the clef in Staff::transposedClef.
Definition Others.h:2030
Represents the definition of a Finale staff.
Definition Others.h:1957
bool hideDots
Inverse of "Display Augmentation Dots".
Definition Others.h:2092
AutoNumberingStyle
Enum for auto-numbering style. Auto-numbering is based on instUuid.
Definition Others.h:1961
@ ArabicSuffix
Arabic numeral suffix (default). May not appear in xml.
@ ArabicPrefix
Arabic numeral prefix (with dot): 1. 2. 3. ...
@ RomanSuffix
Roman numeral suffix.
@ OrdinalPrefix
Ordinal number prefix: 1st 2nd 3rd, ...
@ AlphaSuffix
Alphabetic suffix.
Evpu dwRestOffset
Offset for downstem rests.
Definition Others.h:2086
bool hideRepeats
Inverse of "Display Endings and Text Repeats".
Definition Others.h:2077
ClefIndex defaultClef
Index of default clef for the staff.
Definition Others.h:2053
bool hideClefs
Inverse of "Display Clefs".
Definition Others.h:2082
int calcToplinePosition() const
Returns the position of the top staff line, relative to the reference line.
Definition Implementations.cpp:2802
bool hideRepeatTopDot
Inverse of "Top Repeat Dot" in Staff Setup dialog.
Definition Others.h:2072
Evpu hRestOffset
Offset for half rests.
Definition Others.h:2088
std::optional< int > staffLines
Number of lines in the staff (if no custom staff)
Definition Others.h:2055
bool hideKeySigs
Inverse of "Display Key Signatures".
Definition Others.h:2080
Cmper multiStaffInstId
It is set by the factory with the Resolver function for MultiStaffInstrumentGroup.
Definition Others.h:2119
NotationStyle
Enum for notation style.
Definition Others.h:1979
bool hideStaffLines
Inverse of "Display Staff Lines".
Definition Others.h:2083
bool hideTimeSigs
Inverse of "Display Time Signatures in Score".
Definition Others.h:2081
bool noOptimize
Inverse of "Allow Hiding When Empty".
Definition Others.h:2074
std::optional< std::vector< int > > customStaff
A list of stafflines from 0..26 where a standard 5-line staff is values 11, 12, 13,...
Definition Others.h:2056
bool noKey
"Ignore Key Signatures"
Definition Others.h:2085
static void calcAllRuntimeValues(const DocumentPtr &document)
Populate runtime values for all staves or staffstyles, such as percussion map Id if any.
Definition Implementations.cpp:2531
std::shared_ptr< FontInfo > noteFont
The custom font to use for noteheads. Guaranteed non-null by integrityCheck if useNoteFont is true.
Definition Others.h:2051
static void calcAllAutoNumberValues(const DocumentPtr &document)
Get the auto-numbering value for this staff, if applicable.
Definition Implementations.cpp:2452
bool hideRepeatBottomDot
Inverse of "Bottom Repeat Dot" in Staff Setup dialog.
Definition Others.h:2068
std::shared_ptr< MultiStaffInstrumentGroup > getMultiStaffInstGroup() const
Returns the MultiStaffInstrumentGroup for this staff if it is part of one. Otherwise nullptr.
Definition Implementations.cpp:2672
bool fullNamePosFromStyle
Definition Others.h:2113
bool hasStyles
Indicates that this staff has staff style assignments.
Definition Others.h:2063
Cmper abrvNamePosId
Definition Others.h:2115
std::string addAutoNumbering(const std::string &plainName) const
Add auto numbering as a prefix or suffix, if needed.
Definition Implementations.cpp:2640
StemDirection stemDirection
stem direction for staff (xml node is <stemDir>)
Definition Others.h:2100
bool hideStems
Inverse of "Display Stems".
Definition Others.h:2099
Evpu otherRestOffset
Offset for other rests.
Definition Others.h:2089
std::string getFullInstrumentName(util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii, bool preferStaffName=false) const
Returns the full instrument name for this staff without Enigma tags and with autonumbering (if any)
Definition Implementations.cpp:2683
std::optional< int > autoNumberValue
Calculated autonumbering value. It is computed by calcAllAutoNumberValues.
Definition Others.h:2121
bool abrvNamePosFromStyle
Definition Others.h:2117
Evpu lineSpace
Distance between staff lines.
Definition Others.h:2057
Evpu wRestOffset
Offset for whole rests.
Definition Others.h:2087
std::shared_ptr< const NamePositioning > getAbbreviatedNamePosition() const
Returns the abbreviated name positioning in effect for this staff instance.
Definition Implementations.cpp:2755
HideMode hideMode
"Force Hide Staff" option
Definition Others.h:2102
Staff(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2043
bool hideBarlines
Inverse of "Display Barlines".
Definition Others.h:2078
bool hasInstrumentAssigned() const
Return true if this staff has an instrument assigned.
Definition Implementations.cpp:2817
bool floatKeys
"Independent Key Signature"
Definition Others.h:2059
Cmper fullNameTextId
Full name TextBlock ID. (xml node is <fullName>)
Definition Others.h:2094
NotationStyle notationStyle
Standard, percussion, or tablature.
Definition Others.h:2050
StemDirection
Enum for staff-level stem direction override.
Definition Others.h:1971
@ AlwaysDown
stems are always down on this staff
@ Default
the default (may not occur in xml)
@ AlwaysUp
stems are always up on this staff
bool useAutoNumbering
Whether names should be auto-numbered. (xml node is <useAutoNum>)
Definition Others.h:2106
bool hideTies
Inverse of "Display Ties".
Definition Others.h:2091
bool showNameInParts
"Display Staff Name in Parts" (xml node is <showNameParts>)
Definition Others.h:2064
ClefIndex transposedClef
Index of transposed clef for the staff. Only used if Transposition::setToClef is true.
Definition Others.h:2054
bool floatTime
"Independent Time Signature"
Definition Others.h:2060
void integrityCheck() override
Allows a class to determine if it has been properly contructed by the factory and fix issues that it ...
Definition Others.h:2213
std::optional< Cmper > percussionMapId
Calculated percussion map Id for a percussion staff. (Populated by in calcAllRuntimeValues....
Definition Others.h:2122
int calcMiddleStaffPosition() const
Returns the middle staff position. For staves with even numbers of lines, it is the middle space.
Definition Implementations.cpp:2787
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:2238
Evpu botBarlineOffset
Offset for the bottom barline.
Definition Others.h:2067
std::shared_ptr< PartDefinition > firstFirstContainingPart() const
Finds the first part that contains this staff, not including the score.
Definition Implementations.cpp:2841
bool hideLyrics
Inverse of "Display Lyrics".
Definition Others.h:2073
std::vector< std::shared_ptr< PartDefinition > > getContainingParts() const
Gets a list of all parts that contain this staff, including the score.
Definition Implementations.cpp:2825
std::string getFullName(util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii) const
Returns the full staff name without Enigma tags.
Definition Implementations.cpp:2662
Cmper abbrvNameTextId
Abbreviated name TextBlock ID. (xml node is <abbrvName>)
Definition Others.h:2095
std::string getAbbreviatedName(util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii) const
Returns the abbreviated staff name without Enigma tags.
Definition Implementations.cpp:2667
bool hideFretboards
Inverse of "Display Fretboards".
Definition Others.h:2070
bool rbarBreak
"Break Repeat Barlines Between Staves"
Definition Others.h:2062
Evpu topRepeatDotOff
Offset for top repeat dots.
Definition Others.h:2097
HideMode
Enum for hide mode.
Definition Others.h:1987
@ Score
Collapse in score only.
@ ScoreParts
Collapse in score and parts.
bool redisplayLayerAccis
"Redisplay Accidentals in Other Layers Within Measures"
Definition Others.h:2103
bool useNoteFont
Indicates if noteFont should be used.
Definition Others.h:2052
Evpu topBarlineOffset
Offset for the top barline.
Definition Others.h:2075
bool hideBeams
Inverse of "Show Beams".
Definition Others.h:2101
bool hideTimeSigsInParts
Inverse of "Display Time Signatures in Parts".
Definition Others.h:2104
bool hideChords
Inverse of "Display Chords".
Definition Others.h:2084
Cmper fullNamePosId
Definition Others.h:2111
bool showNamesForPart(Cmper partId) const
Returns if names should be shown for the specified part.
Definition Others.h:2154
bool hideRests
Inverse of "Display Rests".
Definition Others.h:2090
int stemReversal
Stem reversal value.
Definition Others.h:2093
bool blankMeasure
Inverse of "Display Rests in Empty Measures".
Definition Others.h:2071
Evpu botRepeatDotOff
Offset for bottom repeat dots.
Definition Others.h:2096
Evpu vertTabNumOff
Vertical offset for tab number.
Definition Others.h:2098
bool blineBreak
"Break Barlines Between Staves"
Definition Others.h:2061
static const xml::XmlElementArray< Staff > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
ClefIndex calcClefIndexAt(MeasCmper measureId, Edu position, bool forWrittenPitch=false) const
Returns the clef in this staff at the specified location.
Definition Implementations.cpp:2763
ClefIndex calcFirstClefIndex(bool forWrittenPitch=false) const
Returns the first clef in this staff.
Definition Others.h:2188
bool hideRptBars
Inverse of "Display Repeat Bars".
Definition Others.h:2079
std::shared_ptr< Transposition > transposition
Transposition details, if non-null.
Definition Others.h:2065
bool hideKeySigsShowAccis
"Hide Key Signature and Show Accidentals" transposition option.
Definition Others.h:2107
AutoNumberingStyle autoNumbering
Autonumbering style if useAutoNumbering is true. (xml node is <autoNum>)
Definition Others.h:2105
bool hideNameInScore
Inverse of "Display Staff Name in Score" (xml node is <hideStfNameInScore>)
Definition Others.h:2066
std::string instUuid
Unique identifier for the type of instrument.
Definition Others.h:2058
bool hideMeasNums
Inverse of "Display Measure Numbers".
Definition Others.h:2076
std::string getAbbreviatedInstrumentName(util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii, bool preferStaffName=false) const
Returns the abbreviated instrument name for this staff without Enigma tags and with autonumbering (if...
Definition Implementations.cpp:2699
bool flatBeams
"Flat Beams"
Definition Others.h:2069
std::shared_ptr< const NamePositioning > getFullNamePosition() const
Returns the full name positioning in effect for this staff instance.
Definition Implementations.cpp:2747
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2240
Locks a span of one or more measures so that they always appear in a StaffSystem together.
Definition Others.h:2497
MeasCmper endMeas
Definition Others.h:2503
static const xml::XmlElementArray< SystemLock > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
SystemLock(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2500
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2506
A single tempo change value entered with Finale's Tempo tool.
Definition Others.h:2526
int unit
Hardware ticks/sec. For Macs this is 1000.
Definition Others.h:2539
TempoChange(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:2529
int ratio
Definition Others.h:2534
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2550
static const xml::XmlElementArray< TempoChange > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int getAbsoluteTempo(NoteType noteType=NoteType::Quarter) const
Computes the absolute tempo represented by the TempoChange Instance.
Definition Implementations.cpp:3227
Edu eduPosition
The position within the measure. (xml node is <eldur>)
Definition Others.h:2538
bool isRelative
Definition Others.h:2540
Represents the attributes of a Finale "textBlock".
Definition Others.h:2564
TextType textType
Text tag indicating the type of text block. (xml tag is <textTag>)
Definition Others.h:2590
bool noExpandSingleWord
Do not expand single word.
Definition Others.h:2584
bool roundCorners
Use rounded corners on frame.
Definition Others.h:2588
bool wordWrap
Wrap words (in frames)
Definition Others.h:2585
bool newPos36
Definition Others.h:2580
TextType
Enum for textTag values.
Definition Others.h:2568
@ Expression
textId is a Cmper for a texts::ExpressionText
@ Block
textId is a Cmper for a texts::BlockText
bool requireAllFields() const override
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class...
Definition Others.h:2602
Efix cornerRadius
Corner radius for rounded corners.
Definition Others.h:2589
bool showShape
Show shape.
Definition Others.h:2583
std::string getText(bool trimTags=false, util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii) const
return display text with Enigma tags removed
Definition Implementations.cpp:3291
std::shared_ptr< TextsBase > getRawTextBlock() const
Gets the raw text block (from the texts pool) based on textType.
Definition Implementations.cpp:3280
Evpu width
Width of frame.
Definition Others.h:2586
Evpu height
Height of frame.
Definition Others.h:2587
int lineSpacingPercentage
Line spacing percentage.
Definition Others.h:2579
Cmper textId
Cmper of the text block. (xml tag is <textID>)
Definition Others.h:2578
static const xml::XmlElementArray< TextBlock > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
TextBlock(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2574
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2604
Stores the properties and behaviors of text expressions.
Definition Others.h:2614
Evpu yAdjustBaseline
Vertical adjustment for baseline alignment.
Definition Others.h:2642
RehearsalMarkStyle rehearsalMarkStyle
Auto-sequencing style for rehearsal marks.
Definition Others.h:2626
bool matchPlayback
purpose needs investigation.
Definition Others.h:2631
bool hideMeasureNum
"Hide Measure Numbers" (used on Rehearsal Marks)
Definition Others.h:2630
Cmper categoryId
Identifier for the category of the text expression.
Definition Others.h:2625
PlaybackType playbackType
Playback behavior of the text expression.
Definition Others.h:2636
Evpu measXAdjust
Horizontal adjustment for measurement alignment.
Definition Others.h:2640
int playPass
"Play Only on Pass" value.
Definition Others.h:2629
std::shared_ptr< Enclosure > getEnclosure() const
Gets the enclosure for this expression, or nullptr if none.
Definition Implementations.cpp:3320
std::shared_ptr< TextBlock > getTextBlock() const
Gets the enclosure for this expression, or nullptr if none.
Definition Implementations.cpp:3315
int auxData1
Auxiliary data for the expression. (xml node is "auxdata1")
Definition Others.h:2628
bool useCategoryFonts
Whether to use category fonts.
Definition Others.h:2643
static const xml::XmlElementArray< TextExpressionDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::string description
Description of the text expression. (xml node is "descStr")
Definition Others.h:2645
TextExpressionDef(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor.
Definition Others.h:2621
bool hasEnclosure
Whether the text expression has an enclosure. (xml node is "newEnclosure")
Definition Others.h:2633
int value
Value associated with the expression (e.g., velocity).
Definition Others.h:2627
bool createdByHp
Whether the text block was created by Finale's smart playback system.
Definition Others.h:2635
bool useAuxData
Whether auxiliary data is used.
Definition Others.h:2632
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2653
bool breakMmRest
Whether the text breaks multimeasure rests.
Definition Others.h:2634
VerticalMeasExprAlign vertMeasExprAlign
Vertical alignment of the expression.
Definition Others.h:2638
Evpu yAdjustEntry
Vertical adjustment for entry alignment.
Definition Others.h:2641
HorizontalMeasExprAlign horzMeasExprAlign
Horizontal alignment of the expression.
Definition Others.h:2637
bool useCategoryPos
Whether to use category position.
Definition Others.h:2644
HorizontalTextJustification horzExprJustification
Horizontal justification of the text expression.
Definition Others.h:2639
Cmper textIdKey
Identifier for the TextBlock associated with this.
Definition Others.h:2624
The enclosure for a text expression (if it exists)
Definition Others.h:2665
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2669
static const xml::XmlElementArray< TextExpressionEnclosure > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Represents a text repeat assignment with positioning and behavior properties.
Definition Others.h:2682
bool jumpOnMultiplePasses
If true, use TextRepeatDef::passList to get the passes and ignore passNumber. (xml tag is <multiActua...
Definition Others.h:2699
bool individualPlacement
"Allow Individual Edits Per Staff" (xml tag is <indivPlac>)
Definition Others.h:2696
Cmper textRepeatId
The Cmper of the assigned TextRepeatDef. (xml tag is <repnum>)
Definition Others.h:2694
Cmper staffList
If non-zero, specifies a staff list for which staves to show the ending.
Definition Others.h:2704
int targetValue
Measure number, TextRepeatDef ID, or offset, depending on jumpAction. (xml tag is <target>)
Definition Others.h:2693
TextRepeatAssign(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci)
Constructor function.
Definition Others.h:2685
bool autoUpdate
"Auto-Update Target"
Definition Others.h:2701
int passNumber
Play Section N Times, Jump on Pass, Stop on Pass value, depending on jumpAction and trigger....
Definition Others.h:2692
bool topStaffOnly
"Show On: Top Staff Only"
Definition Others.h:2697
Evpu vertPos
The vertical offset from default of the text repeat marker.
Definition Others.h:2695
bool jumpIfIgnoring
"Jump if Ignoring Repeats" (xml tag is <jmpIgnore>)
Definition Others.h:2703
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2706
static const xml::XmlElementArray< TextRepeatAssign > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
RepeatTriggerType trigger
The condition that triggers the jumpAction.
Definition Others.h:2702
RepeatActionType jumpAction
The jump action for this repeat assignment. (xml tag is <action>)
Definition Others.h:2700
bool resetOnAction
"Reset on Repeat Action" (xml tag is <clrOnChange>)
Definition Others.h:2698
Evpu horzPos
The horizontal offset from default of the text repeat marker.
Definition Others.h:2691
Defines text repeat elements with font styling and justification.
Definition Others.h:2722
PoundReplaceOption poundReplace
"Replace # With" choice.
Definition Others.h:2742
TextRepeatDef(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2733
PoundReplaceOption
Enum for poundReplace options.
Definition Others.h:2726
@ MeasureNumber
"Measure Number in Target" (xml value is "measNum")
@ Passes
"Number of Times Played" (the default: may never appear in xml)
@ RepeatID
"Text Repeat ID in Target" (xml value is "repeatID")
std::shared_ptr< FontInfo > font
The font for this text repeat. (xml nodes <fontID>, <fontSize>, and <efx>)
Definition Others.h:2739
bool useThisFont
"Use This Font" (for the # substitution)
Definition Others.h:2741
std::vector< int > passList
If this vector contains elements, they define the repeat passes that apply to this instance.
Definition Others.h:2746
bool hasEnclosure
Whether the text repeat has an enclosure. (xml node is <newEnclosure>)
Definition Others.h:2740
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2748
static const xml::XmlElementArray< TextRepeatDef > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
HorizontalTextJustification justification
Definition Others.h:2743
The enclosure for a text expression (if it exists)
Definition Others.h:2761
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2765
static const xml::XmlElementArray< TextRepeatEnclosure > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Represents the text associated with a TextRepeatDef.
Definition Others.h:2778
TextRepeatText(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2781
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2788
static const xml::XmlElementArray< TextRepeatText > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::string text
The text.
Definition Others.h:2786
Represents an individual lower composite item in the time signature.
Definition Others.h:2813
static const xml::XmlElementArray< CompositeItem > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
bool startGroup
Indicates the start of a group.
Definition Others.h:2816
Edu unit
The size of the unit for this item. (xml node is <integer>)
Definition Others.h:2815
Represents the lower composite time signature array.
Definition Others.h:2801
static constexpr std::string_view XmlNodeName
XML node name.
Definition Others.h:2823
static const xml::XmlElementArray< TimeCompositeLower > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::vector< std::shared_ptr< CompositeItem > > items
composite items collection
Definition Others.h:2821
TimeCompositeLower(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2804
Represents an individual composite item in the time signature.
Definition Others.h:2848
util::Fraction fullFraction() const
Return the beats as a complete fraction.
Definition Others.h:2855
bool startGroup
Indicates the start of a group.
Definition Others.h:2852
static const xml::XmlElementArray< CompositeItem > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Edu beats
The number of beats in this item. (xml node is <integer>)
Definition Others.h:2850
util::Fraction fraction
Fraction of beats (between 0 <= fraction < 1)
Definition Others.h:2851
Represents the upper composite time signature structure.
Definition Others.h:2836
static constexpr std::string_view XmlNodeName
XML node name.
Definition Others.h:2863
static const xml::XmlElementArray< TimeCompositeUpper > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::vector< std::shared_ptr< CompositeItem > > items
Collection of composite items.
Definition Others.h:2861
TimeCompositeUpper(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Others.h:2839
Maps the number of flats to a tonal center for a linear custom key. If there are zero flats or sharps...
Definition Others.h:2880
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2886
static const xml::XmlElementArray< TonalCenterFlats > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
Maps number of sharps (0..7) to a tonal center for a linear custom key. Also maps 0 sharps or flats....
Definition Others.h:2902
static const xml::XmlElementArray< TonalCenterSharps > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Others.h:2908
AccidentalStyle
Enumeration to specify the type of accidental replacement.
Definition EnigmaString.h:57
@ Ascii
Use ASCII substitutions for accidentals.
A class to represent fractions with integer m_numerator and m_denominator, automatically reduced to s...
Definition Fraction.h:37
@ Verbose
Informational messages that should only displayed when verbose logging is requested.
static void log(LogLevel level, const std::string &message)
Logs a message with a specific severity level.
Definition Logger.h:87
RehearsalMarkStyle
Specifies the sequencing style for rehearsal marks.
Definition Others.h:743
@ MeasureNumber
Displays the current measure number.
@ None
Default value, no rehearsal mark style.
@ LetterNumbers
A, B, C...A1, B1, C1.
@ LettersNumbersLowerCase
a, b, c...a1, b1, c1
@ Letters
A, B, C...AA, BB, CC.
@ LettersLowerCase
a, b, c...aa, bb, cc
VerticalMeasExprAlign
Specifies the vertical alignment relative to musical elements for an expression or marking category.
Definition Others.h:805
@ AboveStaffOrEntry
Align above the staff or entry.
@ BottomNote
Align with bottom note.
@ BelowEntry
Align below entry.
@ RefLine
Align to staff reference line.
@ TopNote
Align with top note.
@ BelowStaffOrEntry
Align below the staff or entry.
@ AboveEntry
Align above entry.
@ BelowStaff
Align below the staff.
@ AboveStaff
Align above ths staff (the default).
HorizontalTextJustification
Specifies the horizontal alignment for text expressions and marking categories.
Definition Others.h:823
@ Center
Justified center.
HorizontalMeasExprAlign
Specifies the horizontal alignment relative to musical elements for an expression or marking category...
Definition Others.h:783
@ RightBarline
Align with left barline. (xml value is "rightEdge")
@ AfterClefKeyTime
Align after clef/key/time/repeat.
@ RightOfAllNoteheads
Align to the right of all noteheads.
@ StartTimeSig
Align at the start of the time signature.
@ LeftBarline
Align with left barline (the default). (xml value is "leftEdge", if encountered)
@ CenterPrimaryNotehead
Align to the center of the primary notehead.
@ CenterOverBarlines
Align over the center of the barlines.
@ CenterAllNoteheads
Align to the center of all noteheads.
@ CenterOverMusic
Align over the center of music.
@ LeftOfAllNoteheads
Align left of all noteheads.
@ LeftOfPrimaryNotehead
Align to the left of the primary notehead.
@ StartOfMusic
Align at start of music.
@ Manual
"Horizontal Click Position" alignment.
RepeatActionType
Enum for the possible values of the <action> element.
Definition Others.h:1624
@ Stop
Stops playback after a number of passes (e.g. "Fine")
@ JumpToMark
Jump to a specified repeat number (used by text repeats).
@ JumpAuto
Automatically Jump. (the default). The targetValue is meaningless for this action.
@ JumpAbsolute
Jump to the measure number specified in the targetValue field.
@ NoJump
Do not jump. The targetValue is meaningless for this action.
PlaybackType
Specifies the playback behavior for the an expression or marking category.
Definition Others.h:758
@ Swing
Playback in swing style.
@ SmartPlaybackOn
Turn on smart playback. (xml value is "hpOn")
@ SmartPlaybackOff
Turn off smart playback. (xml value is "hpOff")
@ IgnoreTempoToolChanges
Ignore changes from Tempo Tool. (xml value is "stopTempo")
@ RestrikeKeys
Playback retrikes keys. (xml value is "rekey")
@ Channel
Playback set the MIDI channel.
@ MidiPitchWheel
Playback affects the MIDI pitch wheel. (xml value is "midiPitchwheel")
@ KeyVelocity
Playback affects key velocity. (xml value is "amplitude")
@ MidiController
Playback type for MIDI controller commands.
@ MidiPatchChange
Playback changes the MIDI patch.
@ PercussionMidiMap
Playback uses percussion MIDI map. (xml value is "percMidiMap")
@ PlayTempoToolChanges
Play changes from Tempo Tool. (xml value is "startTempo")
@ Transpose
Playback causes transposition.
@ ChannelPressure
Playback affects MIDI channel pressure. (xml value is "midiPressure")
@ Tempo
Playback affects tempo. (xml value is "time")
@ Dump
Playback is an arbitrary data dump. (Data is in node <playDumpText> with the same Cmper value....
RepeatTriggerType
Enum for the possible values of the <trigger> element.
Definition Others.h:1639
@ Always
Always jump (the default)
@ OnPass
Jump on a sepecified pass number.
@ UntilPass
Jump until a specified pass number is reached.
ShowClefMode
Enum representing the clef display mode for a frame.
Definition CommonClasses.h:96
NoteType
Enum class representing note types based on EDU values.
Definition CommonClasses.h:47
int16_t MeasCmper
Enigma meas Cmper (may be negative when not applicable)
Definition Fundamentals.h:64
int32_t Efix
EFIX value (64 per EVPU, 64*288=18432 per inch)
Definition Fundamentals.h:60
uint16_t PercussionNoteType
Definition Fundamentals.h:75
constexpr Cmper SCORE_PARTID
The part id of the score.
Definition Fundamentals.h:80
int16_t InstCmper
Enigma staff (inst) Cmper (may be negative when not applicable)
Definition Fundamentals.h:65
int16_t Inci
Enigma "incident" key type.
Definition Fundamentals.h:56
int32_t Evpu
EVPU value (288 per inch)
Definition Fundamentals.h:57
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:55
@ Percussion
Percussion clef, open rectangle (no pitch).
uint16_t ClefIndex
Index into options::ClefOptions::clefDefs.
Definition Fundamentals.h:67
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:53
int32_t EntryNumber
Entry identifier.
Definition Fundamentals.h:68
std::shared_ptr< Document > DocumentPtr
Shared Document pointer.
Definition BaseClasses.h:51
int16_t SystemCmper
Enigma systems Cmper (may be negative when not applicable)
Definition Fundamentals.h:66
std::vector< XmlElementDescriptor< T > > XmlElementArray
an array type for XmlElementDescriptor instances.
Definition XmlInterface.h:127
object model for musx file (enigmaxml)
Definition BaseClasses.h:32