liveAPI through pyext in max for live

xx/xy's icon

hello,

is there any way to expose direct access to the Live API and Live Object Model within a python 'pyext' object inside Max For Live?

i've been writing some python code which interacts with the M4L abstractions to trigger clips, modify device parameters, etc. it seems to me that it's messy and unnecessary to mediate through Max patching there also exists the python LiveAPI -- but i've not come across a way to access the LiveAPI from a pyext within M4L.

when i try importing the Live module from the pyext, a "No module named Live" error is thrown.

is this possible? if not, is there a more elegant method of accessing the API than through a web of Max patching -- whilst retaining the power of being able to control python parameters via Max/Live GUI controls?

xanadu's icon

I don't know if this is possible. I think you are too optimistic about this construction.

LiveAPI is not officially documented and is changing from version to version. If Ableton changes LiveAPI in the future MFL will be updated in a consistend way at the same time. As a result MFL will keep working - perhaps better.

When working with LiveAPI there are no debugging facilities. Every error requires fixing and a restart of Live. MFL just reports errors in the Max window and you can change things on the fly.

If you don't like the Max object language you can take a look at the js, jstrigger and jsui objects. Javascript is a more conventional C-like language.

For these reasons I bought MFL the very first day it was released and I have not had a single second of regret!