|
MNX Document Model
|
Represents a single global measure instance within an MNX document. More...
#include <Global.h>
Inheritance diagram for mnx::global::Measure:Public Member Functions | |
| MNX_OPTIONAL_CHILD (Barline, barline,(BarlineType, barlineType)) | |
| optional barline for this measure | |
| MNX_OPTIONAL_CHILD (Ending, ending,(int, duration)) | |
| optional ending ("volta bracket") for this measure | |
| MNX_OPTIONAL_CHILD (Fine, fine,(const FractionValue &, position)) | |
| optional fine direction for this measure | |
| MNX_OPTIONAL_CHILD (Jump, jump,(JumpType, jumpType),(const FractionValue &, position)) | |
| optional jump direction for this measure | |
| MNX_OPTIONAL_CHILD (KeySignature, key,(int, fifths)) | |
| optional key signature/key change for this measure | |
| MNX_OPTIONAL_PROPERTY (int, number) | |
| MNX_OPTIONAL_CHILD (RepeatEnd, repeatEnd) | |
| if present, indicates that there is backwards repeat | |
| MNX_OPTIONAL_CHILD (RepeatStart, repeatStart) | |
| if present, indicates that a repeated section starts here | |
| MNX_OPTIONAL_CHILD (Segno, segno,(const FractionValue &, position)) | |
| if present, indicates that a segno marker is here | |
| MNX_OPTIONAL_CHILD (Array< Tempo >, tempos) | |
| the tempo changes within the measure, if any | |
| MNX_OPTIONAL_CHILD (TimeSignature, time,(int, count),(TimeSignatureUnit, unit)) | |
| if present, indicates a meter change | |
| BarlineType | calcBarlineType () const |
| Calculates the barline type for this measure. | |
| int | calcVisibleNumber () const |
| Calculates the visible measure number for this measure. | |
| std::optional< TimeSignature > | calcCurrentTime () const |
| Calculates the current time signature by searching backwards. | |
| std::optional< KeySignature > | calcCurrentKey () const |
| Calculates the current key signature by searching backwards. | |
| KeySignature::Required | calcCurrentKeyFields () const |
| Get the fields of the current key signature. | |
Public Member Functions inherited from mnx::ArrayElementObject | |
| size_t | calcArrayIndex () const |
| Calculates the array index of the current instance within the array. | |
| template<typename ContainerType > | |
| ContainerType | container () const |
| Returns the object that owns the content array this element belongs to wrapped as the specified template type. | |
| Object (const std::shared_ptr< json > &root, json_pointer pointer) | |
| Wraps an Object class around an existing JSON object node. | |
| Object (Base &parent, std::string_view key) | |
| Creates a new Object class as a child of a JSON node. | |
Public Member Functions inherited from mnx::Object | |
| Object (const std::shared_ptr< json > &root, json_pointer pointer) | |
| Wraps an Object class around an existing JSON object node. | |
| Object (Base &parent, std::string_view key) | |
| Creates a new Object class as a child of a JSON node. | |
| MNX_OPTIONAL_PROPERTY (std::string, _c) | |
| An optional comment. This serves a similar function as XML or HTML comments. | |
| MNX_OPTIONAL_CHILD (Object, _x) | |
| Vendor-defined dictionary. | |
| MNX_OPTIONAL_PROPERTY (std::string, id) | |
| Uniquely identifies the object. | |
| void | setExtension (const std::string &key, const json &value) |
Sets a vendor extension value in _x, creating _x when needed. | |
| std::optional< json > | getExtension (const std::string &key) const |
Gets a vendor extension value from _x. | |
Public Member Functions inherited from mnx::Base | |
| Base (const Base &src) | |
| Copy constructor. | |
| Base (Base &&src) noexcept | |
| Move constructor. | |
| Base & | operator= (const Base &src) |
| Copy assignment operator. | |
| Base & | operator= (Base &&src) |
| Move assignment operator. | |
| std::string | dump (int indents=-1) const |
| Dumps the branch to a string. Useful in debugging. | |
| template<typename T > | |
| T | parent () const |
| Returns the parent object for this node. | |
| template<typename T , typename Scope = scope::Default> | |
| std::optional< T > | getEnclosingElement () const |
| Returns the enclosing array element for this instance. If T is a type that can be nested (e.g. ContentObject), the highest level instance is returned. (To get the lowest level immediate container, use ContentObject::container.) | |
| json_pointer | pointer () const |
| Returns the json_pointer for this node. | |
| Document | document () const |
| Returns the document root. | |
Static Public Attributes | |
| static constexpr std::string_view | JsonSchemaTypeName = "measure-global" |
| required for mapping | |
Additional Inherited Members | |
Protected Member Functions inherited from mnx::Base | |
| json & | ref () const |
| Convert this node for retrieval. | |
| json & | ref () |
| Access the JSON node for modification. | |
| const std::shared_ptr< json > & | root () const |
| Returns the root. | |
| Base (const std::shared_ptr< json > &root, json_pointer pointer) | |
| Wrap a Base instance around a specific JSON reference using a json_pointer. | |
| Base (json &&jsonRef, Base &parent, std::string_view key) | |
| Construct a Base reference as a child inside a parent node. | |
| template<typename T > | |
| T | getChild (std::string_view key) const |
| Retrieves and validates a required child node. | |
| template<typename T > | |
| T | setChild (std::string_view key, const T &value) |
| Sets a child node. | |
| template<typename T > | |
| std::optional< T > | getOptionalChild (std::string_view key) const |
| Retrieves an optional child node. | |
Represents a single global measure instance within an MNX document.
| BarlineType mnx::global::Measure::calcBarlineType | ( | ) | const |
Calculates the barline type for this measure.
| std::optional< KeySignature > mnx::global::Measure::calcCurrentKey | ( | ) | const |
Calculates the current key signature by searching backwards.
| KeySignature::Required mnx::global::Measure::calcCurrentKeyFields | ( | ) | const |
Get the fields of the current key signature.
| std::optional< TimeSignature > mnx::global::Measure::calcCurrentTime | ( | ) | const |
Calculates the current time signature by searching backwards.
| int mnx::global::Measure::calcVisibleNumber | ( | ) | const |
Calculates the visible measure number for this measure.
| mnx::global::Measure::MNX_OPTIONAL_PROPERTY | ( | int | , |
| number | |||
| ) |
visible measure number. Use calcVisibleNumber to get the correct value, as defined in the MNX specification, since it may be omitted here.