feat: reverse selected sample frames with immutable snapshots and local undo

This commit is contained in:
Johannes Findeisen 2026-11-06 01:04:06 +01:00
commit 9ae2e2a11c
8 changed files with 49 additions and 5 deletions

View file

@ -21,3 +21,7 @@ Trim clip to selection applies source-frame endpoints within the current audible
## Phase 71
Export selected frames writes a new mono float32 WAV of the half-open selection at native rate. Save full copy and relink writes the complete source and relinks only the selected clip after successful preparation. The original source is never overwritten. Full-copy adoption requires matching source frame count/rate. Project undo restores the reference but retains the new file, which may be referenced by redo/history or other projects. Failed adoption removes its owned new file. Export/copy runs synchronously outside audio callbacks.
## Phase 72
Reverse selection changes only the chosen source frames in a new local snapshot. Undo / redo toggles the most recent processing step; selection and view are unchanged. Processing does not affect playback until Save full copy and relink. Close discards unsaved local processing. Sources are bounded to 16 MiB of float samples; preparing a new edit can temporarily retain three snapshots (48 MiB), then two (32 MiB).