In this short post we will review how to assign controls of your DAW (here Logic Pro X) to the hardware controller Ableton Push.
In general the process described works for any controller and is not limited to Ableton Push. A key difference between most controllers and the Ableton Push device is the fact that Push send MIDI messages to your DAW by just touching about anything on the controller. Even a touch of the knobs will trigger a MIDI message to be send to you DAW. To get around this issues, you need to configure Logic to accept MIDI messages from certain “queues” only. See the post “Configuring Ableton Push to work with Logic” to check out how to set this up.
After you have successfully managed to get your Push connected to Logic, it’s now time to map controls and functions of the DAW.
You will be presented with the Assignment screen.
In this example we are using MIDI Channel 3 for the Ableton Push Controller. The Input device is here the IAC Driver we used for interrupting the MIDI traffic from Ableton Push.
Important is to remember that during the learning exercise, if you touch any button/knob on your Push device it will still trigger MIDI message to Logic even though you might have configured the MIDI environment differently!! Hence the learning/mapping exercise will fail. Logic’s “learn mode” reads incoming messages on any channel, regardless what has been set under the MIDI environment previously. – Therefore, don’t touch your Ableton device during the mapping exercise, simply manually input the “Input” and “Value Change” parameter manually. (Yes, you can use the controller to do this task automatically but your value change input field will get overloaded with commands and you will struggle deleting the “invalid” commands and finally get the output you desired)
The video shows how to do it… (we only press a button on the controller after the learning process is completed!)
The Value Change parameter lets you see the incoming MIDI messages that cause actually a value change in a destination parameter. – The Value Change input area contains the message as a sequence of hexadecimal bytes. The format: MIDI Channel (space) Controller Code (space) Lo7 or Hi7 – The example above uses: > B2 4F Lo7 < which reads to: MIDI Channel 3, Controller Code 79, Least Signficant Bit The exercise above does work for most of Logic’s controls. If you want to map eg. the PLAY button you will figure out that the learning exercise as shown in the video will not work. You have to manually assign controls to make this work. Start with Logic Pro > Key Commands > Edit… to find the function you want to map and click the “Learn Assignment” button and then touch the require button/knob on your Push device. Once done you need to manually modify your mapping as most likely Logic has recorded a wrong Midi Channel, multiple events or you eventually touched the Push casing and triggered MIDI data… (Remember that your environment settings do not work during the Controller Assignment but only for “playing” later. Logic’s Assignment tool ignores the MIDI environment settings and simply listens on “all channels”)