MUSX Document Model
|
Options controlling the appearance of smart shapes in the musx file. More...
#include <Options.h>
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. | |
![]() | |
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. | |
![]() | |
virtual | ~Base () noexcept(false)=default |
Virtual destructor for polymorphic behavior. | |
DocumentPtr | getDocument () const |
Gets a reference to the Document. | |
Cmper | getPartId () const |
Gets the partId for this instance (or 0 for score) | |
std::shared_ptr< others::PartDefinition > | getPartDefinition () const |
Gets the others::PartDefinition corresponding to getPartId. | |
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 () |
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 {} |
"SS Line Style Custom" | |
Cmper | ssLineStyleCmpGlissando {} |
"SS Line Style Glissando" | |
Cmper | ssLineStyleCmpTabSlide {} |
"SS Line Style Tab Slide" | |
Cmper | ssLineStyleCmpTabBendCurve {} |
"SS Line Style Tab Bend Curve" | |
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 | |
![]() | |
OptionsBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
Constructs the OptionsBase and validates XmlNodeName in the derived class. | |
![]() | |
Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
Constructs the base class and enforces the static constexpr XmlNodeName. | |
Base & | operator= (const Base &) |
assignment constructor: m_unlinkedNodes is intentionally omitted | |
Options controlling the appearance of smart shapes in the musx file.
This class is identified by the XML node name "smartShapeOptions".