Rework the X-Touch Mini and ONE examples.
This commit is contained in:
parent
56ea96686a
commit
d0477d27d2
|
@ -11,9 +11,9 @@ This folder contains a couple of sample midizap configurations for different con
|
|||
|
||||
- [nanoKONTROL2.midizaprc](nanoKONTROL2.midizaprc): fix up the marker keys of the Korg nanoKONTROL2 in Cubase mode for use in Ardour
|
||||
|
||||
- [XTouchONE.midizaprc](XTouchONE.midizaprc): map the SCRUB key to the more important SHIFT key which the X-Touch ONE lacks
|
||||
- [XTouchMini.midizaprc](XTouchMini.midizaprc): adds a bunch of Mackie control functions to make the device more useful in MC mode
|
||||
|
||||
- [XTouchONE2.midizaprc](XTouchONE2.midizaprc): an improved config for the X-Touch ONE which turns the SCRUB key into an internal shift key, and offers more advanced configuration options
|
||||
- [XTouchONE.midizaprc](XTouchONE.midizaprc): adds a bunch of Mackie control functions to make the device more useful in MC mode
|
||||
|
||||
Other interesting items:
|
||||
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
|
||||
# Mapping for the X-Touch Mini in MC mode which takes care of the most glaring
|
||||
# issues with this (rather nice) device: (1) no bank change keys, (2) no
|
||||
# channel selection, and (3) no faders (except for the master fader).
|
||||
# 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.
|
||||
|
||||
# Copyright (c) 2018 Albert Graef <aggraef@gmail.com>
|
||||
|
||||
|
@ -15,8 +20,8 @@ JACK_PORTS 2
|
|||
|
||||
# automatic connections
|
||||
JACK_IN1 X-TOUCH MINI MIDI 1
|
||||
JACK_IN2 ardour:mackie control out
|
||||
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.
|
||||
|
@ -24,45 +29,77 @@ JACK_OUT2 X-TOUCH MINI MIDI 1
|
|||
PASSTHROUGH
|
||||
SYSTEM_PASSTHROUGH
|
||||
|
||||
# The idea of this mapping is to leave the original bindings mostly untouched,
|
||||
# and just add few things on top of it. Note that the device, besides the
|
||||
# encoders and the master faders, has two rows of 8 buttons and 2 buttons on
|
||||
# the right which are laid out in MC mode as follows:
|
||||
# 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.
|
||||
|
||||
# [CLICK] [SOLO] [TRACK] [SEND] [PAN] [PLUGIN] [EQ] [INST] [MARKER]
|
||||
# [DROP] [REPLACE] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [NUDGE]
|
||||
# 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:
|
||||
|
||||
# We turn the MC/DROP key into an internal SHIFT key and remap the other keys
|
||||
# as follows (with the shifted bindings given above and below in parentheses;
|
||||
# these become active when holding down the MC/SHIFT key):
|
||||
# [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:
|
||||
|
||||
# (SELECT) (SELECT) ... (MARKER)
|
||||
# [CLICK] [SOLO] [TRACK] [SEND] [PAN] [PLUGIN] [EQ] [INST] [BANK LEFT]
|
||||
# [SHIFT] [REPLACE] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [BANK RIGHT]
|
||||
# (DROP) (NUDGE)
|
||||
# [SHIFT] [ALT] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [BANK RIGHT]
|
||||
|
||||
# That is, the shifted REPLACE key makes up for the remapped DROP key, and the
|
||||
# MARKER and NUDGE keys must now be shifted to get these functions, while the
|
||||
# unshifted keys are used to change banks. In addition, the eight buttons in
|
||||
# the top row, when shifted, select the corresponding channel. And last but
|
||||
# not least, the encoders, when operated while holding down the MC/SHIFT key,
|
||||
# become the missing faders.
|
||||
# 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, since Ardour requires some of the keys to be combined with the MC
|
||||
# SHIFT key to get at some functions (SHIFT + SELECT/MARKER/NUDGE), we provide
|
||||
# a third ALT layer with those shifted bindings:
|
||||
|
||||
# [^SELECT] ... [UP]
|
||||
# [LEFT] [RIGHT] [ZOOM] [^MARKER] [^NUDGE] [DOWN]
|
||||
|
||||
# We also threw in some other useful MC keys (cursor and zoom) there. You may
|
||||
# want to adjust this layer as needed for your DAW program. The SHIFT layer,
|
||||
# in contrast, should be pretty generic, and work fine as is with most DAWs.
|
||||
|
||||
[MIDI]
|
||||
|
||||
# MC = shift button, with direct feedback
|
||||
# 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 = MARKER/NUDGE
|
||||
^C7 C7
|
||||
^C#7 C#7
|
||||
# shifted A/B buttons = channel left/right
|
||||
^C7 C4 # channel left
|
||||
^C#7 C#4 # channel right
|
||||
|
||||
# shifted REPLACE button = DROP
|
||||
^E7 D#7
|
||||
# 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
|
||||
|
@ -84,21 +121,52 @@ C#7 B3 # bank right
|
|||
^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
|
||||
|
||||
[MIDI2]
|
||||
|
||||
# feedback for the BANK LEFT/RIGHT buttons
|
||||
A#3 C7
|
||||
B3 C#7
|
||||
|
||||
# dummy feedback for the faders, to take advantage of automatic feedback
|
||||
# (see the alternative XTouchMini2.midizaprc configuration for some more
|
||||
# comprehensive bindings which do some actual feedback using the LED rings
|
||||
# of the encoders)
|
||||
PB[]-1 NOP
|
||||
PB[]-2 NOP
|
||||
PB[]-3 NOP
|
||||
PB[]-4 NOP
|
||||
PB[]-5 NOP
|
||||
PB[]-6 NOP
|
||||
PB[]-7 NOP
|
||||
PB[]-8 NOP
|
||||
# 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}'
|
||||
|
|
|
@ -1,110 +0,0 @@
|
|||
|
||||
# This is essentially the same as XTouchMini.midizaprc, but it assigns the
|
||||
# shifted A/B keys to channel left/right, and also provides some other useful
|
||||
# additional bindings and feedback on the SHIFT layer.
|
||||
|
||||
# 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
|
||||
JACK_IN1 X-TOUCH MINI MIDI 1
|
||||
JACK_IN2 ardour:mackie control out
|
||||
JACK_OUT1 ardour:mackie control in
|
||||
JACK_OUT2 X-TOUCH MINI MIDI 1
|
||||
|
||||
# Pass everything through, except for the translations below.
|
||||
|
||||
PASSTHROUGH
|
||||
SYSTEM_PASSTHROUGH
|
||||
|
||||
# As with XTouchMini.midizaprc, the MC button is the shift key, holding it
|
||||
# while pressing a button or operating the encoders provides additional MC
|
||||
# functions. The other controls are assigned as usual in unshifted state,
|
||||
# except that the A/B keys switch banks. When shifted, the master fader is
|
||||
# assigned to the first channel, like on the X-Touch ONE, and the encoders
|
||||
# become the eight channel faders. The bindings of the buttons are shown
|
||||
# below, shifted bindings are indicated above and below in parentheses.
|
||||
|
||||
# (SELECT) (SELECT) ... (CHAN LEFT)
|
||||
# [CLICK] [SOLO] [TRACK] [SEND] [PAN] [PLUGIN] [EQ] [INST] [BANK LEFT]
|
||||
# [SHIFT] [REPLACE] [REW] [FFWD] [LOOP] [STOP] [PLAY] [REC] [BANK RIGHT]
|
||||
# (DROP) (MARKER) (NUDGE) (FLIP) (CHAN RIGHT)
|
||||
|
||||
[MIDI]
|
||||
|
||||
# MC = shift button, with direct feedback
|
||||
D#7 SHIFT ^D#7 RELEASE SHIFT ^D#7
|
||||
|
||||
# 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
|
||||
^E7 D#7 # REPLACE = DROP
|
||||
^G7 C7 # REW = MARKER
|
||||
^G#7 C#7 # FFWD = NUDGE
|
||||
^D7 D4 # LOOP = FLIP
|
||||
|
||||
# SHIFT STOP/PLAY/REC are currently unassigned
|
||||
# ^A7 # STOP
|
||||
# ^A#7 # PLAY
|
||||
# ^B7 # REC
|
||||
|
||||
# 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
|
||||
|
||||
[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}'
|
|
@ -1,6 +1,12 @@
|
|||
|
||||
# The X-Touch ONE is quite capable as it is, it just lacks a SHIFT key.
|
||||
# The sole purpose of this utterly trivial config is to provide one.
|
||||
# The X-Touch ONE is a very capable Mackie device as it is, but it can still
|
||||
# be improved a bit with some midizap magic. Most notably, the device lacks a
|
||||
# SHIFT key, so we remap one of the lesser-used keys to provide an extra
|
||||
# shifted layer which can be assigned freely to additional MC functions which
|
||||
# aren't readily available on the device.
|
||||
|
||||
# NOTE: This config assumes that the X-Touch ONE is in its default Mackie
|
||||
# mode. Otherwise you will have to adjust the mapping accordingly.
|
||||
|
||||
# Copyright (c) 2018 Albert Graef <aggraef@gmail.com>
|
||||
|
||||
|
@ -12,23 +18,98 @@
|
|||
JACK_NAME "midizap-XTouchONE"
|
||||
JACK_PORTS 2
|
||||
|
||||
# automatic connections
|
||||
# Automatic connections for the device and Ardour.
|
||||
JACK_IN1 X-Touch One MIDI 1
|
||||
JACK_IN2 ardour:mackie control out
|
||||
JACK_OUT1 ardour:mackie control in
|
||||
JACK_IN2 ardour:mackie control out
|
||||
JACK_OUT2 X-Touch One MIDI 1
|
||||
|
||||
# Pass everything through, except for the one mapping below.
|
||||
# Pass everything through, except for the mappings below.
|
||||
PASSTHROUGH
|
||||
SYSTEM_PASSTHROUGH
|
||||
|
||||
# NOTE: This assumes that you use the default Mackie mode of the ONE.
|
||||
# Otherwise you'll have to adjust the key mapping accordingly. I use the
|
||||
# SCRUB key as a replacement (F8 in MC mode), because Ardour doesn't use
|
||||
# it. If you do need that key, use another one that you can spare.
|
||||
|
||||
[MIDI]
|
||||
F8 A#5
|
||||
|
||||
# I use the SCRUB key (F8 in MC mode) as the SHIFT key, because Ardour doesn't
|
||||
# need it. YMMV, though, so if you need that key, you'll have to substitute
|
||||
# another one that you can spare in the rule below.
|
||||
|
||||
F8 SHIFT ^F8 RELEASE SHIFT ^F8
|
||||
|
||||
# Remap the shifted F1 .. F4 keys to do something useful. I have them bound to
|
||||
# the most important encoder assignment keys here, but of course you can
|
||||
# change them to anything you want.
|
||||
|
||||
^F#4 E3 # Track (Trim in Ardour)
|
||||
^G4 F#3 # Pan
|
||||
^G#4 F3 # Send
|
||||
^A4 G3 # Plugin (not supported by Ardour)
|
||||
|
||||
# Remap the shifted F5 and F6 keys to F7 and F8 which are missing on the ONE.
|
||||
|
||||
^A#4 C5
|
||||
^B4 C#5
|
||||
|
||||
# If you're using the encoder assignment keys, then most likely you also want
|
||||
# to have a FLIP button; we (rather arbitrarily) assign it to the shifted SOLO
|
||||
# button in the TRANSPORT section.
|
||||
|
||||
^F#7 D4 # Flip
|
||||
|
||||
# Since the X-Touch ONE is a single-channel controller, I like to have the
|
||||
# bank and channel keys linked up with channel SELECT, so that the current
|
||||
# channel is also selected in the DAW when switching banks. Therefore I have
|
||||
# bound these functions to the shifted bank and channel keys here, but of
|
||||
# course you can change them to anything you want.
|
||||
|
||||
^A#3 A#3 C2 # BANK< SELECT
|
||||
^B3 B3 C2 # BANK> SELECT
|
||||
^C4 C4 C2 # CHAN< SELECT
|
||||
^C#4 C#4 C2 # CHAN> SELECT
|
||||
|
||||
# With the translations below, the other shifted buttons are simply passed
|
||||
# through along with the MC SHIFT key (A#5). You can either assign these
|
||||
# combinations in the DAW (e.g., I have the shifted left/right keys bound to
|
||||
# the previous/next marker functions in Ardour), or just directly edit the
|
||||
# bindings below as you see fit.
|
||||
|
||||
# NOTE: We use an explicit RELEASE sequence here, to prevent the MC SHIFT key
|
||||
# from being released too early. (Note that by default, midizap will release
|
||||
# MIDI key events in the same order in which they are pressed, which may not
|
||||
# work in some key combinations. At least I found that this confuses Ardour in
|
||||
# some cases.)
|
||||
|
||||
^C8 A#5 C8 RELEASE C8 A#5 # Up
|
||||
^C#8 A#5 C#8 RELEASE C#8 A#5 # Down
|
||||
^D8 A#5 D8 RELEASE D8 A#5 # Left
|
||||
^D#8 A#5 D#8 RELEASE D#8 A#5 # Right
|
||||
^E8 A#5 E8 RELEASE E8 A#5 # Zoom
|
||||
|
||||
^C0 A#5 C0 RELEASE C0 A#5 # SHIFT REC
|
||||
^G#0 A#5 G#0 RELEASE G#0 A#5 # SHIFT SOLO
|
||||
^E1 A#5 E1 RELEASE E1 A#5 # SHIFT MUTE
|
||||
^C2 A#5 C2 RELEASE C2 A#5 # SHIFT SELECT
|
||||
|
||||
^C7 A#5 C7 RELEASE C7 A#5 # SHIFT MARKER
|
||||
^C#7 A#5 C#7 RELEASE C#7 A#5 # SHIFT NUDGE
|
||||
^D7 A#5 D7 RELEASE D7 A#5 # SHIFT CYCLE
|
||||
^D#7 A#5 D#7 RELEASE D#7 A#5 # SHIFT DROP
|
||||
^E7 A#5 E7 RELEASE E7 A#5 # SHIFT REPLACE
|
||||
^F7 A#5 F7 RELEASE F7 A#5 # SHIFT CLICK
|
||||
|
||||
^G7 A#5 G7 RELEASE G7 A#5 # SHIFT REW
|
||||
^G#7 A#5 G#7 RELEASE G#7 A#5 # SHIFT FFWD
|
||||
^A7 A#5 A7 RELEASE A7 A#5 # SHIFT STOP
|
||||
^A#7 A#5 A#7 RELEASE A#7 A#5 # SHIFT PLAY
|
||||
^B7 A#5 B7 RELEASE B7 A#5 # SHIFT REC
|
||||
|
||||
[MIDI2]
|
||||
A#5 F8
|
||||
|
||||
# feedback for the (shifted) F1 .. F6 bindings and the remapped SOLO key
|
||||
E3 F#4
|
||||
F#3 G4
|
||||
F3 G#4
|
||||
A3 A4
|
||||
C5 A#4
|
||||
C#5 B4
|
||||
D4 F#7 # FLIP -> SOLO
|
||||
|
|
|
@ -1,149 +0,0 @@
|
|||
|
||||
# This is an improved configuration for the X-Touch ONE which uses an internal
|
||||
# SHIFT key instead. Setting up your own bindings in midizap offers a lot more
|
||||
# possibilities than relying solely on your DAW's mapping abilities (you can
|
||||
# still use those in conjunction with midizap, too).
|
||||
|
||||
# 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-XTouchONE"
|
||||
JACK_PORTS 2
|
||||
|
||||
# automatic connections
|
||||
JACK_IN1 X-Touch One MIDI 1
|
||||
JACK_IN2 ardour:mackie control out
|
||||
JACK_OUT1 ardour:mackie control in
|
||||
JACK_OUT2 X-Touch One MIDI 1
|
||||
|
||||
# Pass everything through, except for the mappings below.
|
||||
PASSTHROUGH
|
||||
SYSTEM_PASSTHROUGH
|
||||
|
||||
[MIDI]
|
||||
|
||||
# NOTE: This assumes that you use the default Mackie mode of the ONE.
|
||||
# Otherwise you will have to adjust the mapping accordingly. I use the SCRUB
|
||||
# key (F8 in MC mode) as the SHIFT key, because I don't need that function
|
||||
# (it's not available in Ardour yet). If you need that key, you'll have to use
|
||||
# another one that you can spare.
|
||||
|
||||
F8 SHIFT ^F8 RELEASE SHIFT ^F8
|
||||
|
||||
# Remap the shifted F1 .. F4 keys to do something useful. I have them bound to
|
||||
# the most important encoder assignment keys here, but of course you can
|
||||
# change them to anything you want.
|
||||
|
||||
^F#4 E3 # Track (Trim in Ardour)
|
||||
^G4 F#3 # Pan
|
||||
^G#4 F3 # Send
|
||||
^A4 G3 # Plugin (not supported by Ardour)
|
||||
|
||||
# If you're using the bindings above, then most likely you also need the FLIP
|
||||
# button which swaps fader and encoder; we (rather arbitrarily) assign it to
|
||||
# the shifted SOLO button in the TRANSPORT section.
|
||||
|
||||
^F#7 D4 # Flip
|
||||
|
||||
# Here's an alternative binding to the utility keys which you may find useful.
|
||||
# Uncomment these lines (and comment out the encoder assignment section above)
|
||||
# to use these instead.
|
||||
|
||||
#^F#4 G#6 # Save
|
||||
#^G4 A6 # Undo
|
||||
#^G#4 A#6 # Cancel
|
||||
#^A4 B6 # Enter
|
||||
|
||||
# Remap the shifted F5 and F6 keys to F7 and F8 which are missing on the ONE.
|
||||
|
||||
^A#4 C5
|
||||
^B4 C#5
|
||||
|
||||
# Since the X-Touch ONE is a single-channel controller, I like to have the
|
||||
# bank and channel keys linked up with channel SELECT, so that the current
|
||||
# channel is also selected in the DAW when switching banks. Therefore I have
|
||||
# bound these functions to the shifted bank and channel keys here, but of
|
||||
# course you can change them to anything you want.
|
||||
|
||||
# NOTE: You might have to configure a bank size of 1 for the ONE, so that all
|
||||
# tracks become accessible. A suitable device description for Ardour is
|
||||
# included (see x-touch-one.device).
|
||||
|
||||
^A#3 A#3 C2 # BANK< SELECT
|
||||
^B3 B3 C2 # BANK> SELECT
|
||||
^C4 C4 C2 # CHAN< SELECT
|
||||
^C#4 C#4 C2 # CHAN> SELECT
|
||||
|
||||
# Pass through the shifted cursor keys. This assumes that they're already
|
||||
# mapped to something in the DAW; e.g., I have the shifted left/right keys
|
||||
# bound to the previous/next marker functions in Ardour.
|
||||
|
||||
# NOTE: We use an explicit RELEASE sequence here, so that the SHIFT key (A#5)
|
||||
# is released last. By default, midizap will release MIDI key events in the
|
||||
# same order in which they are pressed, which may not work in some key
|
||||
# combinations, since the SHIFT key gets released too early. (At least I found
|
||||
# that this confuses Ardour in some cases, YMMV.)
|
||||
|
||||
^C8 A#5 C8 RELEASE C8 A#5 # Up
|
||||
^C#8 A#5 C#8 RELEASE C#8 A#5 # Down
|
||||
^D8 A#5 D8 RELEASE D8 A#5 # Left
|
||||
^D#8 A#5 D#8 RELEASE D#8 A#5 # Right
|
||||
|
||||
# With the translations below, most other shifted keys in the CHANNEL and
|
||||
# TRANSPORT sections are simply passed through along with the SHIFT key as
|
||||
# well. You can either assign these combinations in the DAW, or edit the
|
||||
# bindings below.
|
||||
|
||||
^C0 A#5 C0 RELEASE C0 A#5 # SHIFT REC
|
||||
^G#0 A#5 G#0 RELEASE G#0 A#5 # SHIFT SOLO
|
||||
^E1 A#5 E1 RELEASE E1 A#5 # SHIFT MUTE
|
||||
^C2 A#5 C2 RELEASE C2 A#5 # SHIFT SELECT
|
||||
|
||||
^C7 A#5 C7 RELEASE C7 A#5 # SHIFT MARKER
|
||||
^C#7 A#5 C#7 RELEASE C#7 A#5 # SHIFT NUDGE
|
||||
^D7 A#5 D7 RELEASE D7 A#5 # SHIFT CYCLE
|
||||
^D#7 A#5 D#7 RELEASE D#7 A#5 # SHIFT DROP
|
||||
^E7 A#5 E7 RELEASE E7 A#5 # SHIFT REPLACE
|
||||
^F7 A#5 F7 RELEASE F7 A#5 # SHIFT CLICK
|
||||
|
||||
^G7 A#5 G7 RELEASE G7 A#5 # SHIFT REW
|
||||
^G#7 A#5 G#7 RELEASE G#7 A#5 # SHIFT FFWD
|
||||
^A7 A#5 A7 RELEASE A7 A#5 # SHIFT STOP
|
||||
^A#7 A#5 A#7 RELEASE A#7 A#5 # SHIFT PLAY
|
||||
^B7 A#5 B7 RELEASE B7 A#5 # SHIFT REC
|
||||
|
||||
# Experiment with shifted controls. This remaps the shifted fader, encoder and
|
||||
# jog wheel on the ONE to CC1..CC3. As these controls aren't used by MCP, they
|
||||
# can be assigned freely, e.g., to some plugin parameters, using MIDI learn.
|
||||
# (To make this work in Ardour, you have to connect midizap's midi_out port to
|
||||
# Ardour's MIDI control in port, in addition to the Mackie control in port.)
|
||||
|
||||
# NOTE: Touching the fader also emits a note message (G#8), which will get in
|
||||
# the way with MIDI learn, so we disable it here.
|
||||
|
||||
^G#8 NOP
|
||||
^PB[128]{0} CC1'
|
||||
^CC16~ CC2
|
||||
^CC60~ CC3
|
||||
|
||||
[MIDI2]
|
||||
|
||||
# feedback for the (shifted) F1 .. F6 bindings
|
||||
E3 F#4
|
||||
F#3 G4
|
||||
F3 G#4
|
||||
A3 A4
|
||||
|
||||
D4 F#7 # FLIP -> SOLO
|
||||
|
||||
#G#6 F#4
|
||||
#A6 G4
|
||||
#A#6 G#4
|
||||
#B6 A4
|
||||
|
||||
C5 A#4
|
||||
C#5 B4
|
Loading…
Reference in New Issue