MNX Document Model
|
object model for MNX format More...
Namespaces | |
namespace | global |
classes related to the root global object | |
namespace | layout |
classes related to the root layouts array | |
namespace | part |
classes related to the root parts array | |
namespace | score |
classes related to the root scores array | |
namespace | sequence |
classes related to sequences in the part measure | |
namespace | validation |
provides schema- and semantic-level validation functions for MNX documents | |
Classes | |
class | Array |
Represents an MNX array, encapsulating property access. More... | |
class | ArrayElementObject |
Represents an MNX object that is included as an array element. More... | |
class | Base |
Base class wrapper for all MNX JSON nodes. More... | |
class | ContentArray |
Class for content arrays. More... | |
class | ContentObject |
Base class for objects that are elements of content arrays. More... | |
class | Dictionary |
Represents an MNX dictionary, where each key is a user-defined string. More... | |
class | Document |
Represents an MNX document and provides methods for loading and saving. More... | |
class | EnumStringMapping |
Supplies enum string mappings to nlohmann json's serializer. More... | |
class | Fraction |
Represents a fraction of a whole note, for measuring musical time. More... | |
class | Global |
Represents the global section of an MNX document, containing global measures. More... | |
class | KeySignature |
Represents a key signature. More... | |
class | Layout |
Represents the element of the layout array in an MNX document. More... | |
class | MeasureRhythmicPosition |
Represents a system on a page in a score. More... | |
class | MnxMetaData |
Represents metadata for an MNX document. More... | |
class | NoteValue |
Represents a symbolic note value (not necessarily a duration) More... | |
class | NoteValueQuantity |
Represents a quantity of symbolic note values=. More... | |
class | Object |
Represents an MNX object, encapsulating property access. More... | |
class | Part |
Represents a single part in an MNX document. More... | |
class | RhythmicPosition |
Represents a system on a page in a score. More... | |
class | Score |
Represents an element in the scores section of an MNX document. More... | |
class | Sequence |
A sequence of events and other items in this measure for a voice in a part. More... | |
class | SimpleType |
Allows access to a fundamental type (number, boolean, string) in a JSON node. More... | |
class | TimeSignature |
Represents the tempo for a global measure. More... | |
Typedefs | |
using | json = nlohmann::ordered_json |
JSON class for MNX. | |
using | json_pointer = json::json_pointer |
JSON pointer class for MNX. | |
using | ErrorHandler = std::function< void(const std::string &message, const Base &location)> |
Error handler type for reporting errors. | |
Enumerations | |
enum class | AccidentalEnclosureSymbol { Brackets , Parenthesis } |
The types of accidental enclosure symbols. More... | |
enum class | AutoYesNo { Auto , Yes , No } |
3-state choice enum | |
enum class | BarlineType { Regular , Dashed , Dotted , Double , Final , Heavy , HeavyHeavy , HeavyLight , NoBarline , Short , Tick } |
The types of barlines supported. More... | |
enum class | BeamHookDirection { Auto , Left , Right } |
The types of jumps. More... | |
enum class | BreathMarkSymbol { Comma , Tick , Upbow , Salzedo } |
The symbols available for a breath mark. More... | |
enum class | ClefSign { CClef , FClef , GClef } |
The values available in a clef sign object. More... | |
enum class | JumpType { DsAlFine , Segno } |
The types of jumps. More... | |
enum class | LabelRef { Name , ShortName } |
The values available in a labelref. More... | |
enum class | LayoutSymbol { NoSymbol , Brace , Bracket } |
The symbols available to bracket a staff group. More... | |
enum class | LineType { Solid , Dashed , Dotted , Wavy } |
Specifies the visual style of a line in (specifically) slurs. More... | |
enum class | LyricLineType { End , Middle , Start , Whole } |
The symbols available to bracket a staff group. More... | |
enum class | MarkingUpDown { Down , Up } |
The values available in an event marking "pointing" property. More... | |
enum class | NoteStep : int { C = 0 , D = 1 , E = 2 , F = 3 , G = 4 , A = 5 , B = 6 } |
The diatonic note step values. More... | |
enum class | NoteValueBase { Note4096th , Note2048th , Note1024th , Note512th , Note256th , Note128th , Note64th , Note32nd , Note16th , Eighth , Quarter , Half , Whole , Breve , Longa , Maxima , DuplexMaxima } |
The note values allowed in MNX. | |
enum class | OttavaAmount : int { OctaveDown = -1 , TwoOctavesDown = -2 , ThreeOctavesDown = -3 , OctaveUp = 1 , TwoOctavesUp = 2 , ThreeOctavesUp = 3 } |
Valid values for ottava amount. More... | |
enum class | OttavaAmountOrZero : int { NoTransposition = 0 , ThreeOctavesDown = -3 , TwoOctavesDown = -2 , OctaveDown = -1 , OctaveUp = 1 , TwoOctavesUp = 2 , ThreeOctavesUp = 3 } |
Valid values for octave displacment amount, including zero for no transposition. More... | |
enum class | SlurTieEndLocation { Outgoing , Incoming } |
Specifies the location of the end of a slur or tie, if it doesn't have a target. | |
enum class | SlurTieSide { Down , Up } |
Specifies the direction of a slur or tie. More... | |
enum class | StemDirection { Down , Up } |
The values available in a labelref. More... | |
enum class | TimeSignatureUnit : int { Whole = 1 , Half = 2 , Quarter = 4 , Eighth = 8 , Value16th = 16 , Value32nd = 32 , Value64th = 64 , Value128th = 128 } |
Valid units for the lower numbers of time signatures. | |
enum class | TupletDisplaySetting { Inner , NoNumber , Both } |
Controls display of a tuplet's number or note value. | |
Variables | |
constexpr int | MNX_VERSION = 1 |
The MNX version for files generated by the DOM. | |
object model for MNX format
|
strong |
|
strong |
The types of barlines supported.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
The diatonic note step values.
These are maintained in order from [C..B] == [0..6] to allow correct math on them.
|
strong |
|
strong |
Valid values for octave displacment amount, including zero for no transposition.
These values represent transposition intervals in octaves. Negative values indicate downward transposition, positive values indicate upward transposition, and zero indicates no transposition. This type may be used for clefs or other elements where octave displacement is relevant.
|
strong |
|
strong |