25#include "Enumerations.h"
49 using EventMarkingBase::EventMarkingBase;
69 set_direction(direction);
85 set_direction(direction);
89 operator Required()
const {
return { direction() }; }
104 using EventMarkingBase::EventMarkingBase;
116 using EventMarkingBase::EventMarkingBase;
126 using EventMarkingBase::EventMarkingBase;
136 using EventMarkingBase::EventMarkingBase;
146 using EventMarkingBase::EventMarkingBase;
156 using EventMarkingBase::EventMarkingBase;
166 using EventMarkingBase::EventMarkingBase;
179 using EventMarkingBase::EventMarkingBase;
234 using EventMarkingBase::EventMarkingBase;
Base class wrapper for all MNX JSON nodes.
Definition BaseTypes.h:198
json_pointer pointer() const
Returns the json_pointer for this node.
Definition BaseTypes.h:260
T parent() const
Returns the parent object for this node.
Definition BaseTypes.h:246
const std::shared_ptr< json > & root() const
Returns the root.
Definition BaseTypes.h:283
Represents an MNX object, encapsulating property access.
Definition BaseTypes.h:415
Object()
Constructor fresh document or detached instance.
Definition BaseTypes.h:418
Class that represents an accent marking on an event.
Definition EventMarkings.h:47
Class that represents down- or up-bow marking.
Definition EventMarkings.h:57
BowDirection(const std::shared_ptr< json > &root, json_pointer pointer)
Constructor for existing BowDirection objects.
Definition EventMarkings.h:73
BowDirection(MarkingUpDown direction)
Constructor for detatched instance.
Definition EventMarkings.h:67
MNX_REQUIRED_PROPERTY(MarkingUpDown, direction)
whether it is a down bow or up bow
static Required make(MarkingUpDown direction)
Create a Required instance for BowDirection.
Definition EventMarkings.h:92
BowDirection(Base &parent, std::string_view key, MarkingUpDown direction)
Creates a new BowDirection class as a child of a JSON element.
Definition EventMarkings.h:82
Class that represents a spiccato marking on an event.
Definition EventMarkings.h:102
MNX_OPTIONAL_PROPERTY(BreathMarkSymbol, symbol)
The symbol for the breath mark.
Base class for event markings.
Definition EventMarkings.h:35
MNX_OPTIONAL_PROPERTY_WITH_DEFAULT(Orientation, orient, Orientation::Auto)
Whether the marking is above or below its associated event.
Container for any markings on an event.
Definition EventMarkings.h:242
MNX_OPTIONAL_CHILD(StrongAccent, strongAccent)
A strong accent mark.
MNX_OPTIONAL_CHILD(Tenuto, tenuto)
A stress mark.
MNX_OPTIONAL_CHILD(Spiccato, spiccato)
A spiccato mark.
MNX_OPTIONAL_CHILD(Accent, accent)
An accent mark.
MNX_OPTIONAL_CHILD(Stress, stress)
A stress mark.
MNX_OPTIONAL_CHILD(SoftAccent, softAccent)
A soft accent mark.
MNX_OPTIONAL_CHILD(Staccatissimo, staccatissimo)
A staccatissimo mark.
MNX_OPTIONAL_CHILD(BowDirection, bowDirection,(MarkingUpDown, direction))
A bow direction mark.
MNX_OPTIONAL_CHILD(Unstress, unstress)
A stress mark.
MNX_OPTIONAL_CHILD(BreathMark, breath)
A breath mark.
MNX_OPTIONAL_CHILD(SingleNoteTremolo, tremolo,(unsigned, marks))
A single-note tremolo mark.
MNX_OPTIONAL_CHILD(Staccato, staccato)
A staccato mark.
Class that represents single-note tremolo marking on an event.
Definition EventMarkings.h:187
static Required make(unsigned marks)
Create a Required instance for SingleNoteTremolo.
Definition EventMarkings.h:222
SingleNoteTremolo(Base &parent, std::string_view key, unsigned marks)
Creates a new SingleNoteTremolo class as a child of a JSON element.
Definition EventMarkings.h:212
MNX_REQUIRED_PROPERTY(unsigned, marks)
the number of marks (a value from 0..8, inclusive)
SingleNoteTremolo(const std::shared_ptr< json > &root, json_pointer pointer)
Constructor for existing SingleNoteTremolo objects.
Definition EventMarkings.h:196
SingleNoteTremolo(unsigned marks)
Constructor for detached instance.
Definition EventMarkings.h:203
Class that represents a soft accent marking on an event.
Definition EventMarkings.h:114
Class that represents a spiccato marking on an event.
Definition EventMarkings.h:124
Class that represents a staccatissimo marking on an event.
Definition EventMarkings.h:134
Class that represents a staccato marking on an event.
Definition EventMarkings.h:144
Class that represents a stress marking on an event.
Definition EventMarkings.h:154
Class that represents a strong accent marking on an event.
Definition EventMarkings.h:164
MNX_OPTIONAL_PROPERTY_WITH_DEFAULT(MarkingUpDownAuto, pointing, MarkingUpDownAuto::Auto)
Class that represents a tenuto marking on an event.
Definition EventMarkings.h:177
Class that represents an unstress marking on an event.
Definition EventMarkings.h:232
object model for MNX format
MarkingUpDownAuto
Specifies up or down or auto for a marking symbol.
Definition Enumerations.h:232
@ Auto
determined by consuming property
json::json_pointer json_pointer
JSON pointer class for MNX.
Definition BaseTypes.h:68
BreathMarkSymbol
The symbols available for a breath mark.
Definition Enumerations.h:82
MarkingUpDown
Specifies up or down for a marking symbol.
Definition Enumerations.h:222
Orientation
Specifies the vertical visual orientation of a glyph with respect to its corresponding notation.
Definition Enumerations.h:285
@ Auto
the default value determined by implementation
initializer class for BowDirection
Definition EventMarkings.h:61
MarkingUpDown direction
whether it is a down-bow or up-bow marking
Definition EventMarkings.h:62
initializer class for SingleNoteTremolo
Definition EventMarkings.h:191
unsigned marks
the number of marks
Definition EventMarkings.h:192