This is a Linux userspace driver for some Hercules DJ controllers.
Originally this was a part of Mixxx, but in order to issue more timely updates (not bound to the Mixxx release schedule), it is now a standalone project. That means you can use it with any version of Mixxx, without needing to recompile anything other than this driver.
Since it runs in userspace, you don't need to keep modifying your kernel to keep it working. And if the driver crashes, the rest of your system keeps running. But please tell me if it crashes!
The driver currently supports:
- Hercules DJ Control MP3 e2
- Hercules DJ Control Steel
- Hercules DJ Console 4-Mx
- Hercules Console Mk4
- Hercules DJ 4Set (thanks watchingJu!)
Things that are reported to work but I can't test:
- Hercules DJ Control MP3 LE / Glow
- Hercules Console Mk2 (See comment in the next section)
Things I won't support:
- Hercules Console Mk2 (already works with HID code in Mixxx)
- Hercules RMX (already works with HID code in Mixxx)
If you have a Hercules device that doesn't "just work" with Mixxx, send me an email, there's a chance I can support it with this driver.
Check the Github Project for the canonical source repo.
Currently, the driver must be started after you plug in a device.
If you haven't done so, build it by typing make
under the source dir.
Then, just run it by typing ./hdjd
and it will tell you what it found.
Also make sure your user can read and write to raw USB devices. See this Mixxx wiki page for how to do this with udev-based systems (almost every Linux distribution).
If you are trying to add support for another controller and try to debug the messages sent and received, you can build
it in debug mode
by providing make
the DEBUG=1
option:
$ make clean all DEBUG=1
Recent versions of Mixxx may not be setting up the USB system correctly,
resulting in your disk running out of space because
syslog
and the kernel log have millions of messages.
If this happens, make sure to disable the "USB Device" for your controller in Mixxx.
If you find a problem, please, please, pretty-please, email me [email protected]. Posting on the Mixxx Community Forums is fine too, maybe someone there can help you, but I don't check the forums very often. Sorry.
Thanks to Guillemot (makers of the Hercules controllers) for sending me a whole bunch of controllers so I could make a better driver.
Thanks to the Mixxx project for connecting me with Guillemot, and for providing something interesting to use this driver ;-)
Thanks to JosepMaJAZ for many stability improvements, code cleanup, better error checking, and testing against the 4-Mx.
Neale Pickett [email protected]