als_write
Modify saved Ableton Live project files on disk—wire sidechain routing, configure plugin parameters, set file attributes, or restore backups—with confirmation required before changes apply.
Instructions
Edit a saved .als project file on disk. Requires confirm=True.
Supported operations: 'sidechain', 'configure', 'attribute', 'restore'.
Target project file must not be currently open in Live unless confirmed.
Args:
path: Path to target .als project file.
operation: Modification operation ('sidechain', 'configure', 'attribute', 'restore').
confirm: Confirmation flag required to execute modifications.
target_track: Name of track containing target device.
source_track: Name of track providing trigger source (sidechain operation).
device: Device index within target track.
tap: Sidechain tap point ('pre' or 'post').
expression: ElementTree path expression (attribute operation).
value: New attribute value or configure assignment string ('<index>=<name>; ...').
attribute: Attribute name to modify (attribute operation, defaults to 'Value').
index: Target element match index when expression matches multiple elements.
create: When True, creates attribute if missing.
backup: Backup filepath required for restore operation.
allow_live_running: Allow write when Live runs (auto-enabled if holding another set).
Returns:
Dictionary reporting write status, changes made, and verification report.
Note:
``sidechain`` is here for the set Live is not holding, someone else's project
wired on disk. Measured in a corpus of 174 projects: 74 of 82 in the
house/trance BPM window use sidechain compression, median 6 wirings each. For
the set on screen use ``lom_set`` and keep the read-back.
``configure`` fills a plugin's parameter strip, which no LOM call can do
whatever the strip currently holds. Measured 2026-09-01 against Live 12.4.5: two
parameters written into an instance whose strip held nothing came back on reopen
with their real values, writable through ``lom_set`` with ``read_back: applied``.
Live allocates 128 slots per instance and leaves them all in the file, so
nothing is inserted; three fields of an existing element are filled.
``attribute`` sets one attribute anywhere in the file, addressed by an
ElementTree expression. An expression matching more than one element is refused
unless ``index`` picks one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tap | No | post | |
| path | Yes | ||
| index | No | ||
| value | No | ||
| backup | No | ||
| create | No | ||
| device | No | ||
| confirm | No | ||
| attribute | No | Value | |
| operation | Yes | ||
| expression | No | ||
| source_track | No | ||
| target_track | No | ||
| allow_live_running | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||