Device button mapping

Submitted by handyman on Mon, 02/04/2019 - 07:40
handyman
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! Greg
Topic Category: 

2 Responses

Comments

John Carney
Forum Admin
#1

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.

John

pag
Control Surface Studio User
#2

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.