Ableton Live has provided a python interface to many of its functions since Live 6 for use in controller MIDI remote scripts. The original LiveAPI was exposed by Rob King for Live6 on Windows only. Development on this branch has been relatively stationary since its initial release and many changes have taken place between Live 6 and the current version of Live 8. The LiveAPI is now fully functional on both Windows and Mac OSX on the most current version of Ableton Live.
The version of python compiled into Live is rather minimal and does not support calls like select and other common modules. The python versions in Live 7 and 8 are different. This means if you want to import modules not compiled into Live you will need to have the relevant python version installed along side Live and certainly on Mac OSX you will need to add the path to any python scripts you build using the sys module.
- Live 7: python 2.2.1
- Live 8: python 2.5.1
On Mac OSX, if you are running Leopard the default version of python is 2.5.1 so no extra installation is required, however Snow Leopard ships with 2.6 in which case you will need to install python 2.5.1 from above
The Midi Remote Scripts bundled with Ableton can be found in the following locations:
- Windows: c:\Program Files\Ableton\Live x.x.x\Resources\MIDI Remote Scripts
- Mac OSX: /Live x.x.x/Live.app/Contents/App-Resources/MIDI Remote Scripts
The scripts bunded with Live are all byte compiled. Decompyled versions of the scripts from Live 7 can be found on the assembla liveapi page
The python api provides a module called Live that allows almost full control over the current live set. A recent dump of this object can be found here