# 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 # 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