MUSX Document Model
|
The DOM (document object model) for musx files. More...
Namespaces | |
namespace | details |
Classes in the DetailsPool. | |
namespace | header |
Document header classes are in this namespace. | |
namespace | options |
Classes in the OptionsPool. | |
namespace | others |
Classes in the OthersPool. | |
namespace | texts |
Classes in the TextsPool. | |
Classes | |
class | Base |
Base class to enforce polymorphism across all DOM classes. More... | |
class | CommonClassBase |
Base class for classes that are commonly used among others, details, entries, and/or texts. They can be constructed in atypical contexts, so their Part and Sharing info is not meaningful. More... | |
class | DetailsBase |
Base class for all "details" types. More... | |
class | DetailsPool |
A pool that manages collections of DetailsBase objects, organized by XML node names and Cmper values. More... | |
class | Document |
Represents a document object that encapsulates the entire EnigmaXML structure. More... | |
class | Entry |
Represents an entry containing metadata and notes. More... | |
class | EntryDetailsBase |
Base class for all "details" types that use entnum rather than cmper and cmper . More... | |
class | EntryFrame |
Represents a vector of EntryInfo instances for a given frame, along with computed information. More... | |
class | EntryInfo |
Information an entry along with the entry. More... | |
class | EntryInfoPtr |
Wraps a frame of shared_ptr<const EntryInfo> and an index for per entry access. This class manages ownership of the frame so that any instance of it keeps the frame alive without the need for circular references. More... | |
class | EntryPool |
Entry pool. More... | |
struct | FontInfo |
Represents the default font settings for a particular element type. More... | |
class | integrity_error |
Exception for integrity errors. (Used when MUSX_THROW_ON_INTEGRITY_CHECK_FAIL is defined.) More... | |
class | KeySignature |
Shared key signature class that is contained in other classes. (See others::Measure) More... | |
class | LyricsSyllableInfo |
Contains the syllable information for a single syllable. (See texts::LyricsTextBase) More... | |
class | Note |
Represents a single note element in an entry. More... | |
class | NoteDetailsBase |
Base class note details. Note details are entry details associated with a note ID. More... | |
class | NoteInfoPtr |
Wraps an EntryInfo instance and a note index. More... | |
class | ObjectPool |
A pool that manages collections of OthersBase objects, organized by XML node names and Cmper values. More... | |
class | OptionsBase |
Base class for all "options" types. More... | |
class | OptionsPool |
A pool that manages collections of OptionsBase objects that have no Cmper value. More... | |
class | OthersArray |
Template pattern for OthersBase items consisting of an array of a single item. More... | |
class | OthersBase |
Base class for all "others" types. More... | |
class | OthersPool |
A pool that manages collections of OthersBase objects. More... | |
class | TextsBase |
Base class for all text blocks. More... | |
class | TextsPool |
Text pool. More... | |
class | TimeSignature |
Shared time signature class that is derived from other classes. (See others::Measure) More... | |
Typedefs | |
using | DocumentPtr = std::shared_ptr< Document > |
Shared Document pointer. | |
using | DocumentWeakPtr = std::weak_ptr< Document > |
Shared weak Document pointer. | |
using | Cmper = uint16_t |
Enigma "comperator" key type. | |
using | Inci = int16_t |
Enigma "incident" key type. | |
using | Evpu = int32_t |
EVPU value (288 per inch) | |
using | EvpuFloat = double |
EVPU fractional value (288.0 per inch) | |
using | Evpu16ths = int32_t |
1/16 of an EVPU. | |
using | Efix = int32_t |
EFIX value (64 per EVPU, 64*288=18432 per inch) | |
using | Edu = int32_t |
"Enigma Durational Units" value (1024 per quarter note) | |
using | EduFloat = double |
"Enigma Durational Units" floating point value (1024.0 per quarter note) | |
using | MeasCmper = int16_t |
Enigma meas Cmper (may be negative when not applicable) | |
using | InstCmper = int16_t |
Enigma staff (inst) Cmper (may be negative when not applicable) | |
using | SystemCmper = int16_t |
Enigma systems Cmper (may be negative when not applicable) | |
using | ClefIndex = uint16_t |
Index into options::ClefOptions::clefDefs. | |
using | EntryNumber = int32_t |
Entry identifier. | |
using | NoteNumber = uint16_t |
Note identifier. | |
using | LayerIndex = unsigned int |
Layer index (valid values are 0..3) | |
using | BeamNumber = unsigned int |
A number where 1 corresponds to the primary (8th note) beam, 2 the 16th beam, 3 the 32nd beam, etc. | |
using | OptionsPoolPtr = std::shared_ptr< OptionsPool > |
Shared OptionsPool pointer. | |
using | OthersPoolPtr = std::shared_ptr< OthersPool > |
Shared OthersPool pointer. | |
using | DetailsPoolPtr = std::shared_ptr< DetailsPool > |
Shared DetailsPool pointer. | |
using | EntryPoolPtr = std::shared_ptr< EntryPool > |
Shared EntryPool pointer. | |
using | TextsPoolPtr = std::shared_ptr< TextsPool > |
Shared OthersPool pointer. | |
Enumerations | |
enum class | NoteType : Edu { Maxima = 0x8000 , Longa = 0x4000 , Breve = 0x2000 , Whole = 0x1000 , Half = 0x0800 , Quarter = 0x0400 , Eighth = 0x0200 , Note16th = 0x0100 , Note32nd = 0x0080 , Note64th = 0x0040 , Note128th = 0x0020 , Note256th = 0x0010 , Note512th = 0x0008 , Note1024th = 0x0004 , Note2048th = 0x0002 , Note4096th = 0x0001 } |
Enum class representing note types based on EDU values. More... | |
enum class | ShowClefMode { WhenNeeded , Never , Always } |
Enum representing the clef display mode for a frame. More... | |
Functions | |
std::pair< NoteType, unsigned > | calcNoteInfoFromEdu (Edu duration) |
Calculates the NoteType and number of dots in an Edu value. | |
unsigned | calcNumberOfBeamsInEdu (Edu duration) |
Calculates the number of beams or flags in the Edu value. | |
Variables | |
constexpr Cmper | MUSX_GLOBALS_CMPER = 65534 |
The prefs cmper for global variables (used sparingly since Finale 26.2) | |
constexpr int | MAX_LAYERS = 4 |
The maximum number of music layers in a Finale document. | |
constexpr Cmper | SCORE_PARTID = 0 |
The part id of the score. | |
constexpr Cmper | BASE_SYSTEM_ID = 0 |
The base system cmper that gives a list of all available staves and their score order (others::InstrumentUsed cmper) | |
The DOM (document object model) for musx files.
classes representing the musx document
|
strong |
Enum class representing note types based on EDU values.
The values are expressed in hexadecimal.
|
strong |
Calculates the NoteType and number of dots in an Edu value.
duration | The Edu duration to check. |
std::invalid_argument | if the duration is out of valid range (> 1 and < 0x10000). |