midizap/examples/XTouchONE2.midizaprc

144 lines
4.8 KiB
Plaintext

# 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
# 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 a SHIFT key replacement, 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)
^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