C++ · OBS plugin · Where the code meets the music
A real-time MIDI visualizer plugin for OBS Studio. Piano roll, drum pads, CC lanes, DJ-controller skins, and synthesizer patch displays — each one an independent, composable OBS source you can add, resize, and arrange per scene.
This is the project where the systems engineer and the producer (DerGrioEnHousen) shake hands. It's a real C++ OBS plugin doing real-time graphics off live MIDI, SysEx, and OSC data — and it exists because I wanted my own streams and sets to look as good as they sound.
| Source | What it shows |
|---|---|
| Keys (MIDI) | Full 128-key piano roll with velocity-coloured keys; up to 4 controllers blending onto one roll, each its own colour; a Synthesia-style falling-note waterfall |
| Drums (MIDI) | Pad grid up to 8×8 with velocity-scaled flash decay; 25 device presets (TR-808, MPC 3000, Maschine, Launchpad…); GM drum labels drawn with a GPU-side bitmap font |
| CC Lanes (MIDI) | Per-CC vertical bars with configurable smoothing — mod wheel, expression, sustain, filter, any CC |
| DJ Controller | Two-deck Pioneer DDJ-FLX4 schematic with animated jog wheels, 27-dot LED-arc knobs, faders, crossfader, loop buttons, and 8 performance pads per deck — driven by the official FLX4 MIDI spec |
| Synth Patch Display | Full synth parameter panels populated live from SysEx patch dumps — DeepMind 12, Korg DSS-1, Alesis QS, Yamaha PSR — with VCO/filter/ADSR/LFO/FX sections |
| Ableton Live | Session-view grid (scenes × tracks) with clip status, per-track stereo meters, and a transport HUD — received over OSC from AbletonOSC |
| Waveform (Audio) | Rolling stereo waveform tapped from OBS's own mixed output — amplitude-coloured, no external device picker needed |