# How to implement custom controller assignments within Logic Pro X?



## Audio Birdi (Apr 18, 2015)

Hi there,

I was wondering if anybody has an idea on how to implement a custom controller assignment that allows you to select a specific channel strip?

When using a certain control surface and looking through the specific commands, there are "select channel 1", "select channel 2" assignments as well as banking left and right using the control surface.

I was wondering how to implement the "select" parameter, as displayed on the attached image?

I've tried this myself and cannot use the "learn mode" to implement the "select" parameter, only volume, pan etc. Logic won't let me manually type in a parameter either it seems.

Thanks in advance.


----------



## A.G (Apr 18, 2015)

Hi Kabir,

It is easy. You have added CS-32 control surface and you are trying to use it as a Generic Controller - right? You can not re-learn the factory assignments to my knowledge, however you can re-program the "Select" assignments to custom CC Numbers. What you need is to get some knowledge about the Hexadecimal numbers. I'm away of my hardware equipment right now, that's why I exported a short non-voice Video using a few Environment Buttons as CC Emulators, and the IAC Port as Hardware Port in the Video (you can do the same with any External Controller).
*1. *Set a couple of External Hardware Buttons to say MIDI Ch.1; CC12, CC13, CC14, etc using Button MIN/MAX values 127 for example, like my Environment EMU Buttons shown in the Video.
*2.* Open the Controller Assignments dialog, select the "Select 1" assignment, change the hardware INPUT from "Any" to your Hardware Device (I change it to IAC in the Video).
*3.* Double click the "Value Change" menu and type (in Hex) the MIDI Channel, CC# and the Value as I show in the Video. For example *B0 0C 7F* means:
B=Controller
0 = MIDI Ch.1
0C = 12 (CC#)
7F=127 (CC value)

*Logic Select Channel Strip via CC - DEMO VIDEO (1.8 Mb): *DOWNLOAD


----------



## Audio Birdi (Apr 18, 2015)

Hi there Ivan, 

Many thanks for the video, that looks like a good way to trigger track selection Via button presses! It works well and seem quick to implement.

I was wondering if it's possible to add more than 32 "select" assignments so that I can literally select any track at the push of a button.

Thanks.
Kabir


----------



## A.G (Apr 19, 2015)

KaBirdi @ Sat Apr 18 said:


> I was wondering if it's possible to add more than 32 "select" assignments



Sure, you can do that. Working with more than 32 buttons is hard that's why some people use Bank select which require additional CC message to shift the bank etc.
This makes me crazy cause is not "Direct". When I want to switch from Track# 3 to say Track# 96 I prefer to do that using one message. To to that I use Program Change (a few of my Vintage controllers offer direct on board PC buttons - it's just for the show). 
Here is my workflow (watch the new Video below):
*1. *I create a Transformer object in the Click & Ports Environment layer. This transformer splits out the Program Change messages thru its Top Cable and transforms the PC# into CC# (Ch.15), value 127. I.e the factory CS-32 control surface is programmed to this default "Select", so the Enviro Transformer saves me lots of manual work. 
*2. *The Transformer is cabled to an IAC port set to Ch.All. (In my example Video I have created a few EMU Buttons which send Program Changes to the Transformer).
*3.* In CA you have to select each factory "Select" assignment and its "Input" to IAC (the default "Any" does not work for some reasons).
*4. *You will see that I have copied the last "Select 32" assignment and created new ones 33, 34, 35 etc. I show how to set the "Fader Bank" & "Value Change" in Hex using the Mac app Programmer Calculator (switch it in the Calculator View menu).

*Note:* You can offset the Program Change messages to the correspond Track number. Open the Transformer and assign the Data Byte 1 Operation (second row) to "Add - 1". So when send PC#1 it will be Transformed into CC#0 etc.

*Select Logic Tracks via Program Change - A.G VIDEO (10Mb) -* DOWNLOAD


----------



## Audio Birdi (Apr 19, 2015)

Many thanks for the assistance Ivan, exactly what I was looking for! :D I didn't realise the CC values in controller assignments were hex values! I can input any midi CC value to any button now 

Thank you,
Kabir


----------



## ambc music (May 7, 2015)

Hi,

I was able to get this to work but my current problem is that every time I quit Logic I lose the setting under Controller Assignments (Expert View) --> MIDI Input message --> Input. 

I'm trying to do this using Lemur. I had set the correct MIDI port where Lemur is sending messages to and it works...until I quit the app and open it again and the Input info is gone.

Any help would be greatly appreciated. 

Thank you,

Adrian


----------

