Describes a fretted instrument (strings, frets, name, clef). It is used for both TAB notation and FretboardGroup instances.
More...
#include <Others.h>
|
|
| FretInstrument (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper) |
| | Constructor.
|
| |
| void | integrityCheck (const std::shared_ptr< EnigmaBase > &ptrToThis) override |
| | Performs a final consistency check after population.
|
| |
|
| OthersBase (const OthersBase &)=default |
| | explicit default copy constructor
|
| |
|
| OthersBase (OthersBase &&) noexcept=default |
| | explicit default move constructor
|
| |
| Cmper | getCmper () const |
| | Gets the cmper key value.
|
| |
| std::optional< Inci > | getInci () const |
| | Gets the optional array index (inci).
|
| |
|
Cmper | getRequestedPartId () const |
| | If this instance was retrieved from an object pool, it contains the part ID that was used to retrieve it. If this value is different than getSourcePartId, then this instance is a copy of the pool instance.
|
| |
| 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 bool | requireAllFields () const |
| | Returns true if all fields are required for valid input.
|
| |
|
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.
|
| |
|
|
int | numFrets {} |
| | Number of frets.
|
| |
|
int | numStrings {} |
| | Number of strings (max is 24)
|
| |
|
std::string | name |
| | Display name.
|
| |
|
std::vector< std::shared_ptr< StringInfo > > | strings |
| | One entry per string: strings.size() should equal numStrings.
|
| |
| std::vector< int > | fretSteps |
| |
|
ClefIndex | speedyClef {} |
| | The clef to use when entering notes for this instrument in Speedy Entry.
|
| |
|
|
static constexpr std::string_view | XmlNodeName = "fretInst" |
| | The XML node name for this type.
|
| |
|
| 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.
|
| |
| | OthersBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, std::optional< Inci > inci=std::nullopt) |
| | Constructs an OthersBase object.
|
| |
|
OthersBase & | operator= (const OthersBase &other) |
| | Assignment operator delegates to base, preserving OthersBase state.
|
| |
|
OthersBase & | operator= (OthersBase &&other) noexcept |
| | Assignment operator delegates to base, preserving OthersBase state.
|
| |
| | 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.
|
| |
| | 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.
|
| |
Describes a fretted instrument (strings, frets, name, clef). It is used for both TAB notation and FretboardGroup instances.
The cmper is an arbitrary unique number referenced by Staff, FretboardGroup, and options::ChordOptions.
This class is identified by the XML node name "fretInst".
◆ integrityCheck()
| void musx::dom::others::FretInstrument::integrityCheck |
( |
const std::shared_ptr< EnigmaBase > & |
ptrToThis | ) |
|
|
inlineoverridevirtual |
◆ fretSteps
| std::vector<int> musx::dom::others::FretInstrument::fretSteps |
Sequence of fret intervals (in half-steps) measured from the open string. If empty, all frets are treated as consecutive half-steps (chromatic). If shorter than numFrets, any unspecified frets default to one half-step above the previous value. (xml node is <diatonic>)