feat(plugins): qualify host VST3 chains and refresh the DAW gallery (phase 89)
This commit is contained in:
parent
a3858b1c82
commit
26ace28bb5
73 changed files with 344 additions and 18 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Project format v16 (reads v1–v15)
|
||||
# Project format v17 (reads v1–v17)
|
||||
|
||||
Phases 5–31 use a bounded text format implemented in C99 without a parser library.
|
||||
The extension is `.xtc`. File operations run exclusively on the control thread.
|
||||
|
|
@ -426,3 +426,39 @@ followed by `MARKER tick hex_name` records. Count is 0..128; ticks must be stric
|
|||
increasing and at most MAX_TICK. Names use the existing bounded UTF-8 hex encoding.
|
||||
Versions 1–15 migrate to an empty marker list. Older builds reject version 16.
|
||||
Markers are copied by snapshots and history; the tick is their stable key.
|
||||
|
||||
|
||||
## Version 17: per-track insert chains
|
||||
|
||||
After MARKERS/MARKER and before END, the writer emits a chain for every track,
|
||||
in dense track order. Earlier versions migrate to empty chains with unity gain.
|
||||
Floats use the existing eight-digit IEEE binary32 hex encoding; strings use the
|
||||
existing bounded UTF-8/byte hex encoding, with `-` for an empty identity.
|
||||
|
||||
```text
|
||||
CHAINS track_count
|
||||
CHAIN track_id slot_count output_gain_bits
|
||||
INSERT enabled wet_bits format descriptor_index unique_id inputs tempo hex_label
|
||||
MODULE hex_absolute_binary_path
|
||||
IDENTITY hex_stable_identifier_or_dash
|
||||
CONTROLS control_count
|
||||
CONTROL port value_bits
|
||||
PARAMETERS point_count
|
||||
PARAM tick port step value_bits
|
||||
```
|
||||
|
||||
Each CHAIN has exactly slot_count INSERT blocks. CONTROLS/PARAMETERS determine
|
||||
the subsequent CONTROL/PARAM record counts, including zero. Slots are ordered,
|
||||
at most eight, and accept mono non-instrument effects only. Enabled is 0/1,
|
||||
wet is finite 0–1, output gain finite 0–4; inputs must be 1. The format values
|
||||
are LADSPA=0, CLAP=1, VST2=2, VST3=3 and Internal=4. Existing plugin specification
|
||||
validation applies, including descriptor/identity/port/automation bounds and
|
||||
20,000–300,000 milli-BPM. Bus chains must be empty. No sample reference is
|
||||
permitted on an effect. Duplicate, missing, reordered or excessive chain
|
||||
records, malformed strings and nonfinite values reject the whole load.
|
||||
|
||||
Loading and dependency inspection only validate metadata; no plugin module
|
||||
is opened. Enabled plugins are verified when a render plan is prepared. Chain
|
||||
preset files reuse this schema with exactly one non-bus track and no clips or
|
||||
instrument. Track insert APIs are declared in `xtc_plugin.h`; see
|
||||
[TRACK_INSERTS.md](TRACK_INSERTS.md) for playback restrictions and workflows.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue