Skip to content

Song

Represents the current Live Set — the root of the open document, reached via Application.get_document() from the running app. The Song class exposes transport state, session and arrangement editing, undo history, and the Song.View used to drive Live’s UI selection.

This class represents a Live set. From Live’s runtime docstring.

Inherited from LomObject
canonical_parent: NoneProbed asNonehigh confidence
  • probe Song is the LOM root for the document tree. The probe observes None because Song has no parent (Application.song returns the Song; there’s no inverse). Same structural reasoning as Application.canonical_parent.
Section titled “canonical_parent: NoneProbed asNonehigh confidenceprobe Song is the LOM root for the document tree. The probe observes None because Song has no parent (Application.song returns the Song; there’s no inverse). Same structural reasoning as Application.canonical_parent.”

Get the canonical parent of the song. From Live’s runtime docstring.

appointed_device: Device | NoneProbed asNonehigh confidence
  • docstring “Read, write, and listen access to the appointed Device.”
  • corpus pushbase / ableton.v2 / ableton.v3 all read and assign Device values here.
Section titled “appointed_device: Device | NoneProbed asNonehigh confidencedocstring “Read, write, and listen access to the appointed Device.”corpus pushbase / ableton.v2 / ableton.v3 all read and assign Device values here.”

Read, write, and listen access to the appointed Device From Live’s runtime docstring.

Get/Set the global arrangement overdub state. From Live’s runtime docstring.

Get/Set if triggering a Clip in the Session, disabled the playback of Clips in the Arranger. From Live’s runtime docstring.

Get whether there currently is material to be captured on any tracks. From Live’s runtime docstring.

Returns true when there is a cue marker right to the playing pos that we could jump to. From Live’s runtime docstring.

Returns true when there is a cue marker left to the playing pos that we could jump to. From Live’s runtime docstring.

Returns true if there is an undone action that we can redo. From Live’s runtime docstring.

Returns true if there is an action that we can restore. From Live’s runtime docstring.

Get/Set access to the quantization settings that are used to fire Clips in the Session. From Live’s runtime docstring.

Get the count in duration. Returns an index, mapped as follows: 0 - None, 1 - 1 Bar, 2 - 2 Bars, 3 - 4 Bars. From Live’s runtime docstring.

Const access to a list of all cue points of the Live Song. From Live’s runtime docstring.

Get/Set access to the songs current playing position in beats. From Live’s runtime docstring.

Get if Tracks should be armed exclusively by default. From Live’s runtime docstring.

Get if Tracks should be soloed exclusively by default. From Live’s runtime docstring.

Get the current Live Set’s path on disk. From Live’s runtime docstring.

Get/Set the global groove amount, that adjust all setup grooves in all clips. From Live’s runtime docstring.

Get the groove pool. From Live’s runtime docstring.

Enable/disable Ableton Link. From Live’s runtime docstring.

Section titled “is_ableton_link_start_stop_sync_enabled: bool”

Enable/disable Ableton Link Start Stop Sync. From Live’s runtime docstring.

Get whether currently counting in. From Live’s runtime docstring.

Returns true if the Song is currently playing. From Live’s runtime docstring.

Return the time of the last set event in the song. In contrary to song_length, this will not add some extra beats that are mostly needed for Display purposes in the Arrangerview. From Live’s runtime docstring.

Get/Set the looping flag that en/disables the usage of the global loop markers in the song. From Live’s runtime docstring.

Get/Set the length of the global loop marker position in beats. From Live’s runtime docstring.

Get/Set the start of the global loop marker position in beats. From Live’s runtime docstring.

Access to the Main Track (always available) From Live’s runtime docstring.

Get/Set if the metronom is audible. From Live’s runtime docstring.

Get/Set access to the settings that are used to quantize MIDI recordings. From Live’s runtime docstring.

Get the current Live Set’s name. From Live’s runtime docstring.

Get/Set the status of the nudge down button. From Live’s runtime docstring.

Get/Set the status of the nudge up button. From Live’s runtime docstring.

Legacy hook for Live 8 overdub state. Now hooks to session record, but never starts playback. From Live’s runtime docstring.

Get/Set the flag that will enable recording as soon as the Song plays and hits the global loop start region. From Live’s runtime docstring.

Get/Set the flag that will disable recording as soon as the Song plays and hits the global loop end region. From Live’s runtime docstring.

Returns true if some automated parameter has been overriden From Live’s runtime docstring.

Get/Set the state of the global recording flag. From Live’s runtime docstring.

Const access to the list of available Return Tracks. From Live’s runtime docstring.

Set and access the root (i.e. key) of the song. The root can be a number between 0 and 11, with 0 corresponding to C and 11 corresponding to B. From Live’s runtime docstring.

Reports the current scale’s intervals as a list of integers, starting with the root and representing the number of halfsteps (e.g. Major -> 0, 2, 4, 5, 7, 9, 11) From Live’s runtime docstring.

Access to the Scale Mode setting in Live. When on, key tracks that belong to the currently selected scale are highlighted in Live’s MIDI Note Editor, and pitch-based parameters in MIDI Tools and Devices can be edited in scale degrees rather than semitones. From Live’s runtime docstring.

Set and access the currently selected scale by name. The default scale names that can be saved with a set and recalled are ‘Major’, ‘Minor’, ‘Dorian’, ‘Mixolydian’ ,‘Lydian’ ,‘Phrygian’ ,‘Locrian’, ‘Whole Tone’, ‘Half-whole Dim.’, ‘Whole-half Dim.’, ‘Minor Blues’, ‘Minor Pentatonic’, ‘Major Pentatonic’, ‘Harmonic Minor’, ‘Harmonic Major’, ‘Dorian #4’, ‘Phrygian Dominant’, ‘Melodic Minor’, ‘Lydian Augmented’, ‘Lydian Dominant’, ‘Super Locrian’, ‘Bhairav’, ‘Hungarian Minor’, ‘8-Tone Spanish’, ‘Hirajoshi’, ‘In-Sen’, ‘Iwato’, ‘Kumoi’, ‘Pelog Selisir’, ‘Pelog Tembung’, ‘Messiaen 3’, ‘Messiaen 4’, ‘Messiaen 5’, ‘Messiaen 6’, ‘Messiaen 7’ From Live’s runtime docstring.

Const access to a list of all Scenes in the Live Song. From Live’s runtime docstring.

Get if Scenes and Clips should be selected when fired. From Live’s runtime docstring.

Returns true if automation recording is enabled. From Live’s runtime docstring.

Get/Set the session record state. From Live’s runtime docstring.

session_record_status: SessionRecordStatusProbed asinthigh confidence
  • schema SessionRecordStatus enum in the same module (Song); property name is a direct snake-case match.
Section titled “session_record_status: SessionRecordStatusProbed asinthigh confidenceschema SessionRecordStatus enum in the same module (Song); property name is a direct snake-case match.”

Get the session slot-recording state. From Live’s runtime docstring.

Get/Set access to the global signature denominator of the Song. From Live’s runtime docstring.

Get/Set access to the global signature numerator of the Song. From Live’s runtime docstring.

Return the time of the last set event in the song, plus som extra beats that are usually added for better navigation in the arrangerview. From Live’s runtime docstring.

Get/Set access to the songs current start time in beats. The set time may be overridden by the current loop/locator start time. From Live’s runtime docstring.

Get/Set access to the amount of swing that is applied when adding or quantizing notes to MIDI clips From Live’s runtime docstring.

Get/Set the global project tempo. From Live’s runtime docstring.

Get/Set whether the Tempo Follower is controlling the tempo. The Tempo Follower Toggle must be made visible in the preferences for this property to be effective. From Live’s runtime docstring.

Const access to a list of all Player Tracks in the Live Song, excluding the return and Main Track (see also Song.send_tracks and Song.master_track). At least one MIDI or Audio Track is always available. From Live’s runtime docstring.

Access the currently active tuning system. From Live’s runtime docstring.

Representing the view aspects of a Live document: The Session and Arrangerview. From Live’s runtime docstring.

Const access to a list of all visible Player Tracks in the Live Song, excluding the return and Main Track (see also Song.send_tracks and Song.master_track). At least one MIDI or Audio Track is always available. From Live’s runtime docstring.

add_data_listener · remove_data_listener · data_has_listener

Fires when the song’s underlying data store is modified — the generic state-change signal for the Set’s persistent state. The programmatic trigger is set_data (read via get_data); whether other Set-level mutations also fire it is unverified.

add_scale_information_listener · remove_scale_information_listener · scale_information_has_listener

Fires when Live 12’s scale settings change — root note, scale mode, or scale-aware playback toggle. Triggered by writes to the corresponding Song properties (scale_name, root_note, scale_intervals, scale_mode).

Capture currently playing clips and insert them as a new scene after the selected scene. Raises a runtime error if creating a new scene would exceed the limitations. From Live’s runtime docstring.

Capture recently played MIDI material from audible tracks. If no Destination is given or Destination is set to CaptureDestination.auto, the captured material is inserted into the Session or Arrangement depending on which is visible. If Destination is set to CaptureDestination.session or CaptureDestination.arrangement, inserts the material into Session or Arrangement, respectively. Raises a limitation error when capturing into the Session and a new scene would have to be created but can’t because it would exceed the limitations. From Live’s runtime docstring.

Continue playing the song from the current position From Live’s runtime docstring.

  • index: int | NoneProbed asobject | Nonemedium confidence
    • M4L external/max-for-live-docs/9.0/song.md describes an optional index parameter; usage shows the function called with no args (default = None means “append at end”).
    • sister method type pinned by convention across other create_* methods; not corpus-verified.
    = None
Returns

Create a new audio track at the optional given index and return it.If the index is -1, the new track is added at the end. It will create a default audio track if possible. If the index is invalid or the new track would exceed the limitations, a limitation error is raised.If the index is missing, the track is created after the last selected item From Live’s runtime docstring.

  • index: int | NoneProbed asobject | Nonemedium confidence
    • sister method same pattern as create_audio_track — M4L docs explicit.
    = None
Returns

Create a new midi track at the optional given index and return it.If the index is -1, the new track is added at the end.It will create a default midi track if possible. If the index is invalid or the new track would exceed the limitations, a limitation error is raised.If the index is missing, the track is created after the last selected item From Live’s runtime docstring.

Returns

Create a new return track at the end and return it. If the new track would exceed the limitations, a limitation error is raised. If the maximum number of return tracks is exceeded, a RuntimeError is raised. From Live’s runtime docstring.

  • index: int
Returns

Create a new scene at the given index. If the index is -1, the new scene is added at the end. If the index is invalid or the new scene would exceed the limitations, a limitation error is raised. From Live’s runtime docstring.

  • index: int

Delete the return track with the given index. If no track with this index exists, an exception will be raised. From Live’s runtime docstring.

  • index: int

Delete the scene with the given index. If no scene with this index exists, an exception will be raised. From Live’s runtime docstring.

  • index: int

Delete the track with the given index. If no track with this index exists, an exception will be raised. From Live’s runtime docstring.

  • index: int

Duplicates a scene and selects the new one. Raises a limitation error if creating a new scene would exceed the limitations. From Live’s runtime docstring.

  • index: int

Duplicates a track and selects the new one. If the track is inside a folded group track, the group track is unfolded. Raises a limitation error if creating a new track would exceed the limitations. From Live’s runtime docstring.

  • device: Device
  • target: Track | ChainProbed asLomObjecthigh confidence
    • C++ signature binding declares target as LomObject — wider than what the method actually accepts.
    • docstring “where the device can be inserted” (a device-containing container).
    • corpus Push2 (device_navigation.py:247,257,264,269) passes only device.canonical_parent (a Track or Chain) or a Chain obtained via rack.view.selected_chain — never any other LomObject. Track and Chain are the only LOM classes that contain devices.
  • target_position: int
Returns
int

Returns the closest possible position to the given target, where the device can be inserted. If inserting is not possible at all (i.e. if the device type is wrong), -1 is returned. From Live’s runtime docstring.

Force the Link timeline to jump to Lives current beat time. Danger: This can cause beat time discontinuities in other connected apps. From Live’s runtime docstring.

Returns

Get const access to the songs loop length, using a BeatTime class with the current global set signature. From Live’s runtime docstring.

Returns

Get const access to the songs loop start, using a BeatTime class with the current global set signature. From Live’s runtime docstring.

Returns

Get const access to the songs current playing position, using a BeatTime class with the current global set signature. From Live’s runtime docstring.

  • smpte_format: int
Returns

Get const access to the songs current playing position, by specifying the SMPTE format in which you would like to receive the time. From Live’s runtime docstring.

  • key: str
  • default_value: AnyProbed asobjecthigh confidence
    • corpus passes int (3, 5), bool (True), str defaults across pushbase / ableton.v2 / ableton.v3 — the binding accepts arbitrary persistent data, so Any is the honest parameterization for both arg and return.
Returns
AnyProbed asobjecthigh confidence
  • corpus passes int (3, 5), bool (True), str defaults across pushbase / ableton.v2 / ableton.v3 — the binding accepts arbitrary persistent data, so Any is the honest parameterization for both arg and return.

Get data for the given key, that was previously stored using set_data. From Live’s runtime docstring.

Returns
bool

Return true if the global playing pos is currently on a cue point. From Live’s runtime docstring.

  • beats: float

Set a new playing pos, relative to the current one. From Live’s runtime docstring.

Jump to the next cue (marker) if possible. From Live’s runtime docstring.

Jump to the prior cue (marker) if possible. From Live’s runtime docstring.

  • device: Device
  • target: Track | ChainProbed asLomObjecthigh confidence
    • sister method same situation as find_device_position.
    • C++ signature binding declares LomObject.
    • docstring “Move a device into the target” (a device-containing container).
    • corpus Push2 (device_navigation.py:247,257,264,269) only passes Track or Chain. Narrowed to the two LOM classes that actually contain devices.
  • target_position: int
Returns
int

Move a device into the target at the given position, where 0 moves it before the first device and len(devices) moves it to the end of the device chain.If the device cannot be moved to this position, the nearest possible position is chosen. If the device type is not valid, a runtime error is raised.Returns the index, where the device was moved to. From Live’s runtime docstring.

Start playing the current set selection, or do nothing if no selection is set. From Live’s runtime docstring.

Discards overrides of automated parameters. From Live’s runtime docstring.

Returns
str

Redo the last action that was undone. From Live’s runtime docstring.

  • beats: float

Same as jump_by, but does not stop playback. From Live’s runtime docstring.

  • key: str
  • value: AnyProbed asobjecthigh confidence
    • corpus passes int (interval), bool (is_horizontal), arbitrary persistent data — pushbase/instrument_component.py:88-110 shows the pattern. Any matches.

Store data for the given key in this object. The data is persistent and will be restored when loading the Live Set. From Live’s runtime docstring.

When a cue is selected, it gets deleted. If no cue is selected, a new cue is created at the current global songtime. From Live’s runtime docstring.

Start playing from the startmarker From Live’s runtime docstring.

  • quantized: bool = True

Stop all playing Clips (if any) but continue playing the Song. From Live’s runtime docstring.

Stop playing the Song. From Live’s runtime docstring.

Trigger the tap tempo function. From Live’s runtime docstring.

  • record_length: float = 1.7976931348623157e+308

Triggers a new session recording. From Live’s runtime docstring.

Returns
str

Undo the last action that was made. From Live’s runtime docstring.

  • Song.View — Representing the view aspects of a Live document: The Session and Arrangerview.
Returned by 1 member elsewhere in the LOM

Represents a Time, splitted into Bars, Beats, SubDivision and Ticks. From Live’s runtime docstring.

Returned by 3 members elsewhere in the LOM

Represents a ‘Marker’ in the arrangement. From Live’s runtime docstring.

Inherited from LomObject

Get the canonical parent of the cue point. From Live’s runtime docstring.

Get/Set/Listen to the name of this CuePoint, as visible in the arranger. From Live’s runtime docstring.

Get/Listen to the CuePoint’s time in beats. From Live’s runtime docstring.

When the Song is playing, set the playing-position quantized to this Cuepoint’s time. When not playing, simply move the start playing position. From Live’s runtime docstring.

Returned by 1 member elsewhere in the LOM

Represents a Time, split into Hours, Minutes, Seconds and Frames. The frame type must be specified when calling a function that returns a SmptTime. From Live’s runtime docstring.

Returned by 1 member elsewhere in the LOM

Representing the view aspects of a Live document: The Session and Arrangerview. From Live’s runtime docstring.

Inherited from LomObject

Get the canonical parent of the song view. From Live’s runtime docstring.

detail_clip: Clip | NoneProbed asNonehigh confidence
  • docstring “Get/Set the Clip that is currently visible in Lives Detailview.”
  • corpus Push and Push2 both read and assign Clip values here.
Section titled “detail_clip: Clip | NoneProbed asNonehigh confidencedocstring “Get/Set the Clip that is currently visible in Lives Detailview.”corpus Push and Push2 both read and assign Clip values here.”

Get/Set the Clip that is currently visible in Lives Detailview. From Live’s runtime docstring.

Get/Set if the Envelope/Note draw mode is enabled. From Live’s runtime docstring.

Get/Set if the Arrangerview should scroll to show the playmarker. From Live’s runtime docstring.

Get/Set the clip slot, defined via the selected track and scene in the Session.Will be None for Main- and Sendtracks. From Live’s runtime docstring.

selected_chain: Chain | NoneProbed asNonehigh confidence
  • docstring “Get the highlighted chain if available.”
  • corpus Push2/track_selection.py:95 and pushbase/selection.py:54 both assign Chain values to this property.
Section titled “selected_chain: Chain | NoneProbed asNonehigh confidencedocstring “Get the highlighted chain if available.”corpus Push2/track_selection.py:95 and pushbase/selection.py:54 both assign Chain values to this property.”

Get the highlighted chain if available. From Live’s runtime docstring.

selected_parameter: DeviceParameter | NoneProbed asNonehigh confidence
  • docstring confirms DeviceParameter return type.
  • M4L explicit: “selected_parameter [DeviceParameter] read-only observe”. Read-only nullable.
Section titled “selected_parameter: DeviceParameter | NoneProbed asNonehigh confidencedocstring confirms DeviceParameter return type.M4L explicit: “selected_parameter [DeviceParameter] read-only observe”. Read-only nullable.”

Get the currently selected device parameter. From Live’s runtime docstring.

Get/Set the current selected scene in Lives Sessionview. From Live’s runtime docstring.

Get/Set the current selected Track in Lives Session or Arrangerview. From Live’s runtime docstring.

  • device: Device
  • should_appoint_device: bool = True

Select the given device. From Live’s runtime docstring.

Returned by 1 member elsewhere in the LOM

The destination for MIDI capture. From Live’s runtime docstring.

auto0
session1
arrangement2

The capture mode that is used for capture and insert scene. From Live’s runtime docstring.

all0
all_except_selected1
q_no_q0
q_8_bars1
q_4_bars2
q_2_bars3
q_bar4
q_half5
q_half_triplet6
q_quarter7
q_quarter_triplet8
q_eight9
q_eight_triplet10
q_sixtenth11
q_sixtenth_triplet12
q_thirtytwoth13
rec_q_no_q0
rec_q_quarter1
rec_q_eight2
rec_q_eight_triplet3
rec_q_eight_eight_triplet4
rec_q_sixtenth5
rec_q_sixtenth_triplet6
rec_q_sixtenth_sixtenth_triplet7
rec_q_thirtysecond8
off0
transition2
on1
ms_time0
smpte_241
smpte_252
smpte_303
smpte_30_drop4
smpte_295
Returns
tuple[tuple[str, tuple[int, …]], …]Probed astuple[tuple, …]high confidence
  • corpus pushbase/melodic_pattern.py:52 unpacks Scale(name=x[0], notes=x[1]) for x in Live.Song.get_all_scales_ordered() — confirms tuple[tuple[str, tuple[int, ...]], ...].

Get an ordered tuple of tuples of all available scale names to intervals. From Live’s runtime docstring.

This is an independent reference site. Not affiliated with, endorsed by, or sponsored by Ableton AG. “Ableton”, “Live”, “Push”, and related marks are trademarks of Ableton AG.