nealey / hdjd Goto Github PK
View Code? Open in Web Editor NEWHercules DJ Control MP3e2 translation daemon
License: MIT License
Hercules DJ Control MP3e2 translation daemon
License: MIT License
Hello,
I try to control mixxx on ubuntu 18.04 with my antic Hercules Console Mk4. I used to play it on windows but definitively swith to ubuntu.
So i try the user-mode driver.
Unfortunately i face some issues during the compilation that i solve step by step with
$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install libasound2-dev
The compilation process seems to work but finally it fails.
Here is the answer:
$ sudo make
make: pkg-config: Command not found
make: pkg-config: Command not found
cc hdjd.o usb.o alsa.o -o hdjd
usb.o : Dans la fonction « usb_interrupting » :
usb.c:(.text+0x9b) : référence indéfinie vers « libusb_cancel_transfer »
usb.c:(.text+0xb9) : référence indéfinie vers « libusb_cancel_transfer »
usb.o : Dans la fonction « usb_initiate_transfer » :
usb.c:(.text+0xe2) : référence indéfinie vers « libusb_alloc_transfer »
usb.c:(.text+0x15e) : référence indéfinie vers « libusb_submit_transfer »
usb.o : Dans la fonction « usb_initiate_transfer_additional » :
usb.c:(.text+0x196) : référence indéfinie vers « libusb_alloc_transfer »
usb.c:(.text+0x212) : référence indéfinie vers « libusb_submit_transfer »
usb.o : Dans la fonction « usb_xfer_done » :
usb.c:(.text+0x2fd) : référence indéfinie vers « libusb_free_transfer »
usb.o : Dans la fonction « usb_xfer_done_additional » :
usb.c:(.text+0x3ba) : référence indéfinie vers « libusb_free_transfer »
usb.o : Dans la fonction « usb_setup » :
usb.c:(.text+0x3f2) : référence indéfinie vers « libusb_init »
usb.c:(.text+0x405) : référence indéfinie vers « libusb_strerror »
usb.c:(.text+0x412) : référence indéfinie vers « libusb_error_name »
usb.c:(.text+0x456) : référence indéfinie vers « libusb_pollfds_handle_timeouts »
usb.c:(.text+0x4be) : référence indéfinie vers « libusb_get_device_list »
usb.c:(.text+0x4d4) : référence indéfinie vers « libusb_strerror »
usb.c:(.text+0x4e2) : référence indéfinie vers « libusb_error_name »
usb.c:(.text+0x59e) : référence indéfinie vers « libusb_get_device_descriptor »
usb.c:(.text+0x5b2) : référence indéfinie vers « libusb_strerror »
usb.c:(.text+0x5c0) : référence indéfinie vers « libusb_error_name »
usb.c:(.text+0x675) : référence indéfinie vers « libusb_free_device_list »
usb.c:(.text+0x6ae) : référence indéfinie vers « libusb_open_device_with_vid_pid »
usb.c:(.text+0x7dd) : référence indéfinie vers « libusb_get_device »
usb.c:(.text+0x7ef) : référence indéfinie vers « libusb_get_device_descriptor »
usb.c:(.text+0x815) : référence indéfinie vers « libusb_get_string_descriptor_ascii »
usb.c:(.text+0x86d) : référence indéfinie vers « libusb_get_string_descriptor_ascii »
usb.c:(.text+0x8e4) : référence indéfinie vers « libusb_claim_interface »
usb.c:(.text+0x91b) : référence indéfinie vers « libusb_claim_interface »
usb.c:(.text+0x999) : référence indéfinie vers « libusb_strerror »
usb.c:(.text+0x9a6) : référence indéfinie vers « libusb_error_name »
usb.o : Dans la fonction « usb_finish » :
usb.c:(.text+0xa35) : référence indéfinie vers « libusb_release_interface »
usb.c:(.text+0xa4e) : référence indéfinie vers « libusb_strerror »
usb.c:(.text+0xa5b) : référence indéfinie vers « libusb_error_name »
usb.c:(.text+0xaba) : référence indéfinie vers « libusb_close »
usb.c:(.text+0xad4) : référence indéfinie vers « libusb_exit »
usb.o : Dans la fonction « usb_fd_setup » :
usb.c:(.text+0xafe) : référence indéfinie vers « libusb_get_pollfds »
usb.o : Dans la fonction « usb_check_fds » :
usb.c:(.text+0xdcf) : référence indéfinie vers « libusb_handle_events »
usb.c:(.text+0xe04) : référence indéfinie vers « libusb_free_pollfds »
usb.o : Dans la fonction « usb_write_done » :
usb.c:(.text+0xf16) : référence indéfinie vers « libusb_free_transfer »
usb.o : Dans la fonction « usb_write » :
usb.c:(.text+0xf42) : référence indéfinie vers « libusb_alloc_transfer »
usb.c:(.text+0xfc1) : référence indéfinie vers « libusb_submit_transfer »
alsa.o : Dans la fonction « alsa_setup » :
alsa.c:(.text+0x2c) : référence indéfinie vers « snd_seq_open »
alsa.c:(.text+0x5a) : référence indéfinie vers « snd_seq_nonblock »
alsa.c:(.text+0x70) : référence indéfinie vers « snd_seq_set_client_name »
alsa.c:(.text+0x8d) : référence indéfinie vers « snd_seq_create_simple_port »
alsa.c:(.text+0xa4) : référence indéfinie vers « snd_midi_event_new »
alsa.c:(.text+0xe8) : référence indéfinie vers « snd_midi_event_no_status »
alsa.o : Dans la fonction « alsa_close » :
alsa.c:(.text+0x10e) : référence indéfinie vers « snd_midi_event_free »
alsa.c:(.text+0x129) : référence indéfinie vers « snd_seq_close »
alsa.o : Dans la fonction « alsa_fd_setup » :
alsa.c:(.text+0x154) : référence indéfinie vers « snd_seq_poll_descriptors_count »
alsa.c:(.text+0x1b4) : référence indéfinie vers « snd_seq_poll_descriptors »
alsa.o : Dans la fonction « alsa_read_ready » :
alsa.c:(.text+0x2cc) : référence indéfinie vers « snd_midi_event_init »
alsa.c:(.text+0x2e5) : référence indéfinie vers « snd_seq_event_input »
alsa.c:(.text+0x3b0) : référence indéfinie vers « snd_midi_event_decode »
alsa.o : Dans la fonction « alsa_write » :
alsa.c:(.text+0x6c8) : référence indéfinie vers « snd_midi_event_init »
alsa.c:(.text+0x6fd) : référence indéfinie vers « snd_midi_event_encode »
alsa.c:(.text+0x7fb) : référence indéfinie vers « snd_seq_event_output »
alsa.c:(.text+0x8a6) : référence indéfinie vers « snd_seq_drain_output »
collect2: error: ld returned 1 exit status
<commande interne>: recipe for target 'hdjd' failed
make: *** [hdjd] Error 1
Any idea to finalize the compilation and to run the driver.
Thank you in advance for any help.
Actually hdjd write only that detected the controller but there are no other way to see if is getting the key pressing so I am not sure how debug the problem with mixxx.
I got with dmesg too many lines like that with mixxx 2.0:
usbfs: process 31363 (BulkReader DJ C) did not claim interface 1 before use
For anyone who is interested in support for the Hercules DJ 4 SET console, add the following to usb.c under devices:
{ 0xb10c, 5, 0x83, 0x03, 0x84, 0}, // 4Set
Needs more testing, but seems to work on Ubuntu 20.04
hey, what about a license like gpl? :) greetings
When I start the driver with the DJ console MK2 (I know it may not work - the mixxx page says the Mk2 is supported by this driver- but the implementation in mixxx with the HID driver is not working fully) - I get the message:
Locating Hercules USB devices...
(You can also use the lsusb command to locate this information)
Vendor:Device = 06f8:b100
Opened [Hercules Hercules DJ Console Mk2]
usb.c:241 Fatal: Couldn't claim interface 1. Already in use?
I retried also as root - it's not working.
System is Linux Mint 18.3 amd64
An hints?
I compiled with the debug flag and now I get output like: sent on ep03: 90 24 00 but Mixxx keep to not reconize when I press button.
Also on the shell where is running hdjd when I press something on the hercules nothing is happening. So seems something in the daemon but I can use the console without issue on windows.
In any case mixxx with --controllerDebug inform that everything is loaded for the console, but I was expecting to receive a log everytime I press a button on hdjd.
Hi, i don't know what is going on here. I seem to have a one way connection between mixxx and my DJ Hercules MP3 e2 which does not react to button presses but lights up the LEDs when i enable for example the headphone output using my mouse (or keyboard shortcut).
I am using Ubuntu 20.04 LTS and installed mixxx via:
$ sudo add-apt-repository ppa:mixxx/mixxx
$ sudo apt update
$ sudo apt install mixxx
This is what i did to install hdjd:
git clone https://github.com/nealey/hdjd.git
cd hdjd
make
And this is what i expect to be executet in a different way:
$ ./hdjd
Locating Hercules USB devices... (You can also use the lsusb command to locate this information) Vendor:Device = 06f8:b105 Opened [Hercules DJ Control MP3 e2] usb.c:115 Fatal: Stopping EP_IN, because of status 6. Software needs restarting Aborted (core dumped)
and
$ ./explore
Opened a Hercules DJ Control MP3 e2 ERROR: LIBUSB_ERROR_OVERFLOW
Any help is appreciated.
Hi !
I'm currently trying to make my Hercules DJ Control MP3 e2 works with Mixxx 2.2.0 on Lubuntu 18.04.
I'm new with the use of Linux based OS, and i don't know perfectly how to make everything, so excuse me if i've done a newbie mistake.
So this is my problem:
I have download the zip containing the hdjd-master folder, unzip it in a folder, open my terminal and made this :
fdyoptric@fdyoptric-AO725:~$ cd /home/fdyoptric/Téléchargements/hdjd-master fdyoptric@fdyoptric-AO725:~/Téléchargements/hdjd-master$ make
But it said this to me :
make: pkg-config: Command not found cc -Wall -Werror -c -o usb.o usb.c usb.c:1:10: fatal error: libusb.h: Aucun fichier ou dossier de ce type #include <libusb.h> ^~~~~~~~~~ compilation terminated. <commande interne>: recipe for target 'usb.o' failed make: *** [usb.o] Error 1
So due to my lacuna in Linux OS i'm asking for some help.
Here's a screenshot of the hdjd-master folder after extraction. https://image.noelshack.com/fichiers/2019/11/2/1552423021-filemanager.png
If you have any suggestion, it will be honestly helping me.
Thank you for your time.
A frenchie.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.