hedgehog/software/ HomePage
Some Useful UniversalControl software:
- OSC in general: apps that send and receive it.
- AutoHotKey
- https://benjamin.kuperberg.fr/chataigne/en
Development
The general idea, from app developers, is to receive OSC messages. That means listening on a UDP port and parsing OSC packets. These can be assigned to actions, and possibly parameters can be passed (e.g. so that we could have brushsize/changeby/percent 1.0
to increase the brush size by 1%, and brushsize/changeby/percent -5.0
to change it down by 5%). More generally, we'd like scriptability, so for example a .lua script (thinking of Reaper here) could bind a message to an action which is implemented by a .lua script, and osc_params is defined as a global variable in the context of the script.
There is no need to actually implement Midi listeners, as we could easily have a translator that receives all hardware events and outputs OSC messages wherever. Essentially all controller events flow into a single hub, which then dispatches them to the desired application. Following the active window is a case of having something inspect the active window every 100ms, and sending an OSC message to the hub when it changes.
It can make sense to have chains of hubs relaying messages, so e.g. one device on the network receives input from e.g. Novation Nocturn's (which at present means a Linux device, until someone can write a Usb driver for Windows/Mac that allows us to receive controller data from a Nocturn as midi (since behind the scenes, the Nocturn sends midi data to the computer)).