phase information removal.
This commit is contained in:
parent
a869f38a76
commit
dd32143bf8
45 changed files with 325 additions and 330 deletions
|
|
@ -46,7 +46,7 @@ for the release/acquire protocol, bounded resource retention and recovery.
|
|||
|
||||
## GUI backend ownership
|
||||
|
||||
The Phase 3 window owns one C backend handle and serializes all control calls
|
||||
The GUI window owns one C backend handle and serializes all control calls
|
||||
on the GUI thread. A GUI timer reads snapshots and collects retired resources;
|
||||
no audio callback calls FLTK. Successful window close first closes the JACK
|
||||
client (synchronizing callbacks), then removes the GUI timer and hides the
|
||||
|
|
@ -56,8 +56,8 @@ C commands and publish independent compiled snapshots. See GUI.md.
|
|||
|
||||
## Editable graph and canvas
|
||||
|
||||
Phase 4 adds read-only C snapshots, monotonic node IDs, and a small set of C
|
||||
edit commands. The GUI owns an opaque graph handle, never private arrays.
|
||||
Read-only C snapshots, monotonic node IDs, and a small set of C edit commands
|
||||
are provided. The GUI owns an opaque graph handle, never private arrays.
|
||||
An edit produces a candidate, and the GUI commits it only after backend submit
|
||||
succeeds (or locally while offline). A busy pending slot or invalid edit leaves
|
||||
the prior model/plan unchanged. Active/submitted revisions distinguish the
|
||||
|
|
@ -72,8 +72,8 @@ GUI-owned state. Reconnect republishes the same retained editable graph.
|
|||
|
||||
## Project ownership and persistence
|
||||
|
||||
Phase 5 introduces a C-owned project containing the graph, bounded track/clip
|
||||
arrays, stable ID allocators and constant tempo. Read APIs return copies;
|
||||
A C-owned project contains the graph, bounded track/clip arrays, stable ID
|
||||
allocators and constant tempo. Read APIs return copies;
|
||||
GUI canvases borrow the opaque project/graph on the control thread. A graph
|
||||
edit prepares a candidate project before submitting its graph, then commits
|
||||
ownership only after acceptance. Arrangement edits currently change silent
|
||||
|
|
@ -87,14 +87,14 @@ SequencerWidget owns selection, zoom and gestures only; musical range checks,
|
|||
source-preserving trims and ID allocation remain C responsibilities.
|
||||
|
||||
|
||||
## Phase 6 assets and recording
|
||||
## Assets and recording
|
||||
|
||||
Audio paths are C clip metadata. A stopped preparation copies range/offset
|
||||
information, deduplicates paths, validates and preloads bounded WAV assets into
|
||||
an independent C audio plan. The backend owns that plan and a preallocated
|
||||
timeline buffer until callback quiescence. A graph audio-source node consumes
|
||||
the buffer, so effects/output routing remain graph operations. All tracks share
|
||||
the mono source in this phase; no audio summation bypasses the graph.
|
||||
the mono source; no audio summation bypasses the graph.
|
||||
|
||||
Arrangement edits stop transport; subsequent Play prepares the new snapshot.
|
||||
Graph-only edits retain live plan publication. Missing assets preserve metadata
|
||||
|
|
@ -107,7 +107,7 @@ the consumer writes WAV bytes; finalization follows successful callback stop.
|
|||
No editable project pointer, GUI object or FILE is accessed by the producer.
|
||||
See decision 0005 and AUDIO_FILES.md for format, limits and recovery contracts.
|
||||
|
||||
## Phase 7 MIDI source
|
||||
## MIDI source
|
||||
|
||||
The C MIDI plan prepares bounded source-relative notes into sample spans and
|
||||
renders a separate instrument buffer. `xtc_plan_process_sources` and
|
||||
|
|
@ -119,7 +119,7 @@ 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
|
||||
## 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
|
||||
|
|
@ -131,7 +131,7 @@ 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.
|
||||
|
||||
## Phase 9 native lifecycle and distribution
|
||||
## Native lifecycle and distribution
|
||||
|
||||
`xtc_native.h` defines copied versioned C descriptors and bounded block contexts.
|
||||
Native effect/source nodes prepare independent instances on control-thread graph
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue