Listeners

Subscribe to real-time Live Object Model changes and poll for events.

Tools on this page
  1. register_listener
  2. poll_changes
  3. unregister_listener
  4. list_listeners

register_listener

register_listener(
    scope: str,
    property: str,
    track_index: int = None,
    track_type: str = 'regular',
    device_index: int = None,
    parameter: Union[int, str] = None,
    clip_index: int = None,
    scene_index: int = None,
)

Attach a change listener to a Live object and start buffering its events. Returns a listener_id to use with poll_changes / unregister_listener.

scope + property:

  • transport: is_playing, current_song_time, tempo, metronome, record_mode, session_record, loop (current_song_time fires continuously during playback — expect high event volume / dropped counts).
  • mixer (needs track_index, optional track_type regular|return|master): volume, pan, mute, solo, arm (arm is regular-track only).
  • clip: playing_status, name, notes, has_clip (need track_index + clip_index); selected_scene (no selectors — observes the song view).
  • device: value (needs track_index, device_index, parameter name-or-index).

Events are read on demand via poll_changes; nothing is pushed.

poll_changes

poll_changes(listener_id: str = None, max_events: int = None)

Drain buffered change events. Omit listener_id to drain all listeners; pass one to drain just that listener. max_events caps the count returned per listener (oldest first); omit for all pending.

Each event: {listener_id, target, property, value, seq}. Per-listener dropped counts events evicted because the buffer overflowed since the last poll (poll often if a target is high-volume).

unregister_listener

unregister_listener(listener_id: str = None)

Detach a listener and discard its buffer. Omit listener_id to remove ALL active listeners. Always detach listeners you no longer need.

list_listeners

list_listeners()

List active change listeners with each one’s target plus its buffer’s pending and dropped event counts.


ableton-mcp-max - free for noncommercial use; commercial licensing available. Built by Ryan Robson / Robworks Software LLC. Not affiliated with or endorsed by Ableton AG.

This site uses Just the Docs, a documentation theme for Jekyll.