Hercules DJ Control MP3e2 translation daemon
Go to file
Neale Pickett 6132186a9b
Change MP3e2 endpoint number
Based on discussion in #9 

Closes #9
2024-02-24 12:54:48 -07:00
LICENSE.md Add MIT license file 2017-06-04 19:06:51 +00:00
Makefile Easier debug build 2018-01-01 11:27:11 -07:00
README.md Update README.md 2021-03-13 15:17:58 -07: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 Change MP3e2 endpoint number 2024-02-24 12:54:48 -07: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
  • 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.

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 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

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.

License

MIT

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