GuitarPrometheus::Project::ProjectSchema
GuitarPrometheus::Project::ProjectSchema
Compiled-in copy of the Project v4 JSON Schema. More…
#include <ProjectSchema.h>
Public Functions
| Name | |
|---|---|
| std::string_view | getV4SchemaJson() |
Detailed Description
class GuitarPrometheus::Project::ProjectSchema;Compiled-in copy of the Project v4 JSON Schema.
Mirrors the on-disk file at resources/schema/project-v4.schema.json byte-for-byte (asserted by ProjectSchemaTests). The library uses the embedded copy at runtime so a stripped binary doesn’t need the resource file alongside it.
Schema timeline:
- v1: pre-F9.6 shape;
tempoOverrideswas an object keyed by measure number. - v2 (F9.6):
tempoOverrideslifted to an array of(measure, tick, bpm)objects so a single measure can carry multiple sub-beat overrides. The v1 -> v2 migration transposes legacy entries withtick: 0. - v3 (F10.2): added
profileOverrides, an object keyed by score-part-id whose values areProfileFormStateJSON shapes. Empty for new projects; v2 -> v3 migration adds an empty map. - v4 (F11.6): added
mergedSources, an array of{filename, encoding, data}objects capturing merged-in MusicXML payloads. Empty for new projects; v3 -> v4 migration adds an empty array.
Public Functions Documentation
function getV4SchemaJson
static std::string_view getV4SchemaJson()Updated on 2026-05-29 at 07:39:52 +0000