Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Live scripting - Max or Python?


I am revamping my old Livid-BrainV2-based controller. I wrote a script for Live 8 (yeah some years ago...). Since Live 9 I have not used my controller or with Live 8. Now I am fed-up and I want to be able to use my MIDI controller with the latest versions of Live. Would you advise to write a dedicated Max4Live program for using my controller (maybe it's more stable over Live's upgrades?) or just to go through the Python remote control scripting again (I don't find it so straight forward to port the Python scripts because the _Framwork changed quite a bit so I'd need to dive a bit into it)?

Many thanks.

PS: For the hardware part of my controller's revamping, I first wanted to ask in this forum the wiki of Livid Instrument because it's offline now but thanks to the Wayback Machine I could get a hold of it.


  • Hard to say what's best....there's simply a lot of things that are far easier (and definitely faster) to do in Python than in M4L when it comes to direct controller scripting. But if I can get away with it, I do what I can in M4L because it's a little easier to edit (no need to restart live with every change so that the script will recompile, and can actively debug some things a little easier during coding). In the end it's just a matter of personal choice.

    I switched over to Ableton's v2 framework back when Push came out. Its constantly changing and evolving, and thus Ableton is constantly breaking my scripts. But only a portion of it's functionality has been ported over to the original _Framework classes, so chances are good that it wouldn't require that much work to update your script to work with the newer _Framework changes.


  • Cool, thanks for your reply. I guess I am gonna give the Python scripting another chance. (Especially considering that I would need to learn M4L.) But Ableton's upgrading with no backward compatibility is breaking more than scripts... (not even mentioning about the lack of official documentation).

    By the way, is the _Framework of Live 11 much different than that of Live 10? (I am satisfied with L10 and could use sticking with it for a little longer). I feel that the biggest gap was from L8 to L9 (when Push came out?).


  • Its hard for me to say really....I haven't used much from the _Framework files in a really long time. I know there were significant changes to the Session Component, and definitely some other additions, especially in regards to how control surfaces interact with m4l....but that wouldn't affect most folks.

    Here's a repo with all changes between 10.0.0 and current 11 release:

    Make sure to look at the Live11 branch.

    If you have any specific questions I could try to help, let me know when you get there ;)


  • Woaw that's amazing, all that documenting that you are doing!
    I am also impressed about the fact that you don't use the _Framework! I wouldn't go far without it :D
    Yeah you might hear from me again when I get my hand dirty again. Thanks.

Sign In or Register to comment.