|
MUSX Document Model
|
Options controlling the appearance of smart shapes in the musx file. More...
#include <Options.h>
Inheritance diagram for musx::dom::options::SmartShapeOptions:Classes | |
| struct | ConnectionStyle |
| Defined the connection offsets for each ConnectionIndex value. More... | |
| struct | ControlStyle |
| defines the slur contours for short, medium, long, and extra long slurs More... | |
Public Types | |
| enum class | DefaultDirection { Automatic , Over , Under } |
| Default slur direction. | |
| enum class | ConnectionIndex { HeadRightTop , HeadLeftTop , StemRightTop , StemLeftTop , HeadRightBottom , HeadLeftBottom , StemRightBottom , StemLeftBottom , NoteRightCenter , NoteLeftCenter , NoteRightBottom , NoteLeftBottom , NoteRightTop , NoteLeftTop } |
| Connection index values. | |
| enum class | SlurConnectStyleType { OverNoteStart , OverNoteEnd , OverStemStart , OverStemEnd , UnderNoteStart , UnderNoteEnd , UnderStemStart , UnderStemEnd , OverMixStemStart , OverMixStemEnd , OverStemGrace , OverStemPrincipal , UnderStemGrace , UnderStemPrincipal , UnderNoteGrace , UnderStemNotePrincipal , OverNoteGrace , OverStemNotePrincipal , OverBeamStart , OverBeamEnd , UnderBeamStart , UnderBeamEnd , OverMixFlagStart , OverFlagStart , UnderFlagStart , OverTabNumStart , OverTabNumEnd , UnderTabNumStart , UnderTabNumEnd } |
| Slur connection style types. | |
| enum class | TabSlideConnectStyleType { DiffLevelPitchUpLineStart , DiffLevelPitchUpLineEnd , DiffLevelPitchUpSpaceStart , DiffLevelPitchUpSpaceEnd , DiffLevelPitchDownLineStart , DiffLevelPitchDownLineEnd , DiffLevelPitchDownSpaceStart , DiffLevelPitchDownSpaceEnd , SameLevelPitchUpLineStart , SameLevelPitchUpLineEnd , SameLevelPitchUpSpaceStart , SameLevelPitchUpSpaceEnd , SameLevelPitchDownLineStart , SameLevelPitchDownLineEnd , SameLevelPitchDownSpaceStart , SameLevelPitchDownSpaceEnd , SameLevelPitchSameStart , SameLevelPitchSameEnd } |
| Tab slide connection style types. | |
| enum class | GlissandoConnectStyleType { DefaultStart , DefaultEnd } |
| Glissando connection style types. | |
| enum class | BendCurveConnectStyleType { NoteStart , StaffEnd , StaffStart , NoteEnd , StaffToTopLineStart , StaffFromTopLineEnd , StaffEndOffset , StaffFromTopEndOffset } |
| Bend curve connection style types. | |
| enum class | SlurControlStyleType { ShortSpan , MediumSpan , LongSpan , ExtraLongSpan } |
| Slue control style types. | |
Public Types inherited from musx::dom::Base | |
| enum class | ShareMode { All , Partial , None } |
| Describes how this instance is shared between part and score. More... | |
| using | SharedNodes = std::set< std::string > |
| The container type for shared nodes. | |
Public Member Functions | |
| SmartShapeOptions (const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All) | |
| Constructor function. | |
Public Member Functions inherited from musx::dom::Base | |
| virtual | ~Base () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getSourcePartId () const |
| Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it. | |
| ShareMode | getShareMode () const |
| Gets the sharing mode for this instance. | |
| const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial) | |
| void | addUnlinkedNode (const std::string &nodeName) |
| Adds a shared node for this instance. | |
| virtual void | integrityCheck (const std::shared_ptr< Base > &ptrToThis) |
| Allows a class to determine if it has been properly contructed by the factory and fix issues that it can, such as creating default instances of contained classes. | |
| virtual bool | requireAllFields () const |
| Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class. | |
Static Public Member Functions | |
| static const xml::XmlElementArray< SmartShapeOptions > & | xmlMappingArray () |
| Required for musx::factory::FieldPopulator. | |
Public Attributes | |
| Evpu | shortHairpinOpeningWidth {} |
| "Short Hairpin Opening Width" | |
| Evpu | crescHeight {} |
| "Crescendo Height" | |
| Evpu | maximumShortHairpinLength {} |
| "Maximum Short Hairpin Length" | |
| Efix | crescLineWidth {} |
| "Crescendo/Decrescendo Line Width" | |
| Evpu | hookLength {} |
| "Hook Length" | |
| Efix | smartLineWidth {} |
| "Smart Line Width" | |
| bool | showOctavaAsText {} |
| "Show Octava As Text" | |
| Evpu | smartDashOn {} |
| "Smart Dash On Length" | |
| Evpu | smartDashOff {} |
| "Smart Dash Off Length" | |
| bool | crescHorizontal {} |
| "Horizontal Crescendo" | |
| DefaultDirection | direction {} |
| Default slur direction. | |
| Evpu | slurThicknessCp1X {} |
| "Slur Thickness Control Point 1 X" | |
| Evpu | slurThicknessCp1Y {} |
| "Slur Thickness Control Point 1 Y" | |
| Evpu | slurThicknessCp2X {} |
| "Slur Thickness Control Point 2 X" | |
| Evpu | slurThicknessCp2Y {} |
| "Slur Thickness Control Point 2 Y" | |
| bool | slurAvoidAccidentals {} |
| "Slur Avoid Accidentals" | |
| Evpu | slurAvoidStaffLinesAmt {} |
| "Slur Avoid Staff Lines Amount" | |
| Efix | maxSlurStretch {} |
| "Maximum Slur Stretch" | |
| Efix | maxSlurLift {} |
| "Maximum Slur Lift" | |
| int | slurSymmetry {} |
| "Slur Symmetry" | |
| bool | useEngraverSlurs {} |
| "Use Engraver Slurs" | |
| Evpu | slurLeftBreakHorzAdj {} |
| "Slur Left Break Horizontal Adjustment" | |
| Evpu | slurRightBreakHorzAdj {} |
| "Slur Right Break Horizontal Adjustment" | |
| Evpu | slurBreakVertAdj {} |
| "Slur Break Vertical Adjustment" | |
| bool | slurAvoidStaffLines {} |
| "Slur Avoid Staff Lines" | |
| Evpu | slurPadding {} |
| "Slur Padding" | |
| Efix | maxSlurAngle {} |
| "Maximum Slur Angle" | |
| Evpu | slurAcciPadding {} |
| "Slur Accidental Padding" | |
| bool | slurDoStretchFirst {} |
| "Initial Adjustment: Stretch" | |
| bool | slurStretchByPercent {} |
| "As Percentage of Slur Length" | |
| int | maxSlurStretchPercent {} |
| "Maximum Slur Stretch Percentage" | |
| Evpu | articAvoidSlurAmt {} |
| "Articulation Avoid Slur Amount" | |
| Cmper | ssLineStyleCmpCustom {} |
| Cmper of current custom line style. (others::SmartShapeCustomLine) | |
| Cmper | ssLineStyleCmpGlissando {} |
| Cmper of current glissando line style. (others::SmartShapeCustomLine) | |
| Cmper | ssLineStyleCmpTabSlide {} |
| Cmper of current tab slide line style. (others::SmartShapeCustomLine) | |
| Cmper | ssLineStyleCmpTabBendCurve {} |
| Cmper of current tab bend line style. (others::SmartShapeCustomLine) | |
| EvpuFloat | smartSlurTipWidth {} |
| "Smart Slur Tip Width" | |
| bool | guitarBendUseParens {} |
| "Guitar Bend Use Parentheses" | |
| bool | guitarBendHideBendTo {} |
| "Guitar Bend Hide Bend To" | |
| bool | guitarBendGenText {} |
| "Guitar Bend Generate Text" | |
| bool | guitarBendUseFull {} |
| "Guitar Bend Use Full" | |
| std::unordered_map< SlurConnectStyleType, std::shared_ptr< ConnectionStyle > > | slurConnectStyles |
| Slur connections. | |
| std::unordered_map< SlurControlStyleType, std::shared_ptr< ControlStyle > > | slurControlStyles |
| Slur contours. | |
| std::unordered_map< TabSlideConnectStyleType, std::shared_ptr< ConnectionStyle > > | tabSlideConnectStyles |
| Tab slide connections. | |
| std::unordered_map< GlissandoConnectStyleType, std::shared_ptr< ConnectionStyle > > | glissandoConnectStyles |
| Glissando connections. | |
| std::unordered_map< BendCurveConnectStyleType, std::shared_ptr< ConnectionStyle > > | bendCurveConnectStyles |
| Benx curve connections. | |
Static Public Attributes | |
| static constexpr std::string_view | XmlNodeName = "smartShapeOptions" |
| The XML node name for this type. | |
Additional Inherited Members | |
Protected Member Functions inherited from musx::dom::OptionsBase | |
| OptionsBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the OptionsBase and validates XmlNodeName in the derived class. | |
Protected Member Functions inherited from musx::dom::Base | |
| Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| Base (const Base &)=default | |
| explicit default copy constructor | |
| Base (Base &&) noexcept=default | |
| explicit default move constructor | |
| Base & | operator= (const Base &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| Base & | operator= (Base &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Options controlling the appearance of smart shapes in the musx file.
This class is identified by the XML node name "smartShapeOptions".