Skip to content

GuitarPrometheus::Project::TrackBinding

GuitarPrometheus::Project::TrackBinding

Per-track persistent binding from a MusicXML score-part to the VST Profile the user picked for it. More…

#include <TrackBinding.h>

Public Attributes

Name
std::stringscorePartId
std::stringpartName
std::optional< juce::Uuid >profileUuid
std::optional< std::string >profileName

Detailed Description

struct GuitarPrometheus::Project::TrackBinding;

Per-track persistent binding from a MusicXML score-part to the VST Profile the user picked for it.

Keyed by scorePartId (MusicXML <score-part id>, e.g. “P1”) rather than juce::Uuid because the Part::getId() UUID is regenerated on every parser run, not stable across project reloads. partName is cached for diagnostics — useful when a profile lookup fails and we want to show “could not find profile for Clean Guitar (P1)”.

Profile reference uses a UUID-with-name-fallback strategy: load tries profileUuid first; if missing, tries profileName; if both miss, the binding is unresolved and the user sees “(profile missing)” in the UI.

Public Attributes Documentation

variable scorePartId

std::string scorePartId;

variable partName

std::string partName;

variable profileUuid

std::optional< juce::Uuid > profileUuid;

variable profileName

std::optional< std::string > profileName;

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