MUSX Document Model
|
An array of InstrumentUsed defines a set of staves in a staff system or in Scroll View. More...
#include <Others.h>
Public Member Functions | |
InstrumentUsed (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, Inci inci) | |
Constructor function. | |
std::shared_ptr< Staff > | getStaff () const |
Returns the Staff instance for this element. | |
![]() | |
Cmper | getCmper () const |
Gets the cmper 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. | |
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 std::shared_ptr< Staff > | getStaffAtIndex (const std::vector< std::shared_ptr< InstrumentUsed > > &iuArray, Cmper index) |
Returns the Staff instance at a specified index of iuArray or nullptr if not found. | |
static std::optional< size_t > | getIndexForStaff (const std::vector< std::shared_ptr< InstrumentUsed > > &iuArray, InstCmper staffId) |
Returns the 0-based index of the InstCmper or std::nullopt if not found. | |
static const xml::XmlElementArray< InstrumentUsed > & | xmlMappingArray () |
Required for musx::factory::FieldPopulator. | |
Public Attributes | |
InstCmper | staffId {} |
Staff cmper (xml node is <inst> ) | |
Evpu | distFromTop {} |
Distance from the top of the system (negative is down) | |
std::shared_ptr< MusicRange > | range |
The music range. (Late versions of Finale may always include the entire piece here.) | |
Static Public Attributes | |
static constexpr std::string_view | XmlNodeName = "instUsed" |
The XML node name for this type. | |
Additional Inherited Members | |
![]() | |
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. | |
![]() | |
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 | |
An array of InstrumentUsed defines a set of staves in a staff system or in Scroll View.
This class is identified by the XML node name "instUsed".
|
static |
Returns the 0-based index of the InstCmper or std::nullopt if not found.
iuArray | And array of InstrumentUsed instances, representing a staff system or staff view (e.g., Scroll View) |
staffId | The Staff cmper value to find. |
|
static |
Returns the Staff instance at a specified index of iuArray or nullptr if not found.
iuArray | And array of InstrumentUsed instances, representing a staff system or staff view (e.g., Scroll View) |
index | The 0-based index to find. |