Phase 8: Add stereo track mixer, automation and undo/redo
This commit is contained in:
parent
cacc086805
commit
7db5fb7738
45 changed files with 1611 additions and 130 deletions
|
|
@ -118,3 +118,15 @@ prepared MIDI runtime state exclusively while active, with lock-free panic
|
|||
requests and no callback allocation/I/O. Stop/seek clear live voices; scheduled
|
||||
notes chase their absolute phase. See MIDI.md for event ordering, panic semantics,
|
||||
capacities and test coverage. No new dependency is required.
|
||||
|
||||
## Phase 8 mix snapshots and history
|
||||
|
||||
`src/mixer` owns validated per-track settings and bounded gain/pan automation.
|
||||
Audio/MIDI preparation copies and indexes these into source snapshots; paired
|
||||
source buffers feed the same graph independently per stereo side. Atomic backend
|
||||
output-peak snapshots cross to the GUI without exposing DSP state. Mixer edits
|
||||
stop transport before subsequent preparation. `src/project/history.c` provides
|
||||
32-edit C project snapshots; checkout clones a candidate and accept moves the
|
||||
cursor only after successful GUI/backend installation. No samples or FLTK state
|
||||
are stored in history. `mixer_widget.cpp` is only controls/drawing/gestures.
|
||||
See MIXER.md and PROJECT_FORMAT.md for ownership, limits and v4 migration.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue