Phase 7: Add MIDI clips, instrument and piano roll
This commit is contained in:
parent
8a37090b81
commit
cacc086805
38 changed files with 1373 additions and 74 deletions
|
|
@ -106,3 +106,15 @@ SPSC ring publishes complete payload blocks through lock-free indices. Only
|
|||
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
|
||||
|
||||
The C MIDI plan prepares bounded source-relative notes into sample spans and
|
||||
renders a separate instrument buffer. `xtc_plan_process_sources` and
|
||||
`xtc_realtime_process_sources` distinguish external audio, WAV timeline and
|
||||
instrument input; older wrappers supply silence for omitted sources. Graph
|
||||
instrument nodes consume the shared mono instrument buffer. The backend owns
|
||||
prepared MIDI runtime state exclusively while active, with lock-free panic
|
||||
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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue