Phase 24: add mix buses, coherent peak meters and master clipping indicators
This commit is contained in:
parent
ba5c2503a7
commit
2fd7724065
32 changed files with 632 additions and 61 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Project format v8 (reads v1–v7)
|
||||
# Project format v9 (reads v1–v8)
|
||||
|
||||
Phases 5–15 use a bounded text format implemented in C99 without a parser library.
|
||||
The extension is `.xtc`. File operations run exclusively on the control thread.
|
||||
|
|
@ -192,7 +192,7 @@ or a claim of power-cut qualification.
|
|||
|
||||
## Phase 22: version 8 audio clip settings
|
||||
|
||||
Current writer emits v8 and reads v1–v7 with unity clip gain and no explicit
|
||||
Phase 22 introduced v8 and reads v1–v7 with unity clip gain and no explicit
|
||||
clip fades. After **every** clip's `MIDI` record (including silent and MIDI
|
||||
clips), v8 requires:
|
||||
|
||||
|
|
@ -215,3 +215,15 @@ a fresh ID/source offset, retains outer explicit fades and clears inner ones.
|
|||
No waveform cache or source audio is serialized. Checked-in v1–v7 migrations,
|
||||
v8 exact roundtrips, malformed new metadata and byte-mutation tests cover the
|
||||
format change (`make test test-portability test-audio-editing`).
|
||||
|
||||
## Phase 24: version 9 mix routing
|
||||
|
||||
The writer emits v9. Immediately after each TRACK's MIX record it writes
|
||||
`ROUTE is_bus bus_id`. `is_bus` is 0 or 1; `bus_id` is an existing bus track ID,
|
||||
or decimal UINT64_MAX (18446744073709551615) for master. Buses must route to
|
||||
master and cannot contain clips. Invalid destinations, flags and nested routing
|
||||
are rejected. v1–v8 migrate all tracks to ordinary direct-to-master tracks.
|
||||
Bus controls and automation use existing MIX and POINT records. Older readers
|
||||
reject v9 rather than discard routing. The public `xtc_track_info` grew fields;
|
||||
API consumers must rebuild. Fixtures cover v1–v8 migration and tests exercise
|
||||
v9 exact roundtrips and malformed routing.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue