We bypass any Automap, midi or control script interface and communicate directly with the USB device. Send numbers to control any LED of the Nocturn and receive button presses, dial / fader movement and touch sensors.
The object was the first step to build an interface to control Ableton Live with my Nocturn without using Novation's Automap: Nocturn4Live Device
Windows users need to replace the driver for the Nocturn with the WinUSB driver. That's easy, check the README.md in the zip.
We make use of libUSB, a cross-platform library to access USB devices libusb.info. The external's source code is completely cross-platform.
Sending and receiving can block the thread so we have a separate thread and buffering for both operations.
Interessting talks about this topic:
- complete rewrite
- now cross-platform and on github