Cannot map some multibyte controller inputs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Invalid
|
Low
|
Unassigned |
Bug Description
Workin' on mapping the RMX 2. It seems to have some weird input for certain buttons, and other buttons are not being affected.
Mapping:
<options>
<normal/>
</options>
</control>
<options>
<normal/>
</options>
</control>
<options>
<normal/>
</options>
</control>
<options>
<normal/>
</options>
</control>
When I hit these buttons without holding shift, they register as status 0x90 buttons. If I hold shift, they go into the controller as 0xB0 status buttons. I have the buttons mapped as such but they do not function, still. Stranger yet, the Shift button and Microphone button have midiDebug outputs that look like this:
Shift button pressed, not released:
Debug [PM 3. DJConsole Rmx2 MIDI 1]: "3. DJConsole Rmx2 MIDI 1: [F0 00 01 4E 0E 06 02 00 00 00 01 00 00 00 F7 90 30 7F 00]"
Warning [PM 3. DJConsole Rmx2 MIDI 1]: MidiDevice: No MIDI Script function found for "3. DJConsole Rmx2 MIDI 1: [F0 00 01 4E 0E 06 02 00 00 00 01 00 00 00 F7 90 30 7F 00]"
Now, the buttons do have 3 byte MIDI messages, but they are randomly sent, meaning that the 3 byte sequence is unreliable, it does not always register or get sent. Somehow it mysteriously doesn't happen. However, the above weird message *does* always happen. I don't know how to map it, though.
OS: Ubuntu Linux 10.04
CPU: Intel Pentium (using a Dell Inspiron 1545, I believe)
All hardware is stock.
Controller: Hercules DJ Console RMX 2
Steps to reproduce the problem: Press and hold shift and press the pads in cue mode.
tags: | added: controllers |
Changed in mixxx: | |
status: | Triaged → Incomplete |
Changed in mixxx: | |
status: | Incomplete → Invalid |
That message from the shift key is a System Exclusive (SysEx) message with a standard 3-byte Note On message tacked on the end. Check your controller's documentation to see what it's supposed to send when you press Shift.
I had been working with ALSA developers to have a SysEx message sent when a controller tries to use non-standard MIDI bytes (0xF9 in particular,) but the standard note-on should not be there (rather sent as a separate message) so a bug will need to be filed with the ALSA MIDI team once you find out what your controller is actually sending.
You can handle the SysEx message now though by following the information I just added to the wiki: http:// mixxx.org/ wiki/doku. php/midi_ scripting# system- exclusive_ message_ handing_ functions