Skip to content

GuitarPrometheus::MusicModels

GuitarPrometheus::MusicModels

Classes

Name
structGuitarPrometheus::MusicModels::Duration
A note’s engraved duration: the symbol (NoteValue), how many augmentation dots, and the tuplet ratio if any.
classGuitarPrometheus::MusicModels::KeySignature
A key signature in 12-tone equal temperament.
structGuitarPrometheus::MusicModels::TimeSignature
Time signature as engraved (e.g., 4/4, 6/8, 7/16).

Types

Name
enumMode { Ionian = 0, Dorian = 1, Phrygian = 2, Lydian = 3, Mixolydian = 4, Aeolian = 5, Locrian = 6, NUM_MODES = 7}
The seven diatonic modes in order of their position in the major scale rotation.
enumPitchClass { C = 0, D = 1, E = 2, F = 3, G = 4, A = 5, B = 6, NUM_PITCH_CLASSES = 7}
The seven natural pitch classes.
enum classAccidental { None = -99, DoubleFlat = -2, Flat = -1, Natural = 0, Sharp = 1, DoubleSharp = 2}
Accidental applied to a pitch.
enum classDynamic { None = -1, Pianississimo, Pianissimo, Piano, MezzoPiano, MezzoForte, Forte, Fortissimo, Fortississimo, Sforzando, FortePiano}
Dynamic marking controlling relative playback loudness.
enumNoteValue { DoubleWhole = 0, Whole = 1, Half = 2, Quarter = 3, Eighth = 4, Sixteenth = 5, ThirtySecond = 6, SixtyFourth = 7, OneTwentyEighth = 8, NUM_NOTE_VALUES = 9}
Engraved note duration symbol.

Functions

Name
intdefaultVelocityFor(Dynamic d)
Default MIDI velocity (0..127) for a dynamic marking.

Types Documentation

enum Mode

EnumeratorValueDescription
Ionian0
Dorian1
Phrygian2
Lydian3
Mixolydian4
Aeolian5
Locrian6
NUM_MODES7

The seven diatonic modes in order of their position in the major scale rotation.

Ionian is major; Aeolian is natural minor.

enum PitchClass

EnumeratorValueDescription
C0
D1
E2
F3
G4
A5
B6
NUM_PITCH_CLASSES7

The seven natural pitch classes.

Ordered C..B (musical, not alphabetical) so MIDI-number arithmetic in Engraving::getMidiNoteNumber reads naturally.

enum Accidental

EnumeratorValueDescription
None-99
DoubleFlat-2
Flat-1
Natural0
Sharp1
DoubleSharp2

Accidental applied to a pitch.

None is a sentinel meaning “inherit from the active key signature” — used on Engraving notes whose XML omits an explicit <alter>. Values for the real accidentals are the semitone delta from natural.

enum class here (rather than plain enum) because the values are signed and non-contiguous; the count-trick used by the other enums in this file does not work, and type-safety matters more.

enum Dynamic

EnumeratorValueDescription
None-1
Pianississimo
Pianissimo
Piano
MezzoPiano
MezzoForte
Forte
Fortissimo
Fortississimo
Sforzando
FortePiano

Dynamic marking controlling relative playback loudness.

None is a sentinel meaning “no change at this point; inherit the prior effective dynamic”. Maps to MIDI velocity via defaultVelocityFor (overridable per-VST-profile in Phase 4).

enum NoteValue

EnumeratorValueDescription
DoubleWhole0
Whole1
Half2
Quarter3
Eighth4
Sixteenth5
ThirtySecond6
SixtyFourth7
OneTwentyEighth8
NUM_NOTE_VALUES9

Engraved note duration symbol.

Maps to MusicXML’s <type> element. Combined with dot count and tuplet ratio in [Duration](/api-reference/classes/structguitarprometheus_1_1musicmodels_1_1duration/) to compute actual ticks.

Functions Documentation

function defaultVelocityFor

int defaultVelocityFor(
Dynamic d
)

Default MIDI velocity (0..127) for a dynamic marking.

Users can override via the VST-profile velocity map in Phase 4; this function is the bundled default. Dynamic::None returns the MezzoForte value (64).


Updated on 2026-05-29 at 07:39:52 +0000