16 lines
933 B
Markdown
16 lines
933 B
Markdown
# 0006 — Bounded MIDI Notes and Internal Instrument
|
|
|
|
Status: accepted.
|
|
|
|
Use the existing JACK backend for timestamped MIDI input, avoiding another
|
|
backend/dependency. Store source-relative notes in the C project and v3 format;
|
|
read v1/v2 without MIDI. Prepare sample spans on the control thread and render a
|
|
small sine instrument into its own graph source buffer. Use a piano roll to meet
|
|
draw/play/save/reopen acceptance before adding MIDI capture or SMF import.
|
|
|
|
Keep explicit bounds: 4096 project notes, 32 overlapping scheduled notes, 32
|
|
live voices and 256 events/block. Reject scheduled overcapacity at preparation;
|
|
steal oldest live voices. Panic handles event loss, disconnects and callback
|
|
failures; Stop/seek resets live state. Immediate note-off and a fixed sine voice
|
|
keep this prototype small, at the cost of possible clicks and no expressive
|
|
controllers. See ../MIDI.md for ownership, detailed limits and validation.
|