Phase 1 plus some refactoring.
This commit is contained in:
parent
71f7b4d96b
commit
8075e1b79d
17 changed files with 465 additions and 266 deletions
|
|
@ -23,9 +23,13 @@ thread: validate, topologically sort, determine buffer requirements, allocate
|
|||
resources, and publish a prepared immutable execution plan. The audio thread
|
||||
must not traverse a graph being edited.
|
||||
|
||||
The current scaffold is deliberately incomplete: `xt_graph_process_offline()`
|
||||
validates the graph and applies gain nodes in insertion order. It is a test
|
||||
placeholder, not the final graph execution algorithm.
|
||||
The offline engine now copies a validated graph into a prepared plan with
|
||||
stable node IDs, topological order, precomputed input adjacency, per-node mono
|
||||
buffers and oscillator/meter state. Each plan has one processing owner. Graph
|
||||
edits and destruction cannot affect an existing plan. All nodes are scheduled,
|
||||
including disconnected nodes; only explicit output nodes are rendered (or
|
||||
terminal nodes when no output node exists). See AUDIO_ENGINE.md for contracts.
|
||||
Plan publication across threads and retirement remain Phase 2 work.
|
||||
|
||||
## Ownership and threads
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue