Hercules DJ Control MP3e2 translation daemon
Go to file
JosepMaJAZ b7dfd3029e Readme updates 2017-11-26 17:35:40 +01:00
Makefile Standardize debugging, reindent (sorry, Plan 9 got me into some weird habits) 2017-03-18 14:45:39 -06:00
README.md Readme updates 2017-11-26 17:35:40 +01:00
alsa.c Standardize debugging, reindent (sorry, Plan 9 got me into some weird habits) 2017-03-18 14:45:39 -06:00
alsa.h Added support for DJ Console 4-Mx and improved the overall code 2017-01-16 21:09:02 +01:00
dump.h Fix logic inversion in dump.h 2017-03-19 16:03:31 -06:00
explore.c Standardize debugging, reindent (sorry, Plan 9 got me into some weird habits) 2017-03-18 14:45:39 -06:00
hdjd.c Added support for DJ Console 4-Mx and improved the overall code 2017-01-16 21:09:02 +01:00
log.h Cleaned a bit, lights stopped working 2014-12-14 20:29:21 -07:00
usb.c Fixed DJ Console MK4 support 2017-11-25 21:13:31 +01:00
usb.h Added support for DJ Console 4-Mx and improved the overall code 2017-01-16 21:09:02 +01:00

README.md

Hercules DJ Controller Driver for Linux

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!

Supported Controllers

The driver currently supports:

  • Hercules DJ Control MP3 e2
  • Hercules DJ Control Steel
  • Hercules DJ Console 4-Mx
  • Hercules Console Mk4

Untested support :

  • Hercules DJ Control MP3 LE / Glow
  • Hercules Console Mk2 (See comment in the next section)

Things I won't support:

  • Hercules DJ 4Set (the one Guillemot sent me doesn't even work in Windows)
  • 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.

How To Get

Check the Github Project for the canonical source repo.

How To Run

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 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 if you modify the file Makefile and uncomment the following line:

#CFLAGS += -g -DDEBUG

(i.e. remove the # sign)

Current Issues

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 neale@woozle.org. 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

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.

Contact Me

Neale Pickett neale@woozle.org