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)