Phase 32: add MIDI track CLAP, VST2 and VST3 instruments
This commit is contained in:
parent
9e0e4562d7
commit
fe484537f9
41 changed files with 1138 additions and 65 deletions
|
|
@ -901,6 +901,36 @@ These require separate future work; they are not claimed as implemented by loadi
|
|||
|
||||
---
|
||||
|
||||
## Phase 32 — MIDI Track Plugin Instruments
|
||||
|
||||
### Goal
|
||||
Play CLAP, VST2 and VST3 synthesizer/instrument plugins from MIDI clips and live MIDI.
|
||||
|
||||
### Tasks and acceptance criteria
|
||||
- [x] Discover and initialize compatible zero-input, mono float32, zero-latency instruments.
|
||||
- [x] Bind independent instances to tracks; preserve built-in sine for unassigned tracks.
|
||||
- [x] Deliver sample-offset notes and bounded event queues without callback allocations.
|
||||
- [x] Apply track/bus mixing and provide an explicit saved live-MIDI target.
|
||||
- [x] Handle discontinuity note chase, panic, teardown and failed preparation.
|
||||
- [x] Save bindings in v12; migrate v1–v11 and retain missing module references.
|
||||
- [x] Add GUI load/clear/live-target commands with undo and candidate preparation.
|
||||
- [x] Test original fixtures for all three formats and document the supported subset.
|
||||
|
||||
### Implementation status
|
||||
Implemented with track-owned prepared instances and 256-frame processing chunks.
|
||||
Only original ABI fixtures are qualified; arbitrary third-party instruments and
|
||||
physical MIDI/audio hardware remain unverified. Mono/default configuration only;
|
||||
no custom editors, opaque state or modern parameter automation. Native-note CLAP
|
||||
and VST3 carry notes only; CLAP MIDI and VST2 also receive live controllers.
|
||||
Seeking retriggers held scheduled notes with fresh envelopes; plugin release tails
|
||||
can remain after note-off/panic. See PLUGIN_HOSTING.md and decision 0011.
|
||||
|
||||
Validation: normal/minimal core and GUI builds, core/instrument/GUI fixtures,
|
||||
JACK/workflow, reliability, ASan/UBSan core and GUI, static analysis, staged
|
||||
installation, reproducible source releases and relocatable binary packages pass.
|
||||
|
||||
---
|
||||
|
||||
## Recommended Execution Order
|
||||
|
||||
Reorder the phases when the audit reveals a blocking dependency. Do not mark a phase complete merely because code exists: its acceptance criteria must be demonstrated by builds, tests, or documented manual verification.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue