Skip to content

Message

AbletonEvent

Bases: AttrEnum

CLIP_LAUNCH = 'CLIP_LAUNCH'

Clip launch by (x, y) index

CUE_LEVEL = 'CUE_LEVEL'

Cue level control

CROSSFADER = 'CROSSFADER'

Crossfader control

DEVICE_BANK = 'DEVICE_BANK'

Select Device bank by index

DEVICE_LOCK = 'DEVICE_LOCK'

Device lock (lock "blue hand")

DEVICE_NAV_LEFT = 'DEVICE_NAV_LEFT'

Device nav left

DEVICE_NAV_RIGHT = 'DEVICE_NAV_RIGHT'

Device nav right

DEVICE_BANK_NAV_LEFT = 'DEVICE_BANK_NAV_LEFT'

Device bank nav left

DEVICE_BANK_NAV_RIGHT = 'DEVICE_BANK_NAV_RIGHT'

Device bank nav right

DEVICE_TOGGLE = 'DEVICE_TOGGLE'

Toggle selected device on/off

DRUM_PAD = 'DRUM_PAD'

Drum pad Trigger by index

LOOP = 'LOOP'

Loop on/off

MASTER_SEL = 'MASTER_SEL'

Master track select

MASTER_VOLUME = 'MASTER_VOLUME'

Master track volume

METRONOME = 'METRONOME'

Metronome on/off

NUDGE_UP = 'NUDGE_UP'

Tempo Nudge Up

NUDGE_DOWN = 'NUDGE_DOWN'

Tempo Nudge Down

OVERDUB = 'OVERDUB'

Overdub on/off

PARAM_CONTROL = 'PARAM_CONTROL'

Parameters control

PLAY = 'PLAY'

Global play

PUNCH_IN = 'PUNCH_IN'

Punch in

PUNCH_OUT = 'PUNCH_OUT'

Punch out

REC = 'REC'

Global record

REC_QUANT_TOGGLE = 'REC_QUANT_TOGGLE'

Record quantization on/off

REDO = 'REDO'

Redo

SCENE_UP = 'SCENE_UP'

Scene down

SCENE_DOWN = 'SCENE_DOWN'

Scene up

SCENE_LAUNCH = 'SCENE_LAUNCH'

Scene launch by index

SEEK_FWD = 'SEEK_FWD'

Seek forward

SEEK_RWD = 'SEEK_RWD'

Seek rewind

SESSION_LEFT = 'SESSION_LEFT'

Session left

SESSION_RIGHT = 'SESSION_RIGHT'

Session right

SESSION_UP = 'SESSION_UP'

Session up

SESSION_DOWN = 'SESSION_DOWN'

Session down

SEL_CLIP_LAUNCH = 'SEL_CLIP_LAUNCH'

Selected clip launch

SEL_SCENE_LAUNCH = 'SEL_SCENE_LAUNCH'

Selected scene launch

SEL_TRACK_MUTE = 'SEL_TRACK_MUTE'

Mute Selected Track

SEL_TRACK_REC = 'SEL_TRACK_REC'

Arm Selected Track

SEL_TRACK_SOLO = 'SEL_TRACK_SOLO'

Solo Selected Track

STOP = 'STOP'

Global stop

STOP_ALL_CLIPS = 'STOP_ALL_CLIPS'

Stop all clips

TAP_TEMPO = 'TAP_TEMPO'

Tap tempo

TEMPO_CONTROL = 'TEMPO_CONTROL'

Tempo control CC assignment

TRACK_ARM = 'TRACK_ARM'

Track record arm by index

TRACK_LEFT = 'TRACK_LEFT'

Track left

TRACK_RIGHT = 'TRACK_RIGHT'

Track right

TRACK_MUTE = 'TRACK_MUTE'

Track On/Off by index

TRACK_PAN = 'TRACK_PAN'

Track Pan

TRACK_SELECT = 'TRACK_SELECT'

Track select by index

TRACK_SEND = 'TRACK_SEND'

Track Send

TRACK_SOLO = 'TRACK_SOLO'

Track solo by index

TRACK_STOP = 'TRACK_STOP'

Track clip stop by track index

TRACK_VOL = 'TRACK_VOL'

Track Volume

UNDO = 'UNDO'

Undo

VIEW_DETAIL = 'VIEW_DETAIL'

Detail view switch

VIEW_CLIPTRACK = 'VIEW_CLIPTRACK'

Clip/Track view switch

ZOOM_UP = 'ZOOM_UP'

Session Zoom up

ZOOM_DOWN = 'ZOOM_DOWN'

Session Zoom down

ZOOM_LEFT = 'ZOOM_LEFT'

Session Zoom left

ZOOM_RIGHT = 'ZOOM_RIGHT'

Session Zoom right

AbletonMsg

AbletonMsg(
    type: AbletonEvent,
    index_or_value: int | bool = True,
    value: int | bool = None,
    *,
    source: None | AbletonIn = None
)

Bases: Msg

Ableton Live remote script event message

Overloads:

AbletonMsg(
    type: AbletonEvent,
    index: int | tuple[int, int],
    value: int | bool,
    *,
    source: 'None | AbletonIn' = None
)
AbletonMsg(
    type: AbletonEvent,
    value: int | bool, *,
    source: 'None | AbletonIn' = None
)

Parameters:

  • type (AbletonEvent) –

    Ableton Live remote script event

  • index (int) –

    Track/clip/send index

  • value (int | bool, default: None ) –

    Control event value (0-127 or True / False)

  • source (None | AbletonIn, default: None ) –

    The AbletonIn instance that generated the message

ctime

ctime: float

Message creation time in "Unix time" format

type

type: AbletonEvent

Ableton Live remote script event

index

index: None | int | tuple[int, int] = None

Track/clip/send index

value

value: int | bool

Control event value

source

source: None | AbletonIn

Input port instance that generated the message

matches

matches(
    type: None | Container[AbletonEvent] | AbletonEvent = None,
    index: (
        None | Container[int, tuple[int, int]] | int | tuple[int, int]
    ) = None,
    value: None | Container[int] | int | bool = None,
) -> bool

Checks if message's attributes match all provided attribute conditions:

  1. If condition is None or omitted, it matches anything.

  2. If condition equals attribute, it matches the attribute.

  3. If condition is a container and contains the attribute, it matches the attribute.

Use Not(condition) to invert condition matching.

Returns:

  • bool

    True if all attributes match, False if any does not match