memlnaut-nisps/nisps
monkey-w1n5t0n 9a9b66c5ee feat(midi-devices): canonical external-synth CC templates + dual codegen
Add a durable, committed source of truth for external MIDI synth control:
- synth-midi-cc.json: verified CC maps + provenance/sources (8 devices researched)
- schemas/midi_device.schema.json + schemas/midi_devices/*.json: 6 CC-controllable
  device templates (Moog Sub 37/Sub Phatty, Creamware Pro-12 ASB, Elektron Analog
  Keys, ASM Hydrasynth, Roland JD-800), params keyed {id, cc, label, min, max,
  default, group}.
- codegen/generate-midi-devices.ts (isolated from the mode golden test) emits both
  nisps/midi/generated/midi_devices.hpp (no-heap constexpr, firmware+WASM) and
  manifold/src/midi-devices/generated/ (typed catalogue for the browser).
- codegen/seed-midi-devices.ts: reproducible seed from the research artifact.

Lets a performer pick a device and address its parameters by name (not CC number)
on both the firmware and the Manifold browser engine.
2026-06-28 20:03:17 +02:00
..
core feat: nisps/core foundation — perf, types, concepts, buffers, rng, math 2026-04-29 15:21:52 +03:00
dsp feat(nisps/dsp): lean DSP primitives ported from maximilian (meml-1v6) 2026-04-29 16:08:49 +03:00
engines fix: NoOpEngine engine_id → 'thru' to match sound_analysis_midi schema 2026-04-29 16:12:12 +03:00
midi/generated feat(midi-devices): canonical external-synth CC templates + dual codegen 2026-06-28 20:03:17 +02:00
ml feat(nisps/ml): crystallise Explore-and-place into shared FeedbackController 2026-06-28 04:14:12 +02:00
modes feat(nisps/modes): all 8 concrete mode bindings (meml-beb) 2026-04-29 16:26:49 +03:00
wasm feat(nisps/ml): crystallise Explore-and-place into shared FeedbackController 2026-06-28 04:14:12 +02:00
.gitignore feat: nisps/core foundation — perf, types, concepts, buffers, rng, math 2026-04-29 15:21:52 +03:00
CMakeLists.txt feat(nisps/ml): crystallise Explore-and-place into shared FeedbackController 2026-06-28 04:14:12 +02:00