Max's Live Object Model makes it possible to exchange data between Max for Live and any parameter of a Live session. The model is best described in the Max Online Documentation. and the Live API Overview
In the following examples, different Live parameters are controlled via LFOs or direct input to demonstrate the capabilities.
The Live Object Model
Working with the Live Object Model involves four objects:
live.pathobject is used to select objects in the Live object hierarchy. It receives a message, pointing to the object which is to be accessed.
live.objectis used to get and set properties and children of objects and to call their functions.
live.observerobject can subscribe to properties of objects and their children and gets regular updates on changes.
live.parameter~object it is possible to control Live device parameters in real time.
Controlling the Live Set
This first example allows to change the playback speed of the Live session in BPM.
The live object only needs the path to the Live set (
can then process the
set tempo $1 message.
Each clip in Live's session view can be accessed with an individual path.
Once set with the
goto ... message, the
call fire message can trigger the sample.
This tutorial gives more insight on controlling all clip properties offered by Live: Hack Live 11 Clip Launching
Controlling Device Parameters
By controlling device parameters, any synth or effect inside a Live project can be automated from Max For Live patches. Although this is a very powerful feature, paths to the objects need to be tracked down by the indices of the channel, the plugin and the parameter.
In this example, the Granulator II is used. It can be installed via the Ableton Website. The first thing to do is find the right path for the device and parameter.
Main channel effects and plugins can be controlled in the same way as those in instrument channels, omitting the channel index.
Combine the above patches with the Max for Live sensor examples to directly control Live parameters with the Arduino.