Here’s my information from my notes. I can’t guarantee any of this works though since it’s been a few years since I’ve had an X-Touch. Also there’s some command line things in there that I did that I don’t think are 100% necessary so if you’re not comfortable with that I’d say skip those steps and maybe use the finder to back up your files. The main thing you’ll lose if something goes wrong is any configuration setttings.. I found Logic to be finicky and sometimes it would lose my settings and that’s why I kept a backup after I got everything working as I wanted so if it did, I could just copy my configuration file and replace the one Logic mangled.
I wanted to read this Behringer forum post as well. The text is reproduced below…
X-Touch Configure User Modes
A few things to keep in mind before diving into attempting this. If you’ve done any customization at all with your X-Touch or other MCU based surface I STRONGLY recommend you copy this file somewhere safe
The ~ means your home directory and you can easily find the Library directory by going into the Finder, holding down the option key and and going to the Go menu where you will see a Library menu (if you don’t hold the option key down it’s hidden). Inside the Library directory is a Preferences folder which contains the file named “com.apple.logic.pro.cs”. Copy that file to your desktop or somewhere safe in case modifying things gets you into a funky state. But.. if you’ve done no customization of your surface in Logic then you can skip that step as it’s very simple if you get into a funky state to go into the Logic Pro X menu and select Control Surfaces —> Rebuild Defaults which will wipe out your Controller Assignments and reset everything.
Personally while I was testing all this (I’m a software engineer so this tool is my day to day existence) I used the Terminal.app application in Application/Utilities and ran this command to make 100% sure I was rebuilding a brand new one when Logic restarted. I don’t think this is necessary though – its just what I was doing. Note the below $ is the command line prompt – you really only need to type what’s after the dollar sign into the terminal.
$ rm ~/Library/Preferences/com.apple.logic.pro.cs
OK on to the meat of this post. My goal as stated in the original post was to be able to assign the F1 through F8 keys to specific commands so that I could in my workflow say User Mode 1 is for audio editing and User Mode 2 is for composing and User Mode 3 is for Mixing, etc. You can also get similar functionality by using modifier keys and pressing the function key but I quickly found pressing function keys and a modifier the way the buttons are laid out to be tedious.. If the modifiers were to the left of Fader 1 that may not have been the case.
I want to point out the crux of the issue as to why I found this so confusing is that by default Logic sets F1-F8 as Recall Screenset 1, Recall Screenset 2, etc AND more perplexing is that this a global mode that supersedes any other user mode settings you may do. What I discovered is that each of the encoder assign buttons (Track, Pan, EQ, etc) are configured inside the VPots “Zone” and assigned to the own modes. The trick is to move those default functions out of the global user space so that you can customize them. But for this post I wanted people to have the recall screenset functionality in each of the standard modes when you select the TRACK, PAN/SURROUND, EQ, etc buttons. You absolutely don’t have to do that if you don’t have any use for it but I also found this helps clarify WTH is going inside the controller assignment editor inside of Logic.
Another default setting is that the eight user modes that come built into Logic are all inside the VPots zone for some reason. I tried moving this elsewhere without success but it was prior to me really understanding what was going on so I may come back and try and figure it out.
Here are the steps I took to get the point where I could create a set of custom Function keys when in User Mode 1 (which you get to by holding Shift and Pressing Track – the X-Touch screen will display “u1” to the right of the time display.
- Go to the menu Logic Pro X -> Control Surfaces -> Controller Assignments or press Shift-Option-K
- Under Zone select Control Surface: Mackie Control and select No Mode (it should be the only one there).
- Highlight (i.e. shift-select) the F1-F8 Control param
- “Cut” these values using Command-X. It’s important you CUT these values out of the global space or those will always override and you won’t be able to get the level of customization that I’m looking for.
- Select Zone “VPots” and mode “Channel Strip, Mixer View” and paste in the function keys you cut earlier (Command-V). This will now move your Recall Screenset function key defaults and associate them when the Track button is selected. Notice that if you select the Pan/Surround button and press F1-F8, that now these F-keys won’t do anything because we removed them from the global space.
- If you want the default functionally of the recall screenset functions to work in TRACK, PAN/SURROUND, EQ, SEND, PLUG-IN, INST modes you will have to copy and paste the same F1-F8 control commands that you just pasted into your “Channel Strip, Mixer View” into the correct locations which are as follows (including TRACK here to capture all settings). TRACK: VPots -> Channel Strip, Mixer View PAN/SURROUND: VPots -> Pan/Surround EQ: VPots -> EQ, Mixer View SEND: VPots -> Send, Mixer View PLUG-IN: VPots -> Plug-In INST: VPots -> Instrument You can test as you go to make sure that those setting changes are working as you work your way through. As I was figuring this out I would say add the commands to EQ and then close the Controller Assignment window, go into SEND mode and confirm that they didn’t work and then copy them into the Send, Mixer View mode and test that they did work. But you guys don’t have to do that unless you want to make sure.
- As I mentioned the User 1 – User 8 modes are all under the VPot zone (you’ll have to scroll down to see it) and they’re all initially set with no control functions so technically User modes don’t really do anything other then global commands. At least I think that’s the case but someone correct me if I’m wrong. So the next step for me was to get User 1 mode working with my own functions. Again you can copy/paste the F1-F8 functions into User 1 mode. Now you can go in edit those to do whatever you want. I’m not going to go super deep into that as it’s fairly easy to understand. Basically you select for example F1 (in User 1 mode) and to the right you will see the controller assignment section. In my case I wanted to assign a key command for Split Regions at Playhead (Command-T on regular keyboard) so the Class drop down I selected Key Command. Then there is another dropdown menu called Command. For my use case I found via trial and error that the “Main Window Tracks and Various Editors” command set has Split Regions at Playhead.. Select that and then the drop down right below it has a ton of commands one of which is Split Regions at Playhead Position.
To test I closed the Controller Assignment window (there is no way to specifically save but apparently it’s just saved automatically) went into User 1 mode by holding down the Shift and Track button on the X-Touch. I then went to the tracks view in my project, selected a region, moved the playhead somewhere in the middle of the region and pressed F1. The region should be successfully split at the playhead.
And that’s about it and as far as I’ve gotten. There are hundreds of commands at your disposal with this technique and I’m sure the integration can be done much deeper if you dig deeper but this solves for me a large portion of what I wanted to get done with my X-Touch. Basically F1-F8 and then if I wanted I could add shift, option and command and control modifiers to grow that list x4 plus I think really any part of the surface (pots, faders, etc can be done this way). I’m hoping I can modify the jog wheel to nudge instead of the Rew/FF buttons in Nudge mode this way. I honestly didn’t know there was even such a thing as User modes when I bought my X-Touch until I read the Apple Logic Control Surface ebook from the iBooks store. I recommend reading the Mackie Control section for that book for anyone interested in this level of customization. The book is very poorly organized and there’s links to all these different sections so it’s very difficult to follow but just reading through it a few times and following the links will give you a better understanding of the terminology especially after doing the steps I’ve described here.
I hope this helps some folks who are looking at how to customize their X-Touch and most likely this works for the Mackie Control units as well. Logic Pro Help had lots of similar questions to mine over the years and I scoured it for hours and never found the answer of how to set it up.
If you’re having trouble post here and I can try and help.