|
MUSX Document Model
|
Options for configuring clefs in a musical context. More...
#include <Options.h>
Inheritance diagram for musx::dom::options::ClefOptions:Classes | |
| class | ClefDef |
| Represents a single clef definition. More... | |
Public Types | |
| using | ClefInfo = std::pair< music_theory::ClefType, int > |
| Information about a ClefDef consisting of its clef type and octave transposition. For example, a treble clef for tenors (often shown with an 8 below the clef) would return (music_theory::ClefType::G, -1). | |
Public Types inherited from musx::dom::EnigmaBase | |
| 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 | |
| ClefOptions (const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All) | |
| Constructor. | |
| MusxInstance< ClefDef > | getClefDef (ClefIndex clefIndex) const |
| Bounds-checked accessor function for clefDefs. | |
Public Member Functions inherited from musx::dom::EnigmaBase | |
| 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< EnigmaBase > &ptrToThis) |
| Performs a final consistency check after population. | |
| virtual bool | requireAllFields () const |
| Returns true if all fields are required for valid input. | |
Public Member Functions inherited from musx::dom::DocumentElement | |
| virtual | ~DocumentElement () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getPartId () const |
| Gets the part id associated with this instance. | |
Static Public Member Functions | |
| static const xml::XmlElementArray< ClefOptions > & | xmlMappingArray () |
| Required for musx::factory::FieldPopulator. | |
Public Attributes | |
| ClefIndex | defaultClef {} |
Default clef identifier. An index into clefDefs. | |
| int | clefChangePercent {} |
Percentage adjustment for end-of-measure clef changes. 100 means no adjustment. (xml node is <endMeasClefPercent>) | |
| Evpu | clefChangeOffset {} |
Offset from next barline for end-of-measure clef changes. (xml node is <endMeasClefPosAdd>). | |
| Evpu | clefFrontSepar {} |
Spacing before clef. (xml node is <clefFront>) | |
| Evpu | clefBackSepar {} |
Spacing after clef. (xml node is <clefBack>) | |
| bool | showClefFirstSystemOnly {} |
| "Display Clef Only on First System" | |
| Evpu | clefKeySepar {} |
"Extra Space Between Clef and Key Signature" (xml node is <clefKey>) | |
| Evpu | clefTimeSepar {} |
"Extra Space Between Clef and Time Signature" (xml node is <clefTime>) | |
| bool | cautionaryClefChanges {} |
| "Display Courtesy Clef a End of Staff System" | |
| std::vector< MusxInstance< ClefDef > > | clefDefs |
| Vector of clef definitions (ClefDef). | |
Static Public Attributes | |
| static constexpr std::string_view | XmlNodeName = "clefOptions" |
| 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::EnigmaBase | |
| EnigmaBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| EnigmaBase (const EnigmaBase &)=default | |
| explicit default copy constructor | |
| EnigmaBase (EnigmaBase &&) noexcept=default | |
| explicit default move constructor | |
| EnigmaBase & | operator= (const EnigmaBase &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| EnigmaBase & | operator= (EnigmaBase &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Protected Member Functions inherited from musx::dom::DocumentElement | |
| DocumentElement (const DocumentWeakPtr &document, Cmper partId) | |
| Constructs the document element. | |
| DocumentElement (const DocumentElement &)=default | |
| explicit default copy constructor | |
| DocumentElement (DocumentElement &&) noexcept=default | |
| explicit default move constructor | |
| DocumentElement & | operator= (const DocumentElement &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| DocumentElement & | operator= (DocumentElement &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Options for configuring clefs in a musical context.
|
inlineexplicit |
Constructor.
| document | A weak pointer to the document object. |
| partId | Usually 0. This parameter is needed for the generic factory routine. |
| shareMode | Usually ShareMode::All. This parameter is needed for the generic factory routine. |
Constructs a ClefOptions object that is associated with the provided document.
|
inline |
Bounds-checked accessor function for clefDefs.
| clefIndex | The index to retrieve. |
| std::out_of_range | if index is out of range. |