feat(engine): render prepared per-track insert graphs (phase 82)
This commit is contained in:
parent
7489f86351
commit
62cee7a7b0
10 changed files with 215 additions and 5 deletions
|
|
@ -1910,12 +1910,12 @@ Implemented: eight validated metadata-only insert slots per non-bus track, inclu
|
|||
Compile track inserts into serial modular graphs before track gain/pan. Cover audio and MIDI rendering, export, bypass, cleanup and callback safety; explicitly reject unsupported routing.
|
||||
|
||||
### Tasks and acceptance criteria
|
||||
- [ ] Implement the described workflow with validated errors and safe ownership.
|
||||
- [ ] Pass relevant core and/or GUI tests.
|
||||
- [ ] Document behavior and limitations; commit this phase separately.
|
||||
- [x] Implement the described workflow with validated errors and safe ownership.
|
||||
- [x] Pass relevant core and/or GUI tests.
|
||||
- [x] Document behavior and limitations; commit this phase separately.
|
||||
|
||||
### Implementation status
|
||||
Planned.
|
||||
Implemented: generated serial graphs process summed pre-fader audio or MIDI per track; prepared renderer plans feed JACK/export and post-effect meters. Wet/dry branches, bypass and output gain are compiled on the control thread. Exact impulse/delay, overlapping clips, block continuity, seek reset, MIDI samples and hybrid rejection pass. Full core suite and allocation-failure/callback guards pass. Bus/hybrid inserts reject explicitly; external adapters retain mono/zero-latency limits. See TRACK_INSERTS.md.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -14,3 +14,16 @@ that a third-party binary is compatible with the host.
|
|||
|
||||
The chain API is declared in `xtc_plugin.h`. Setter errors preserve the old
|
||||
chain; plugin identity and layout are checked when preparing playback.
|
||||
|
||||
Playback prepares an independent serial graph for each affected track. Audio
|
||||
clips on the same track sum before its effects; instrument and scheduled MIDI
|
||||
contributions also pass through their track graph. Effects run before track
|
||||
and bus gain/pan, and meters observe their output. Wet/dry uses parallel gain
|
||||
branches. Internal effect history resets at timeline discontinuities.
|
||||
|
||||
Each renderer owns its plans and preallocated raw buffers (up to 256 KiB per
|
||||
affected track); processing uses blocks of at most 256 frames, with no host
|
||||
allocation or I/O. Mono effect adapters require zero reported latency. External
|
||||
plugin state on seeks follows the existing host contract. Bus inserts and
|
||||
tracks containing both audio assets and MIDI reject preparation explicitly.
|
||||
Live unassigned sine monitoring remains a separate master input.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue