Files
2026-05-27 23:29:53 +01:00

1.4 KiB
Raw Permalink Blame History

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-audio rollout. Blocked on Phases 1 and 2 landing first. Adds the MIDI learn-mode panel + useMidiController hook 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.