You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
core/src/presets/PresetTypes.h — Core data structures (Preset, SignalGraph, GraphNode, etc.)
core/src/presets/PresetStorage.h — Preset file I/O and storage layout
Overview
This document defines the core data structures for presets, signal graphs, and resources. All models serialize to JSON for storage and API communication.
Naming Conventions
Identifiers: lowercase with hyphens (preset-123, amp-nam)
Parameters: lowercase with underscores (input_trim, low_freq)
Types: PascalCase (PresetV2, GraphNode)
JSON fields: camelCase
PresetV2
Top-level preset structure (schema version 2).
Field
Type
Required
Description
id
string
Yes
Unique identifier (UUID)
name
string
Yes
Display name
version
int
Yes
Schema version (must be 2)
author
string
No
Creator name
category
string
No
Classification
description
string
No
User-facing description
tags
string[]
No
Searchable tags
createdAt
datetime
No
ISO 8601 timestamp
modifiedAt
datetime
No
Last modification
designedPeakInputDbfs
float
No
Stored reference peak captured from raw input during preset design
global
GlobalSettings
Yes
Global parameters
globalSignalChain
GlobalSignalChainConfig
No
Shared pre/post chain configuration and input/output routing
graph
SignalGraph
Yes
Effect signal graph
scenes
PresetScene[]
No
Multiple named signal-chain variants within one preset
embeddedResources
EmbeddedResource[]
No
Portable resources
PresetScene
When present, scenes is the source of truth for per-scene signal chains. The top-level graph
field remains for backward compatibility and mirrors the currently active scene graph.
Field
Type
Required
Description
id
string
Yes
Stable scene identifier within the preset
title
string
Yes
User-facing scene title
graph
SignalGraph
Yes
Signal chain for this scene
GlobalSettings
Field
Type
Default
Range
Description
inputTrim
float
0.0
-40..+20
Input gain (dB)
outputTrim
float
0.0
-40..+20
Output gain (dB)
outputVolume
float
1.0
0.0..1.0
Output volume (linear)
autoLevelInput
bool
false
—
Legacy compatibility flag for retired mixer-wide input auto-level
autoLevelOutput
bool
false
—
Legacy compatibility flag for retired mixer-wide output auto-level
transpose
int
0
-24..+12
Pitch shift (semitones)
autoLevelInput and autoLevelOutput remain in the preset schema for compatibility, but current preset normalization forces the retired mixer-wide path off in normal product flow.
GlobalSignalChainConfig
Field
Type
Default
Description
preChainGraph
SignalGraph
default pre-chain
Shared graph before all presets
postChainGraph
SignalGraph
default post-chain
Shared graph after all presets
inputGain
float
0.0
Shared input gain in dB
monoMode
bool
false
Mono input routing toggle
inputChannel
int
0
Channel selection used when mono mode is enabled
autoLevelInput
bool
false
Legacy compatibility flag for retired mixer-wide auto input
outputGain
float
0.0
Shared output gain in dB
autoLevelOutput
bool
false
Legacy compatibility flag for retired mixer-wide auto output