191 lines
6.3 KiB
Plaintext
191 lines
6.3 KiB
Plaintext
|
|
# While the X-Touch Mini is very popular as a Lightroom controller, musicians
|
|
# often complain that its Mackie control mode is just too basic. But midizap
|
|
# makes it easy to add most of the essential MC functions that are missing, so
|
|
# that the unit becomes really usable as a control surface.
|
|
|
|
# NOTE: This configuration assumes that the X-Touch Mini is in MC mode, which
|
|
# is the case if the MC MODE LED on the right side is lit. If necessary, you
|
|
# can switch the device to MC mode by holding the MC key while powering it up.
|
|
|
|
# NOTE: There's an addon to this configuration with some MIDI CC bindings on
|
|
# the ALT layer, see XTouchMini+.midizaprc.
|
|
|
|
# Copyright (c) 2018 Albert Graef <aggraef@gmail.com>
|
|
|
|
# Copying and distribution of this file, with or without modification, are
|
|
# permitted in any medium without royalty provided the copyright notice and
|
|
# this notice are preserved. This file is offered as-is, without any
|
|
# warranty.
|
|
|
|
JACK_NAME "midizap-XTouchMini"
|
|
JACK_PORTS 2
|
|
|
|
# Automatic connections for the device and Ardour.
|
|
JACK_IN1 X-TOUCH MINI MIDI 1
|
|
JACK_OUT1 ardour:mackie control in
|
|
JACK_IN2 ardour:mackie control out
|
|
JACK_OUT2 X-TOUCH MINI MIDI 1
|
|
|
|
# Pass everything through, except for the translations below.
|
|
|
|
PASSTHROUGH
|
|
SYSTEM_PASSTHROUGH
|
|
|
|
# The idea of this mapping is to leave the original bindings mostly untouched.
|
|
# In order to accommodate the missing MC functions, we add two shifted layers.
|
|
# To access these layers, we reassign the first two keys in the bottom row as
|
|
# internal shift keys, denoted SHIFT and ALT in the following.
|
|
|
|
# Note that the device, besides the encoders and the master fader, has two
|
|
# rows of 8 buttons and 2 buttons on the right which are laid out in MC mode
|
|
# as follows:
|
|
|
|
# [CLICK] [SOLO] [TRACK] [SEND] [PAN] [PLUGIN] [EQ] [INST] [MARKER/A]
|
|
# [DROP/MC] [REPLACE] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [NUDGE/B]
|
|
|
|
# This midizap configuration remaps them as follows:
|
|
|
|
# [CLICK] [SOLO] [TRACK] [SEND] [PAN] [PLUGIN] [EQ] [INST] [BANK LEFT]
|
|
# [SHIFT] [ALT] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [BANK RIGHT]
|
|
|
|
# Note the two shift keys (SHIFT and ALT) in the lower button row, and the
|
|
# bank switch keys on the right. Other than that, the unshifted layer is
|
|
# unchanged. On the SHIFT layer, the bindings are as follows:
|
|
|
|
# [SELECT] ... [CHAN LEFT]
|
|
# [DROP] [REPLACE] [FLIP] [MARKER] [NUDGE] [CHAN RIGHT]
|
|
|
|
# Note that the remapped functions (DROP, REPLACE, MARKER, NUDGE) are now
|
|
# available as shifted keys in the bottom row. We also added the FLIP key
|
|
# there. The shifted keys in the top row are bound to the channel SELECT
|
|
# functions. Moreover, our translations for the SHIFT layer also assign the
|
|
# master fader to the first channel, like on the X-Touch ONE, and the encoders
|
|
# become the eight channel faders.
|
|
|
|
# Finally, the ALT layer. Since Ardour requires some of the keys to be
|
|
# combined with the MC SHIFT key to get at some functions (in particular,
|
|
# SHIFT + SELECT/MARKER/NUDGE), we provide those shifted bindings on this
|
|
# layer. We also throw in some more MC keys (cursor and zoom):
|
|
|
|
# [^SELECT] ... [UP]
|
|
# [LEFT] [RIGHT] [ZOOM] [^MARKER] [^NUDGE] [DOWN]
|
|
|
|
# Note that the way I've configured this layer is somewhat tailored to Ardour,
|
|
# so you may want to adjust it to your liking. The SHIFT layer, in contrast,
|
|
# should be pretty generic, and work fine as is with most DAWs.
|
|
|
|
[MIDI]
|
|
|
|
# Note that, as explained in the midizap manual, you can change the SHIFT and
|
|
# ALT keys to CapsLock-style keys by removing the RELEASE part of the
|
|
# sequence. They will then work as toggles. With the RELEASE sequence, they
|
|
# work as momentary switches, i.e., you need to hold them down to invoke a
|
|
# shifted function.
|
|
|
|
# MC = SHIFT button, with direct feedback
|
|
D#7 SHIFT ^D#7 RELEASE SHIFT ^D#7
|
|
|
|
# ALT button
|
|
E7 SHIFT2 ^E7 RELEASE SHIFT2 ^E7
|
|
|
|
# A/B buttons on the right = bank left/right
|
|
C7 A#3 # bank left
|
|
C#7 B3 # bank right
|
|
|
|
# shifted A/B buttons = channel left/right
|
|
^C7 C4 # channel left
|
|
^C#7 C#4 # channel right
|
|
|
|
# other shifted buttons
|
|
^G7 D#7 # REW = DROP
|
|
^G#7 E7 # FFWD = REPLACE
|
|
^D7 D4 # LOOP = FLIP
|
|
^A7 C7 # STOP = MARKER
|
|
^A#7 C#7 # PLAY = NUDGE
|
|
# ^B7 # REC, currently unassigned
|
|
|
|
# shifted top row = SELECT
|
|
^F7 C2
|
|
^F#7 C#2
|
|
^E3 D2
|
|
^F3 D#2
|
|
^F#3 E2
|
|
^G3 F2
|
|
^G#3 F#2
|
|
^A3 G2
|
|
|
|
# shifted encoders = channel faders
|
|
^CC16~ PB[129]-1
|
|
^CC17~ PB[129]-2
|
|
^CC18~ PB[129]-3
|
|
^CC19~ PB[129]-4
|
|
^CC20~ PB[129]-5
|
|
^CC21~ PB[129]-6
|
|
^CC22~ PB[129]-7
|
|
^CC23~ PB[129]-8
|
|
|
|
# fader goes to first channel in bank when shifted
|
|
^PB[]-9 PB-1
|
|
|
|
# ALT layer. This uses the same trick (the explicit RELEASE sequence) as in
|
|
# XTouchONE.midizaprc to transmit the MC SHIFT key (A#5) in the right order.
|
|
|
|
# ALT top row = SHIFT+SELECT
|
|
2^F7 A#5 C2 RELEASE C2 A#5
|
|
2^F#7 A#5 C#2 RELEASE C#2 A#5
|
|
2^E3 A#5 D2 RELEASE D2 A#5
|
|
2^F3 A#5 D#2 RELEASE D#2 A#5
|
|
2^F#3 A#5 E2 RELEASE E2 A#5
|
|
2^G3 A#5 F2 RELEASE F2 A#5
|
|
2^G#3 A#5 F#2 RELEASE F#2 A#5
|
|
2^A3 A#5 G2 RELEASE G2 A#5
|
|
|
|
2^A7 A#5 C7 RELEASE C7 A#5 # ALT+STOP = SHIFT+MARKER
|
|
2^A#7 A#5 C#7 RELEASE C#7 A#5 # ALT+PLAY = SHIFT+NUDGE
|
|
|
|
2^G7 D8 # ALT+REW = LEFT
|
|
2^G#7 D#8 # ALT+FFWD = RIGHT
|
|
2^D7 E8 # ALT+LOOP = ZOOM
|
|
2^C7 C8 # ALT+A = UP
|
|
2^C#7 C#8 # ALT+B = DOWN
|
|
|
|
# Encoders and fader are disabled on the ALT layer, to accommodate the MIDI CC
|
|
# bindings in XTouchMini+.midizaprc.
|
|
|
|
2^CC16~ NOP
|
|
2^CC17~ NOP
|
|
2^CC18~ NOP
|
|
2^CC19~ NOP
|
|
2^CC20~ NOP
|
|
2^CC21~ NOP
|
|
2^CC22~ NOP
|
|
2^CC23~ NOP
|
|
|
|
2^PB[]-9 NOP
|
|
|
|
[MIDI2]
|
|
|
|
# feedback for the BANK LEFT/RIGHT buttons
|
|
A#3 C7
|
|
B3 C#7
|
|
|
|
# We also provide feedback for the *faders* here, so that the current values
|
|
# are shown on the LED rings of the encoders while the faders are being
|
|
# operated. Note that the fader values are shown in "fan" mode (arc from zero
|
|
# to the current value) so that they're distinguishable from pan values which
|
|
# will be shown in "pan" mode (single tick indicating left/right position).
|
|
|
|
# NOTE: This is still experimental. Overloading the encoders in this manner is
|
|
# convenient and seems to work reasonably well in Ardour at least, but having
|
|
# some encoders display pan and others volume may be confusing at times.
|
|
|
|
PB[1536]{0}-1 CC48{33-43}'
|
|
PB[1536]{0}-2 CC49{33-43}'
|
|
PB[1536]{0}-3 CC50{33-43}'
|
|
PB[1536]{0}-4 CC51{33-43}'
|
|
PB[1536]{0}-5 CC52{33-43}'
|
|
PB[1536]{0}-6 CC53{33-43}'
|
|
PB[1536]{0}-7 CC54{33-43}'
|
|
PB[1536]{0}-8 CC55{33-43}'
|