X‐touch & X‐touch extender midi mode implementation - JoueBien/rtp-midi-transport GitHub Wiki
A Markdown version of this document X-TOUCH/X-TOUCH EXTENDER MIDI Mode Implementation.
Buttons:
- Note on #0..103 (push: velocity 127, release: velocity 0)
Button Leds:
- Note on #0..103 (velocity 0..63: off, velocity 64: flash, velocity 65..127: on)
Fader:
- Control change 70..77(78) (receive and transmit)
Fader Touch:
- Note on #110..117(118) (touch: velocity 127, release: velocity 0)
Encoder:
- absolute mode: Control change 80..87 (value 0..127)
- relative mode: Control change 80..87 (increment: value 65, decrement: value 1)
Encoder Rings:
- Control change 80..87 (value 0..127)
Jog Wheel:
- Control change 88 (turn CW: value 65, CCW: value 1)
Meter Leds:
- Control change 90..97 (value 0..127)
Foot Controller:
- Control change 4 (value 0..127)
Foot Switch:
- Control change 64 (FS1) and 67 (FS2) (push: velocity 127, release: velocity 0)
LCDs:
- sysex (hex) F0 00 20 32 dd 4C nn cc c1 .. c14 F7
- dd: device id (X-Touch: 0x14, X-Touch-Ext: 0x15)
- nn: LCD number 0..7
- cc: bits 0-2: backlight color (black, red, green, yellow, blue, magenta, cyan, white)
- cc: bit 4: invert upper half of LCD
- cc: bit 5: invert lower half of LCD
- c1..c14: ascii characters (1..7: upper half, 8..14: lower half)
#Segment Displays:
- sysex (hex) F0 00 20 32 dd 37 s1 .. s12 d1 d2 F7
- dd: device id (X-Touch: 0x14, X-Touch-Ext: 0x15)
- s1..s12: segment data (bit 0: segment a, .. bit 6: segment g)
- d1: dots for displays 1..7 (bit 0: display 1, .. bit 6: display 7)
- d2: dots for displays 8..12 (bit 0: display 8, .. bit 4: display 12)