On Fri, 2007-12-07 at 03:33 +1300, Robin Sheat wrote: > On Friday 07 December 2007 02:32:28 Garth Dahlstrom wrote: > > control mapping changes back in the day). The MP3 Control is a different > > animal, and AFAIK Melanie hasn't been able to figure out how to get the > > device to > > initialization properly (Albert lent him his MP3 Control ~ 4 months a go to > > play with). > Hmm OK. At least to get a bit more functionality into the existing code, I > don't have to worry about that. Maybe later, I can try some USB snooping with > the windows software or something like that, presuming I can convince WINE to > run it. > > > The Mk2 built in sound card only really makes a difference in that it is > > easier to do headphone monitoring because it handles Mix and Headphone > Yeah, I have a USB sound card that does that quite well. > > Oh, and from your other email: > > Lights for the legacy code broken going from linux kernel 2.4 -> 2.6... > > They do work with libDJconsole which is going via USB rather then /dev > > files. > So, there is a kernel driver that translates the hercules to be a /dev/input > device? And libdjconsole does the equivalent, presumably using libusb or > similar? If the (2.4) kernel driver can control lights, why isn't that stuff > in libdjconsole, or is it more complex than that? Are there any specs > (official or otherwise) for controlling it using USB?
Yes, the Hercules makes itself look like a series of USB HID devices, which are picked up by Linux's generic event device driver (evdev). (IIRC) Because it's handled by a generic driver inside the kernel, we have to do all the stuff a normal driver would do inside Mixxx. That's what the legacy Herc code does. The alternative is to use libusb to claim the device (instead of evdev), and then do the driver stuff in libdjconsole. (The other alternative we're slowly working towards is getting a real ALSA MIDI driver written for it.) I don't know why the lights stuff isn't in libdjconsole, sorry, and we don't have any specs for controlling the MP3 Control via USB. However, because the same set of legacy evdev-based code works for the MK2 and the MP3 Control, I think we can assume the basic communication is the same. The only thing that seems broken in libdjconsole is the initialization of the MP3 Control. If we can get it to initialize properly, then we should be able to get it to speak. I debugged libdjconsole before I sent off the device (but also before I knew anything about USB drivers and Linux), and what would happen is it would try to initialize the device, and then we'd just never get ANY data back from the device. In hindsight, it sounds like there's some state machine inside the device that's not being initialized properly, and that's where you'd might have to do some USB snooping. (I think we need the initialization string.) Fixing the legacy Herc code to work for the MP3 Control is a good enough short term solution though... Thanks, Albert ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
