MUSX Document Model
|
Represents chord symbol assignment for a staff and measure. More...
#include <Details.h>
Public Types | |
enum class | BassPosition { AfterRoot , UnderRoot , Subtext } |
Bass position options. | |
![]() | |
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 | |
ChordAssign (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper inst, Cmper meas, Inci inci) | |
Constructor. | |
![]() | |
Cmper | getCmper1 () const |
Gets the cmper1 key value. | |
Cmper | getCmper2 () const |
Gets the cmper2 key value. | |
std::optional< Inci > | getInci () const |
Gets the optional array index (inci ). | |
![]() | |
virtual | ~Base () noexcept(false)=default |
Virtual destructor for polymorphic behavior. | |
DocumentPtr | getDocument () const |
Gets a reference to the Document. | |
virtual Cmper | getPartId () const |
Gets the partId for this instance (or SCORE_PARTID for score) | |
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< ChordAssign > & | xmlMappingArray () |
Required for musx::factory::FieldPopulator. | |
Public Attributes | |
Cmper | suffixId {} |
<suffix> : Chord suffix ID | |
Cmper | fbStyleId {} |
<fbStyleID> : Fretboard style ID | |
int | rootScaleNum {} |
<rootScaleNum> : Root scale degree (0–76) | |
int | rootAlter {} |
<rootAlter> : Root alteration | |
bool | rootLowerCase {} |
<rootLowerCase/> : Display root in lowercase | |
bool | playSuffix {} |
<playSuffix/> : Playback suffix | |
bool | showRoot {} |
<showRoot/> : Show root | |
bool | playRoot {} |
<playRoot/> : Playback root | |
bool | showFretboard {} |
<showFretboard/> : Show fretboard | |
bool | showSuffix {} |
<showSuffix/> : Show suffix | |
bool | playFretboard {} |
<playFretboard/> : Playback fretboard | |
int | bassScaleNum {} |
<bassScaleNum> : Bass scale degree (0-6) | |
int | bassAlter {} |
<bassAlter> : Bass alteration | |
bool | bassLowerCase {} |
<bassLowerCase/> : Display bass in lowercase | |
BassPosition | bassPosition {} |
<bassPosition> : Position of bass relative to root | |
bool | showAltBass {} |
<showAltBass/> : Show alternate bass | |
bool | playAltBass {} |
<playAltBass/> : Playback alternate bass | |
int | capoValue {} |
<capoValue> : Capo value (if useLocalCapo is true) | |
bool | useLocalCapo {} |
<useLocalCapo/> : Use local capo | |
Cmper | fretInci {} |
One less than the 1-based Cmper value for the fretboard group. (Meaningless if useFretFont is true.) | |
bool | useFretFont {} |
<useFretFont/> : Use fret font | |
Evpu | horzOff {} |
<horzOff> : Horizontal offset of chord (in EVPU) | |
Evpu | vertOff {} |
<vertOff> : Vertical offset of chord (in EVPU) | |
Evpu | fbHorzOff {} |
<fbHorzOff> : Horizontal offset of fretboard (in EVPU) | |
Evpu | fbVertOff {} |
<fbVertOff> : Vertical offset of fretboard (in EVPU) | |
Edu | horzEdu {} |
<horzEdu> : Edu position in measure | |
int | chPercent {} |
<chPercent> : Chord percent scaling (100 is 100%) | |
int | fbPercent {} |
<fbPercent> : Fretboard percent scaling (100 is 100%) | |
Static Public Attributes | |
static constexpr std::string_view | XmlNodeName = "chordAssign" |
The XML node name for this type. | |
Additional Inherited Members | |
![]() | |
DetailsBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper1, Cmper cmper2, std::optional< Inci > inci=std::nullopt) | |
Constructs a DetailsBase object. | |
![]() | |
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. | |
Represents chord symbol assignment for a staff and measure.
Cmper1 is the staff (inst) Cmper and Cmper2 is the measure Cmper. This class is identified by the XML node name "chordAssign".
|
inlineexplicit |
Constructor.
document | A weak pointer to the associated document. |
partId | The part that this is for (probably always 0). |
shareMode | The sharing mode for this ChordAssign (probably always ShareMode::All). |
inst | The staff ID for this ChordAssign. |
meas | The measure ID for this ChordAssign. |
inci | The 0-based incident. |