midizap/examples/XTouchONE2.midizaprc

119 lines
4.1 KiB
Plaintext

# This is an alternative configuration for the X-Touch ONE which sets up an
# internal SHIFT key instead. This lets you provide your own shifted
# translations for the keys of the device in midizap, instead of having to
# rely on your DAW's abilities to configure such bindings.
# 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 as a replacement (F8 in MC mode), because I don't need that function
# (it's not available in Ardour yet). If you need that key, use another one
# that you can spare.
F8 SHIFT ^F8 RELEASE SHIFT ^F8
# Remap the shifted F1 .. F4 keys to do something useful. E.g., I have them
# bound to the utility keys here, but of course you can change them to
# anything you want.
^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 should configure a bank size of 1 for the ONE, so that all tracks
# become accessible. At least that's necessary in Ardour; 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
# By default, 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
^F#7 A#5 F#7 RELEASE F#7 A#5 # SHIFT SOLO
^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.
# 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
^G#6 F#4
^A6 G4
^A#6 G#4
^B6 A4
^C5 A#4
^C#5 B4