Page 1 of 1

Remote Scripts: What are they good for?

Posted: Tue Jul 23, 2013 5:34 pm
by estevan carlos benson
First of all, I sort of understand what remote scripts can do but I don't entirely understand.

I want to customize my APC40. I find it's default settings painfully dull. I had assumed they could only be done with Max4Live. I had heard of the remote scripts and understand they're in Python. However I've not been clear on what the scripts can do in relation to the hardware. Can the Python scripts do the same as Max4Live regarding the hardware controllers? Are there differences in what can be accomplished? What are they?

Part of the reason I'm concerned is that I may prefer to program in Python rather than Max. There's a different learning curve there.

Thanks in advance.

Re: Remote Scripts: What are they good for?

Posted: Tue Jul 23, 2013 5:57 pm
by yur2die4

That is a popular place for information on APC style functionality. But I'm guessing you are looking for the more fun, out-there functions.

Next I point to the selected track control as one demonstration of how someone is using scripts.

And the Launchpad 95 script uses Push type control in Live 9. ... e_Scripts/

But finally there is ClyphX. Which is the tip of the iceberg, and then everything underneath. The person that made that seems to always have creative solutions to opening users' possibilities.

I think they would be good places to learn from as examples of what scripts can accomplish.

viewtopic.php?f=1&t=192290 also, this is a nice script :)

Oh, and there are some for Maschine which have some pretty crazy feature implementation.

Edit: trying to be thorough on the wild world of Ableton Live scripts, this is another example. It has the much sought after 'bouncing meters'

Re: Remote Scripts: What are they good for?

Posted: Tue Jul 23, 2013 6:54 pm
by estevan carlos benson
Thanks. Do you or anyone else here know whether you can do the same things with Max4Live?

Re: Remote Scripts: What are they good for?

Posted: Tue Jul 23, 2013 7:18 pm
by JuanSOLO
M4L is kind of doing the same thing, but instead of code it's GUI.
Thing is, with M4L you have to sort of sever the connection to the python script.
In case of the APC40, you disable components ( i.e. button matrix) to customize, re-enable components to get back the default functionality.
In a way your countering whats built into the code.
I am slowly learning python, and I know it has it's advantages as well as some disadvantages.
Some of them have been discussed in detail here. ... pt-or-m4l/

If you are interested in going the M4L route just let me know somehow.
I've almost got this M4L APC40 hacking down to a science.

I really need to post a new thread in the M4L forums with details on things I have learned over the years.
One of the more recent discoveries is not having to disable components, but disabling controls individually.
For example, maybe you want half the mutes, solos, arm buttons to be send A B and C momentary buttons, but when you push the Master Track button you get their default behavior.
I used to think you had to disable the "mixer component" which disables all faders, mutes, solos, arm.
Then you build your functionality into it, including the default behavior you want.
Major pain in the ass, and it gets even more complex if you need to disable a channel strip component, which includes the Track Control knobs along with fader, mute, solo, and arm.
That said, I need to post that info and maybe help a few avoid headaches.

It's actually simple stuff.

Re: Remote Scripts: What are they good for?

Posted: Tue Jul 23, 2013 9:05 pm
by ST8
Remote scripts have also been responsible for LiveControl 1 & 2, Griid, Kapture, TouchAble, and LiveOSC.
You can do pretty much anything you like in python, Lives python interpreter is stripped down so many of the default modules are not available, however you can still do quite a lot. In LiveControl2 & Kapture we implemented functionality that was not present in Live.

The main benefit of python vs m4l is speed, m4l can be quite slow if you want to observe the whole live set, especially if its large. (hence why kapture moved from m4l -> python). However the downside is that python has no time linked callback, so its hard to make things like sequencers. You're limited to a 60ms callback, which probably isnt in time with your track.

Most of the LiveAPI is passed from python -> m4l, however a few bits are still missing