1.4 KiB
OpenSpec Change: enterprise-react-audio-midi
- Change ID: enterprise-react-audio-midi
- Package:
@suaveplan/react-audio - Category: react
- Target path:
packages/react/react-audio - Status: PROPOSED — Phase 3 of 3
- Date: 2026-05-19
- Spec delta:
./specs/react-audio/spec.md
Phase 3 of the decomposed
enterprise-react-audiorollout. Blocked on Phases 1 and 2 landing first. Adds the MIDI learn-mode panel +useMidiControllerhook to the React surface.
Summary
Ship <MidiControllerSetup> and useMidiController(controllerId). The component reads connected controllers from the provider's MidiControllerRegistry (sourced via @suaveplan/audio-controllers) and exposes a learn-mode UI: user selects a target parameter, presses a control on the hardware, and the panel calls bindParameter(plugin, paramId, capturedSource, { smoothingMs }). Bindings persist via the provider's preset store and re-bind on next mount.
This is the smallest of the three phases (1 hook + 1 component + persistence wiring + a11y for the learn-flow). Spec delta has one requirement (MidiControllerSetup learn-mode panel).
Out of scope
- Provider/hook foundation (Phase 1).
- Generic component library + presets + Storybook gate (Phase 2).
Impact
After Phase 3 archives, the @suaveplan/react-audio package is complete — STATUS row flips from – to ✅ with the full description of all three phases.