Your shopping cart is empty.

Device button mapping

Submitted by handyman on Mon, 02/04/2019 - 07:40
Control Surface Studio User

HI. Is there a way to map non-macro-mapped parameters of a device to my controller? Specifically, I am trying to find a way to use a button on my controller to activate the looper (record, play and overdub), to undo and to clear the loop. In a more general sense, I have found that I can very easily set up control of the macros of a device to my controller, but if the device has buttons that are not mappable to macros (like the looper for play, stop, overdub, undo and clear), then I am not sure how to gain control of it, or if it is even possible. I clearly don't know what I am doing here. I tried 'fishing' by setting the parameter number past 8 (all the way to 24) but I only get a error message in Live from my css script saying "This control does not exist in this session". Is there more than the first 8 parameters that can be used in a device, if I only know what number it is, or is it only for the macros (the first 8).

Also, do I have to reboot Live every time I install a CSS script mapping into live? Whilst debugging my script, I have been doing this but this is a little time consuming and I wondered if there was a way to refresh the Script Mapping list in Live's preferences without rebooting Live.

I gotta say, this CSS program is a lot of fun, and it really allows me to get my controllers to do lots of cool things! I recommend it to anyone reading here wondering if this is for you.

Thank you!


Topic Category: 

5 Responses


John C
Forum Admin

If the parameter exists in the Device then you should be able to control it with a mapping. They don't need to be attached to a macro knobs.
With the Looper, if I remember right, there are controls which for some reason are un-mappable both inside Live and via MIDI Remote Scripts.

As far as rebooting goes, if you have made changing you can simply reload your session.
My little hack is to set my current Session as the default (in preferences) doing that means you can quickly reload it using cmd or ctrl + r. Just like a browser and your changes will be available.

The only time you might need to close and reboot Live is due to certain errors. But even with most common errors, you can still just reload your session.


Control Surface Studio User

I've been working with the Looper for a long time now, and it's not very Script-friendly.
What it does, is send the state of the Looper on parameter 1 (starting from 0)
0 : looper is stopped or empty
1 : recording
2 : playing
3 : overdubbing
if you send these values to the Looper parameter 1, the Looper will change its state. But for it behaves differently than when you use the "Multi function" button. ie : you can't launch recording if the playback is not already running. the stop won't be quantized.
also : Undo and Clear can't be reached by the API. This means that there's no button that can be mapped to these using a script.
Basically, the only parameters you can access with a script are those that can be mapped to macros.

Control Surface Studio User

Hi! Working to do the most obvious thing in the world myself, and this seems amazingly limiting. No access to delete / clear? This seems deeply bizzare.... was there any update in v11? who do we complain to at Ableton?

Combined with some of the beloved 3'rd party loopers being 32-bit and unmaintained, this is a pretty sad state.

But I see someone else has built a script that has done exactly this:

I'm at this point thinking of paying money and seeing how this fellow did it. The control surface should be readable....


Control Surface Studio User

One more thing. John, all those parameters can be mapped. I had thought CLEAR couldn't, but my newer footswitch maps them just fine. Has to be a momentary switch.

Since it can be mapped, it seems your list of the parameters for Live 11 and Looper are incomplete.

How about an update to the documentation, with the functions available on latest looper?

John C
Forum Admin

That's strange. Have you tried logging the device parameter names yourself? you can double check it.
Here's a script to do it:

Which version of Ableton Live are you using?