batch
Run multiple Ableton Live tool calls in one round trip and a single undo step, with ordered operations and optional error handling.
Instructions
Run several tools in ONE round trip and ONE undo step (history undo reverts all of it; Live records each device parameter write as its own extra undo entry). ops: [{tool, args}] with each tool's usual arguments, run in order on Live's main thread. Later ops can use earlier results: '$0.address' is the address op 0 returned (a whole-string reference keeps its type, e.g. a number; inside a longer string it is inserted as text; '$1.ids[0]' indexes lists). Example: [{tool:'create',args:{kind:'midi_track',name:'Bass'}},{tool:'device_action',args:{action:'insert',address:'$0.address',name:'Drift'}}]. on_error: stop (default; ops already applied stay applied as one undo step, later ones do not run) or continue. A failure returns BATCH_FAILED with every op's outcome. Up to 100 ops. Batchable tools: get_properties, set_properties, list_properties, describe_set, get_capabilities, get_notes, get_device, create, duplicate, delete, write_notes, edit_notes, clip_action, device_action, routing, draw_automation, get_automation, clear_automation, load_item. Not batchable: transport, launch, history, ramp_parameter, cancel_ramps, record, follow_actions (not undoable edits), transform_notes, generate_notes, browse, analyze_audio_clip and convert (they combine calls or wait).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | The calls, in order | |
| on_error | No | Default stop |