On Dec 6, 2007 9:33 AM, Robin Sheat <[EMAIL PROTECTED]> wrote:
> Hercules jog wheels don't really work in any version of mixxx...
>
Is it just that people haven't tried, or is there something fundamentally
> tricky about them?
Yes. ;)
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?
There is no kernel driver, the legacy code reads the values as if it were
doing a cat /dev/input1 (or input2, etc). That code then figures out what
the character stream means...
The EV_LED stuff, which used to illuminate buttons on the Herc Mk1 when Tue
originally wrote the legacy code, was written in the Linux 2.4.x days and
broke when 2.6.x came out... No one I know has actually seen it work.
> 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?
>
libDJConsole does work via libUSB and it does control the LEDs just fine.
If you hit a button on a Herc Mk2 attached to Mixxx that button lights up
until you release it. It's possible to tell the button to stay lit, but I
don't know a clear cut way to have the HerculesLinux object know when some
one changes the state via the UI (keyboard or mouse).
Here's an example of that problem:
- We hit Play on the Herc Mk2, and set Play button to either stay lit or to
blink
- We hit Play on the Herc Mk2 again, and we know that the LED state is lit,
so we turn it off and stop playback.
- We hit Play on the Herc Mk2, and set Play button to either stay lit or to
blink
- Someone hits Play on the Mixxx main window (by clicking the soft button on
the UI, or by hotkey)
- Playback stops, but the Mk2 will still continue to be lit... Here's where
we would need a callback indicating the state has changed from the engine to
the HerculesLinux object
Just getting a feel for the support state of this device, I'll probably have
> more questions in the future :) If I can get the legacy support on a
> similar
> level to how it is in 1.5, that'll be a good start. Then I'll look at
> making it do a bit more.
Indeed, you might want to diff the current HerculesLinux.cpp with one from
Dec 1st or so... That will show you what changes were done to fix the math
sent to the engine in the libDJConsole code...
> Bear in mind that I'm neither a C++ nor device driver
> programmer, so it may be a slightly bumpy start, but it should be fun.
>
I'm a BSc Bio who writes Java code for a living... :D
Cheers,
-G
--
__
--- == __/ t.O ==--
http://stacktrace.org/
-------------------------------------------------------------------------
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