MUSX Document Model
|
Represents a repeat ending start marker in the document. More...
#include <Others.h>
Public Member Functions | |
RepeatEndingStart (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper) | |
Constructor function. | |
int | calcEndingLength () const |
Calculates the number of measures in the ending based on jumpAction. | |
bool | calcIsOpen () const |
Calculates if the ending is open or closed, based on a number of factors. | |
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. | |
![]() | |
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 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< RepeatEndingStart > & | xmlMappingArray () |
Required for musx::factory::FieldPopulator. | |
Public Attributes | |
Cmper | staffList {} |
If non-zero, specifies a staff list for which staves to show the ending. | |
int | targetValue {} |
Absolute or relative measure number, depending on jumpAction. (xml tag is <nextEnd> ) | |
Evpu | textHPos {} |
The horizontal position of the text relative to leftHPos. (xml tag is <textPos> ) | |
Evpu | leftHPos {} |
The horizontal position of the lower left bracket, relative to the default. (xml tag is <pos1> ) | |
Evpu | leftVPos {} |
The vertical position of the lower left bracket, relative to the default. (xml tag is <line1> ) | |
bool | individualPlacement {} |
"Allow Individual Edits Per Staff" (xml tag is <indivPlac> ) | |
bool | topStaffOnly {} |
"Show On: Top Staff Only" | |
RepeatActionType | jumpAction {} |
The jump action for this repeat ending. The automatic jump is to the next ending. (xml tag is <action> ) | |
RepeatTriggerType | trigger {} |
bool | jumpIfIgnoring {} |
"Skip Ending if Ignoring Repeats" (xml tag is <jmpIgnore> ) | |
Evpu | endLineVPos {} |
The vertical offset of the final bracket, relative to rightVPos or 0 if the ending is open. (xml tag is <endLine> ) | |
Evpu | textVPos {} |
The vertical position of the text relative to leftVPos. (xml tag is <textLine> ) | |
Evpu | rightHPos {} |
The horizontal position of the upper right bracket, relative to the default. (xml tag is <pos2> ) | |
Evpu | rightVPos {} |
The vertical position of the upper right bracket, relative to the default. (xml tag is <line2> ) | |
Static Public Attributes | |
static constexpr std::string_view | XmlNodeName = "repeatEndingStart" |
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 | |
Represents a repeat ending start marker in the document.
The cmper is the cmper of the Measure that has this item.
This class is identified by the XML node name "repeatEndingStart".
bool musx::dom::others::RepeatEndingStart::calcIsOpen | ( | ) | const |
Calculates if the ending is open or closed, based on a number of factors.
Openness is a visual feature. If true, it means that the ending bracket has a downward stroke on the right.
|
inlinevirtual |
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.
The default implementation should always be called inside an overridden implementation.
musx::dom::integrity_error | if there is a problem. |
Reimplemented from musx::dom::Base.
RepeatTriggerType musx::dom::others::RepeatEndingStart::trigger {} |
The condition that triggers the jumpAction. For RepeatEndingStart
this value is always OnPass
, and it seems to mean that it jumps when the current pass exceeds the final ending number.