Fixed: published builds crashed at launch. A required module was missing from the app package; if the previous build wouldn't start, this one will.
Playback fixes
- Pitch bends now decode the full 14-bit value. Previously every bend read as nearly full-scale down — with a wide bend range set, whole channels could play an octave low.
- Drum kits no longer stack every kit layer onto every note (preset-level key ranges are honored), fixing drums that hit up to 34 dB too hot.
- Restored MIDI messages lost in a refactor: reset-controllers, all-sounds-off / all-notes-off, and zero-velocity note-offs work again.
- Channel fine and coarse tuning now combine instead of overwriting each other.
GS / Sound Canvas-era playback
Classic 90s-era MIDI files authored for Roland Sound Canvas hardware now sound the way they were written to sound:
- Bank-select fallback, sustain pedal, always-on reverb, and chorus — matching Sound Canvas behavior.
- GS drum-setup support: per-note drum pitch, level, pan, and reverb/chorus sends. Files that retune the kick or ride a hot snare reverb get their punch back.
- Vibrato, reverb, and chorus calibrated against measurements of real SC-55mk2 firmware (via the cycle-accurate Nuked-SC55 emulator) — vibrato depth/rate/onset and reverb decay now match the hardware to within measurement error.