Skip to content

GuitarPrometheus::Parser::IntermediateScore

GuitarPrometheus::Parser::IntermediateScore

Parser-internal representation of the whole score immediately before [ScoreBuilder::build]() finalises it. More…

#include <IntermediateScore.h>

Public Attributes

Name
intdivisions
Ticks per quarter-note.
MusicModels::TimeSignatureinitialTimeSignature
MusicModels::KeySignatureinitialKeySignature
std::map< SongStructure::Score::TempoChangeKey, int >tempoChanges
Sparse score-wide tempo timeline keyed by (measureNumber, tickWithinMeasure).
intfallbackTempoBpm
Fallback tempo when tempoChanges is empty — used to seed initialTempoBpm and currentScoreTempoBpm in that degenerate case.
std::vector< IntermediatePart >parts

Detailed Description

struct GuitarPrometheus::Parser::IntermediateScore;

Parser-internal representation of the whole score immediately before [ScoreBuilder::build]() finalises it.

Carries the same data as [SongStructure::Score](/api-reference/classes/classguitarprometheus_1_1songstructure_1_1score/) minus the cached tempo scalars (which the builder derives from tempoChanges).

Concrete-format parsers populate this in their walking phase and pass it to [ScoreBuilder::build](/api-reference/classes/classguitarprometheus_1_1parser_1_1scorebuilder/#function-build).

Public Attributes Documentation

variable divisions

int divisions = 480;

Ticks per quarter-note.

Always 480 — the canonical output PPQN. Format-specific parsers rescale their source ticks before populating any Engraving.

variable initialTimeSignature

MusicModels::TimeSignature initialTimeSignature {};

variable initialKeySignature

MusicModels::KeySignature initialKeySignature {0, MusicModels::Ionian};

variable tempoChanges

std::map< SongStructure::Score::TempoChangeKey, int > tempoChanges;

Sparse score-wide tempo timeline keyed by (measureNumber, tickWithinMeasure).

Both downbeat-aligned (tick = 0) and mid-measure entries are supported.

variable fallbackTempoBpm

int fallbackTempoBpm = 120;

Fallback tempo when tempoChanges is empty — used to seed initialTempoBpm and currentScoreTempoBpm in that degenerate case.

Defaults to 120.

variable parts

std::vector< IntermediatePart > parts;

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