support older Native Instruments controllers on GNU/Linux
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
The snd-usb-caiaq driver for Linux supports the Audio 2/4/6/8 series of audio interfaces and the audio interfaces built into Native Instruments DJ controllers. However, Native Instruments controllers use a proprietary protocol called NHL (Native Hardware Layer) for the controller signals, which AFAIK, no one outside of Native Instruments knows much about. For all we know, different NI controllers could use completely different protocols. On Windows and OS X, somehow these controllers can be switched to a MIDI mode, but AFAIK no one has managed to do this on GNU/Linux. It is unclear whether this is done by the drivers or the Native Instruments Controller Editor program. At least one of these pieces of software is required because pressing the buttons on the controller when it is plugged into a PC running GNU/Linux does not change anything. Hopefully, the software simply sends a signal to the controller which switches the controller firmware to sending MIDI messages over USB. It may be the case that NHL signals are translated to MIDI signals in software on the PC, which would mean the NHL protocol would have to be reverse-engineered by someone with an NI controller and a lot of knowledge about USB signals.
I have tried running the Controller Editor program with WINE on GNU/Linux but it did not detect a Traktor Kontrol S4. I do not remember whether I had the driver for that controller installed with WINE though.
See also:
http://
description: | updated |
description: | updated |
tags: | added: nativeinstruments |
summary: |
- support Native Instruments controllers on GNU/Linux + support older Native Instruments controllers on GNU/Linux |
Changed in mixxx: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
tags: | removed: nativeinstruments |
Take a look at the source code for the caiaq Linux driver (sound/ usb/caiaq/ input.c in the Linux source tree), it appears the S4 and X1 as well as the Maschine are already supported by presenting the controller signals as Linux input events. I think the best way to support these controllers on GNU/Linux would be to create a library to translate these Linux input events to MIDI. That way, one Mixxx mapping could be used to support these controllers across GNU/Linux, OS X, and Windows.