memlnaut-nisps/playground/js/synth
w1n5t0n 295221d1b2 feat(playground): unify learning modes, add MIDI input and gamepad support
Merge Examples/RL tabs into single unified toolbar across all four UIs.
Users can now freely mix supervised learning (Add Example + Train) with
RL feedback (thumbs up/down) without switching modes. Param bar dragging
is always enabled.

Add Web MIDI input module (js/synth/midi-input.js) for external MIDI
controllers — routes note on/off to C15 synth, CC 1/2 to joystick.
Add gamepad module (js/ui/gamepad.js) with auto-detection, deadzone,
and axis normalization across all UIs.

Fix synth parameter sync: routeOutputs() now called after trainModel()
in onThumbsUp and loadState to prevent stale params on first joystick
move. Add separate Clear Examples button (dataset only, keeps weights).
2026-03-22 11:01:50 +02:00
..
arpeggiator.js feat(playground): add C15 synth mode with NISPS-controlled parameters and arpeggiator 2026-03-21 22:26:37 +02:00
c15-bridge.js feat(playground): add volume safety limiter, devmode tame parameter, and voice buildup mitigation 2026-03-22 00:15:11 +02:00
midi-input.js feat(playground): unify learning modes, add MIDI input and gamepad support 2026-03-22 11:01:50 +02:00
param-map.js feat(playground): add volume safety limiter, devmode tame parameter, and voice buildup mitigation 2026-03-22 00:15:11 +02:00