I made a quick little visual MIDI studio designer for generating instrument definition files. The main idea: lay out your instruments on a canvas, wire them up to the Hapax’s MIDI outputs (A, B, C, USB Host), load their CC/NRPN specs from midi.guide, and export proper .txt definition files — no hand-editing required.
How it works:
- The Hapax sits at the center of your canvas as a permanent node with all its I/O (MIDI A/B/C, USB Host/Device, CV Gate 1-4)
- Drag instruments from the sidebar (or create custom ones) and connect them to the Hapax’s outputs
- Load CC and NRPN mappings for each instrument — either upload a CSV or browse the midi.guide database directly from the app
- Set the MIDI channel, instrument type (POLY/DRUM/MPE), and configure up to 8 ASSIGN encoders per instrument
- Export and it generates a definition file for every instrument connected to the Hapax
The exported files include all the sections:
-
VERSION, TRACKNAME, TYPE, OUTPORT, OUTCHAN — auto-populated from your canvas routing (port is detected from which Hapax output you wired to)
-
[DRUMLANES] — populated when instrument type is DRUM, with channel/note/lane/name mappings
-
[CC] — organized by section with parameter names cleaned to 12 characters for the Hapax display
-
[NRPN] — MSB:LSB:7 format, also grouped by section
-
[ASSIGN] — your 1-8 encoder assignments with default values
-
[PC], [AUTOMATION] — included as empty sections for manual editing later
Other stuff it does:
-
Feedback loop detection — warns you if your MIDI routing creates a cycle (respects Local Off)
-
Type-safe connections — won’t let you wire a MIDI output to an audio input
-
Save/load your entire studio layout as JSON so you can iterate on it
Definitely a work in progress, interested to hear any feedback.