API reference
The whole SDK surface — 123 methods — wrapped as Pythonic objects. Properties are reads
(and writes where shown); methods perform actions.
Entry points
| Symbol | Description |
connect(url?) → Application | Scripting: connect to the Bridge, return the root. |
Extension(name, author?, version?) | An extension with menu actions/commands. Call .run(). |
Extension
| Member | Description |
@app.context_menu(scope, title) | Add a right-click action; handler gets the typed object. |
@app.command(id) | Register a command by id. |
@app.on_selection(scope) | Act on the current arrangement / clip-slot selection. |
app.song / ui / resources / environment | Service accessors. |
app.transaction() | Context manager → one undo step. |
app.execute_command(id, *args) | Fire a registered command programmatically. |
app.run() | Connect, register everything, handle events until stopped. |
Application / Song
| Member | Description |
app.song | The Song. |
song.tracks / return_tracks / main_track | Track collections. |
song.scenes / cue_points | Scenes and arrangement cue points. |
song.tempo (read/write) | BPM. |
song.grid_quantization / grid_is_triplet | Editing grid. |
song.root_note / scale_name / scale_mode / scale_intervals | Current scale. |
song.create_midi_track() / create_audio_track() | Add tracks. |
song.create_scene(i) / create_cue_point(time) | Add scene / cue point. |
song.delete_track / delete_scene / delete_cue_point(obj) | Remove. |
song.duplicate_track / duplicate_scene(obj) | Duplicate. |
Track · MidiTrack · AudioTrack
| Member | Description |
name (r/w), mute, solo, arm (r/w) | Track state. |
muted_via_solo, group_track | Read-only state. |
clip_slots / take_lanes / arrangement_clips / devices | Contents. |
mixer | TrackMixer (volume, panning, sends). |
insert_device(name, i), delete_device(d), duplicate_device(d) | Devices. |
create_take_lane() | New take lane. |
delete_clip(c), clear_clips_in_range(a, b) | Arrangement clips. |
MidiTrack.create_midi_clip(start, dur) | New arrangement MIDI clip. |
AudioTrack.create_audio_clip(path, start, dur?, …) | New arrangement audio clip. |
Clip · MidiClip · AudioClip
| Member | Description |
name (r/w), looping (r/w), color (r/w), muted (r/w) | Clip state. |
start_time / end_time / duration / start_marker / end_marker / loop_start / loop_end | Timing (read-only). |
MidiClip.notes (r/w) | List of NoteDescription. |
AudioClip.file_path | Source file. |
AudioClip.warping (r/w), warp_mode (r/w), warp_markers | Warp settings. |
NoteDescription
pitch, start_time, duration (required) · velocity,
muted, probability, velocity_deviation, release_velocity,
selected (optional).
ClipSlot · TakeLane · Scene · CuePoint
| Member | Description |
ClipSlot.clip, create_midi_clip(len), create_audio_clip(path,…), delete_clip() | Session slot. |
TakeLane.name (r/w), clips, create_midi_clip(s,d), create_audio_clip(path,s,…) | Comp take lane. |
Scene.name (r/w), tempo, signature_numerator/denominator | Scene. |
CuePoint.time, name (r/w) | Arrangement locator. |
Devices & parameters
| Member | Description |
Device.name, parameters | A device. |
DeviceParameter.name / min / max / is_quantized / default_value / value_items | Param metadata. |
DeviceParameter.value (r/w), get_value() / set_value(v) | Internal value. |
Simpler.sample, replace_sample(path) | Simpler. |
RackDevice.chains, insert_chain(i) | Audio Effect / Instrument Rack. |
DrumRack.chains → DrumChain.receiving_note (r/w) | Drum Rack. |
Chain.devices / mixer, insert_device / delete_device / duplicate_device | A chain. |
TrackMixer / ChainMixer.volume / panning / sends | Mixer params. |
Navigation & services
| Member | Description |
obj.parent | Canonical parent of any object (clip → track, device → chain…). |
ui.prompt(label, default="") → str | None | Text-input dialog (no HTML). None if cancelled. |
ui.confirm(message) → bool | Yes/no dialog (no HTML). |
ui.choose(label, options) → str | None | Dropdown dialog (no HTML). None if cancelled. |
ui.modal(html, w, h) → str | Custom webview dialog; send(v) is injected for you. |
ui.progress(text, fn) | Progress bar around fn(update, abort). |
resources.import_into_project(path) → str | Copy a file into the Set. |
resources.render_pre_fx_audio(track, start, end) → str | Render a range to WAV. |
environment.storage_directory / temp_directory / language | Host paths & locale. |
Errors
All raise from AbletonError: DeletedObjectError (stale/invalid handle),
WrongTypeError, InvalidArgumentError, BridgeTimeoutError,
BridgeConnectionError.