Controlling Live with Max for Live Lesson 1
- Live Versions: 9
- Operating System: ALL
How Can I Access Live's API In Max for Live?
With the new version of Live 9, Ableton Live's API has been opened wider than ever before.
Everything in Live's API that is accessible to Max for Live is illustrated in the Live Object Model (LOM).
The key to controlling Live this way is in understanding the LOM and the different paths that can be taken to each parameter.
The Live Object Model
The LOM is essentially a roadmap to each of Live's parameters that are accessible via Max for Live.
Not all parameters are available in Live's API, so this diagram should give you an idea of what can and can't be done via Max for Live.
In the LOM we can see that each route begins with live_app, live_set or control_surfaces. As the names indicate, each control their respective areas in Ableton Live.
- live_app: allows you to access controls of the Live application itself. This can be useful if you want to toggle the browser view, zoom or scroll features in Live.
- live_set: allows you to access various parameters within Live, for example Track Volume, Clip parameters (including launching Clips), etc.
- control_surfaces: allows you to access various control surface features (depending on your controller).
The items in boxes are objects belonging to these classes. For example in live_set you will find Track, Device, Clip, etc.
The text written on the interconnecting lines represents a way to navigate down a path, to a certain object.
Note that there is usually more than one route to a given object.
For this lesson, we will focus mainly on the live_set class.
In order to control parameters in Live, you will need to work out the best route in the LOM.
The easiest way to understand the LOM is to imagine that objects such as Clip, Track, etc. are buildings and the interconnecting lines are roads.
For example, starting at live_set:
"How can I get to the volume control of the MixerDevice?"
"Continue down live_set, turn left onto tracks, then turn again onto mixer_device".
So what do these directions look like in Max-speak?
path live_set tracks 0 mixer_device volume
We begin with the word "path" to indicate that this is a set of directions.
Starting at live_set, we then access tracks (in this case the first one - note that this is 0, not 1). Next, the mixer_device and inside this we can access the volume parameter.
Similarly, to access the fourth clip on Track 3, the path would be:
path live_set tracks 2 clip_slots 3
Again, notice here that as we are counting from 0, the third track is written as track 2, the fourth clips is written as clip_slots 3.