MIDI Functionality Upgrades

Hello all. I had this idea popping around in my head last night about the ONYX MIDI macro/mapping functionality. While onyx does have ways to do MIDI related things, it’s very laborious to get set up and is not very user friendly, especially for new users.

The basic premise is a streamlined way to synchronize MIDI impulses and time data from a DAW with control functions in onyx. Right now, all of that is doable via programs like loopMIDI and Live MTC (or Timelord) but getting it set up is a huge pain and getting it to work in an easy workflow is even more difficult.

The idea can be broken down into multiple parts.

The first of which is a new type of cuelist called a MIDI Cuelist would act basically like a keyboard. You could open up a cuelist and save cues like normal, except rather than having an ascending list of cue numbers, you’d have a keyboard on the left (like a piano roll) starting at A1 and ascending that would allow you to easily and visually save cues to any note on the keyboard. Each cue would have selectable modes as well… allowing you to choose the trigger type. The modes would be Trigger/Release, which would hold for the duration of a specified MIDI note in a DAW (more on that later), and Flash Release, which would trigger at the beggining of a MIDI note and hold for an amount of time specified in the cuelist. This would make it very easy to synchronize complex lighting sequences with even the most intricate drum fills without having to do a bunch of Timecode related programming. Imagine being able to copy/paste a super complicated drum fill to a MIDI track then easily move the notes around between different flash/release blinder cues, in under 10 seconds.

The second aspect of this idea is a VST. As it stands, getting Timecode data from a DAW (I use ableton), requires 2 additional pieces of software/hardware… loopMIDI, or a physical MIDI controller of some kind, and some kind of Timecode synchronizer. Not to mention the a semi proficient understanding of networking. The proposed VST would basically establish a link between your DAW and ONYX to send Timecode, BPM, and MIDI data, without the need of external software.

The design for the VST is pretty simple.
Function 1: Send Timecode data. Not sure how you could program this but I’m sure there’s a way to build a simple network that works internally between ONYX and the VST so you’re average person who does not understand networking could open up ONYX and the VST, click a button, and get rolling.
Function 2: Send BPM and sync with ONYX. Allowing a DAW to control the BPM of ONYX via a VST cuts down on the room for error in doing this process manually.
Function 3: Send MIDI Data. It is exactly what it sounds like. Each instance of the VST in your DAW would correspond to a selectable MIDI cuelist in ONYX via a dropdown menu in the plugin. This would allow for easy access to a whole bank of Trigger/Release and Flash/Release cues controllable via any MIDI controller without the process of having to make a cuelist with, realistically, between 2 and 5 macros for every single cue on the list.

Anyhow, I know that’s a lot of stuff, but some kind of streamlined software update like this would make ONYX vastly more usable for someone who is not a professional LD/already incredibly experienced with the finer details of ONYX. This idea is only a draft, so if any of y’all like this idea and see room for improvement please make suggestions. I really hope to see this feature added to the ONYX ecosystem at some point and invite any discussion on the topic.

NOTE: maybe also add a Toggle cue-type for MIDI cuelists for easy busking