MUSX Document Model
Loading...
Searching...
No Matches
musx::dom::options::MusicSymbolOptions Class Reference

Options specifying the charactes for musical symbols. More...

#include <Options.h>

+ Inheritance diagram for musx::dom::options::MusicSymbolOptions:

Public Member Functions

 MusicSymbolOptions (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 getPartId () const
 Gets the partId for this instance (or 0 for score)
 
std::shared_ptr< others::PartDefinitiongetPartDefinition () const
 Gets the others::PartDefinition corresponding to getPartId.
 
ShareMode getShareMode () const
 Gets the sharing mode for this instance.
 
const SharedNodesgetUnlinkedNodes () 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< MusicSymbolOptions > & xmlMappingArray ()
 Required for musx::factory::FieldPopulator.
 

Public Attributes

char32_t noteheadQuarter {}
 Code point for quarter notehead.
 
char32_t noteheadHalf {}
 Code point for half notehead.
 
char32_t noteheadWhole {}
 Code point for whole notehead.
 
char32_t noteheadDblWhole {}
 Code point for double whole notehead.
 
char32_t natural {}
 Code point for natural sign.
 
char32_t flat {}
 Code point for flat sign.
 
char32_t sharp {}
 Code point for sharp sign.
 
char32_t dblFlat {}
 Code point for double flat sign.
 
char32_t dblSharp {}
 Code point for double sharp sign.
 
char32_t parenNatural {}
 Code point for parenthesized natural.
 
char32_t parenFlat {}
 Code point for parenthesized flat.
 
char32_t parenSharp {}
 Code point for parenthesized sharp.
 
char32_t parenDblFlat {}
 Code point for parenthesized double flat.
 
char32_t parenDblSharp {}
 Code point for parenthesized double sharp.
 
char32_t chordNatural {}
 Code point for chord natural sign.
 
char32_t chordFlat {}
 Code point for chord flat sign.
 
char32_t chordSharp {}
 Code point for chord sharp sign.
 
char32_t chordDblFlat {}
 Code point for chord double flat sign.
 
char32_t chordDblSharp {}
 Code point for chord double sharp sign.
 
char32_t keySigNatural {}
 Code point for key signature natural.
 
char32_t keySigFlat {}
 Code point for key signature flat.
 
char32_t keySigSharp {}
 Code point for key signature sharp.
 
char32_t keySigDblFlat {}
 Code point for key signature double flat.
 
char32_t keySigDblSharp {}
 Code point for key signature double sharp.
 
char32_t restLonga {}
 Code point for longa rest.
 
char32_t restDblWhole {}
 Code point for double whole rest.
 
char32_t restWhole {}
 Code point for whole rest.
 
char32_t restHalf {}
 Code point for half rest.
 
char32_t restQuarter {}
 Code point for quarter rest.
 
char32_t restEighth {}
 Code point for eighth rest.
 
char32_t rest16th {}
 Code point for 16th rest.
 
char32_t rest32nd {}
 Code point for 32nd rest.
 
char32_t rest64th {}
 Code point for 64th rest.
 
char32_t rest128th {}
 Code point for 128th rest.
 
char32_t restDefMeas {}
 Code point for default measure rest.
 
char32_t oneBarRepeat {}
 Code point for one-bar repeat.
 
char32_t twoBarRepeat {}
 Code point for two-bar repeat.
 
char32_t slashBar {}
 Code point for slash bar.
 
char32_t quarterSlash {}
 Code point for quarter slash.
 
char32_t halfSlash {}
 Code point for half slash.
 
char32_t wholeSlash {}
 Code point for whole slash.
 
char32_t dblWholeSlash {}
 Code point for double whole slash.
 
char32_t timeSigPlus {}
 Code point for time signature plus sign.
 
char32_t timeSigPlusParts {}
 Code point for time signature plus (parts)
 
char32_t timeSigAbrvCommon {}
 Code point for common time abbreviation.
 
char32_t timeSigAbrvCut {}
 Code point for cut time abbreviation.
 
char32_t timeSigAbrvCommonParts {}
 Code point for common time abbreviation (parts)
 
char32_t timeSigAbrvCutParts {}
 Code point for cut time abbreviation (parts)
 
char32_t augDot {}
 Code point for augmentation dot.
 
char32_t forwardRepeatDot {}
 Code point for forward repeat dot.
 
char32_t backRepeatDot {}
 Code point for backward repeat dot.
 
char32_t eightVaUp {}
 Code point for 8va (ottava) up.
 
char32_t eightVbDown {}
 Code point for 8vb (ottava) down.
 
char32_t fifteenMaUp {}
 Code point for 15ma (quindicesima) up.
 
char32_t fifteenMbDown {}
 Code point for 15mb (quindicesima) down.
 
char32_t trillChar {}
 Code point for trill symbol.
 
char32_t wiggleChar {}
 Code point for wiggle (trill line) symbol.
 
char32_t flagUp {}
 Code point for upward flag.
 
char32_t flagDown {}
 Code point for downward flag.
 
char32_t flag16Up {}
 Code point for 16th note upward flag.
 
char32_t flag16Down {}
 Code point for 16th note downward flag.
 
char32_t flag2Up {}
 Code point for 32nd note upward flag.
 
char32_t flag2Down {}
 Code point for 32nd note downward flag.
 
char32_t flagStraightUp {}
 Code point for straight upward flag.
 
char32_t flagStraightDown {}
 Code point for straight downward flag.
 

Static Public Attributes

static constexpr std::string_view XmlNodeName = "musicSymbolOptions"
 The XML node name for this type.
 

Additional Inherited Members

- 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.
 
- 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 and enforces the static constexpr XmlNodeName.
 
Baseoperator= (const Base &)
 assignment constructor: m_unlinkedNodes is intentionally omitted
 

Detailed Description

Options specifying the charactes for musical symbols.

These values are code points from the default music font. If the default music font is SMuFL-compliant, they are SMuFL glyph values. Otherwise, they are most likely Maestro font values. Note that Maestro font values are symbol code points, not Unicode. Use FontInfo::calcIsSymbolFont to check if the current non-SMuFL music font is using symbol code points.

This class is identified by the XML node name "musicSymbolOptions".