Skip to content

Live.Song (runtime)

Live 11 — Live Object Model & framework reference (descriptions and signatures).

Functions

get_all_scales_ordered(...)

get_all_scales_ordered() -> tuple : Get an ordered tuple of tuples of all available scale names to intervals.

C++ signature :
    boost::python::tuple get_all_scales_ordered()

Classes

class BeatTime(instance)

Represents a Time, splitted into Bars, Beats, SubDivision and Ticks.

Properties

  • bars
  • beats
  • sub_division
  • ticks

Methods

__init__(...)

init( (object)arg1) -> None :

C++ signature :
    void __init__(_object*)

class CaptureDestination(enum)

The destination for MIDI capture.

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • arrangement = Song.CaptureDestination.arrangement - The destination for MIDI capture.
  • auto = Song.CaptureDestination.auto - The destination for MIDI capture.
  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'auto': Song.CaptureDestination.auto, 'session': Song.CaptureDestination.session, 'arrangement': Song.CaptureDestination.arrangement} - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • session = Song.CaptureDestination.session - The destination for MIDI capture.
  • values = {0: Song.CaptureDestination.auto, 1: Song.CaptureDestination.session, 2: Song.CaptureDestination.arrangement} - dict() -> new empty dictionary

class CaptureMode(enum)

The capture mode that is used for capture and insert scene.

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • all = Song.CaptureMode.all - The capture mode that is used for capture and insert scene.
  • all_except_selected = Song.CaptureMode.all_except_selected - The capture mode that is used for capture and insert scene.
  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'all': Song.CaptureMode.all, 'all_except_selected': Song.CaptureMode.all_except_selected} - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • values = {0: Song.CaptureMode.all, 1: Song.CaptureMode.all_except_selected} - dict() -> new empty dictionary

class CuePoint(LomObject)

Represents a 'Marker' in the arrangement.

Properties

  • _live_ptr
  • canonical_parent - Get the canonical parent of the cue point.
  • name - Get/Listen to the name of this CuePoint, as visible in the arranger.
  • time - Get/Listen to the CuePoint's time in beats.

Methods

__init__(...)

Raises an exception This class cannot be instantiated from Python

add_name_listener(...)

add_name_listener( (CuePoint)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "name" has changed.

C++ signature :
    void add_name_listener(TPyHandle<ACuePoint>,boost::python::api::object)
add_time_listener(...)

add_time_listener( (CuePoint)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "time" has changed.

C++ signature :
    void add_time_listener(TPyHandle<ACuePoint>,boost::python::api::object)
jump(...)

jump( (CuePoint)arg1) -> None : When the Song is playing, set the playing-position quantized to this Cuepoint's time. When not playing, simply move the start playing position.

C++ signature :
    void jump(TPyHandle<ACuePoint>)
name_has_listener(...)

name_has_listener( (CuePoint)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "name".

C++ signature :
    bool name_has_listener(TPyHandle<ACuePoint>,boost::python::api::object)
remove_name_listener(...)

remove_name_listener( (CuePoint)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "name".

C++ signature :
    void remove_name_listener(TPyHandle<ACuePoint>,boost::python::api::object)
remove_time_listener(...)

remove_time_listener( (CuePoint)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "time".

C++ signature :
    void remove_time_listener(TPyHandle<ACuePoint>,boost::python::api::object)
time_has_listener(...)

time_has_listener( (CuePoint)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "time".

C++ signature :
    bool time_has_listener(TPyHandle<ACuePoint>,boost::python::api::object)

class Quantization(enum)

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.int(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal.

int('0b100', base=0) 4

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'q_no_q': Song.Quantization.q_no_q, 'q_8_bars': Song.Quantization.q_8_bars, 'q_4_bars': Song.Quantization.q_4_bars, 'q_2_bars': Song.Quantization.q_2_bars, 'q_... - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • q_2_bars = Song.Quantization.q_2_bars
  • q_4_bars = Song.Quantization.q_4_bars
  • q_8_bars = Song.Quantization.q_8_bars
  • q_bar = Song.Quantization.q_bar
  • q_eight = Song.Quantization.q_eight
  • q_eight_triplet = Song.Quantization.q_eight_triplet
  • q_half = Song.Quantization.q_half
  • q_half_triplet = Song.Quantization.q_half_triplet
  • q_no_q = Song.Quantization.q_no_q
  • q_quarter = Song.Quantization.q_quarter
  • q_quarter_triplet = Song.Quantization.q_quarter_triplet
  • q_sixtenth = Song.Quantization.q_sixtenth
  • q_sixtenth_triplet = Song.Quantization.q_sixtenth_triplet
  • q_thirtytwoth = Song.Quantization.q_thirtytwoth
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • values = {0: Song.Quantization.q_no_q, 1: Song.Quantization.q_8_bars, 2: Song.Quantization.q_4_bars, 3: Song.Quantization.q_2_bars, 4: Song.Quantization.q_bar, 5: Song.Q... - dict() -> new empty dictionary

class RecordingQuantization(enum)

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.int(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal.

int('0b100', base=0) 4

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'rec_q_no_q': Song.RecordingQuantization.rec_q_no_q, 'rec_q_quarter': Song.RecordingQuantization.rec_q_quarter, 'rec_q_eight': Song.RecordingQuantization.rec_q... - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • rec_q_eight = Song.RecordingQuantization.rec_q_eight
  • rec_q_eight_eight_triplet = Song.RecordingQuantization.rec_q_eight_eight_triplet
  • rec_q_eight_triplet = Song.RecordingQuantization.rec_q_eight_triplet
  • rec_q_no_q = Song.RecordingQuantization.rec_q_no_q
  • rec_q_quarter = Song.RecordingQuantization.rec_q_quarter
  • rec_q_sixtenth = Song.RecordingQuantization.rec_q_sixtenth
  • rec_q_sixtenth_sixtenth_triplet = Song.RecordingQuantization.rec_q_sixtenth_sixtenth_triplet
  • rec_q_sixtenth_triplet = Song.RecordingQuantization.rec_q_sixtenth_triplet
  • rec_q_thirtysecond = Song.RecordingQuantization.rec_q_thirtysecond
  • values = {0: Song.RecordingQuantization.rec_q_no_q, 1: Song.RecordingQuantization.rec_q_quarter, 2: Song.RecordingQuantization.rec_q_eight, 3: Song.RecordingQuantization... - dict() -> new empty dictionary

class SessionRecordStatus(enum)

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.int(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal.

int('0b100', base=0) 4

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'off': Song.SessionRecordStatus.off, 'transition': Song.SessionRecordStatus.transition, 'on': Song.SessionRecordStatus.on} - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • off = Song.SessionRecordStatus.off
  • on = Song.SessionRecordStatus.on
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • transition = Song.SessionRecordStatus.transition
  • values = {0: Song.SessionRecordStatus.off, 2: Song.SessionRecordStatus.transition, 1: Song.SessionRecordStatus.on} - dict() -> new empty dictionary

class SmptTime(instance)

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

Properties

  • frames
  • hours
  • minutes
  • seconds

Methods

__init__(...)

init( (object)arg1) -> None :

C++ signature :
    void __init__(_object*)

class Song(LomObject)

This class represents a Live set.

Properties

  • _live_ptr
  • appointed_device - Read, write, and listen access to the appointed Device
  • arrangement_overdub - Get/Set the global arrangement overdub state.
  • back_to_arranger - Get/Set if triggering a Clip in the Session, disabled the playback of
  • can_capture_midi - Get whether there currently is material to be captured on any tracks.
  • can_jump_to_next_cue - Returns true when there is a cue marker right to the playing pos that
  • can_jump_to_prev_cue - Returns true when there is a cue marker left to the playing pos that
  • can_redo - Returns true if there is an undone action that we can redo.
  • can_undo - Returns true if there is an action that we can restore.
  • canonical_parent - Get the canonical parent of the song.
  • clip_trigger_quantization - Get/Set access to the quantization settings that are used to fire
  • count_in_duration - Get the count in duration. Returns an index, mapped as follows:
  • cue_points - Const access to a list of all cue points of the Live Song.
  • current_song_time - Get/Set access to the songs current playing position in beats.
  • exclusive_arm - Get if Tracks should be armed exclusively by default.
  • exclusive_solo - Get if Tracks should be soloed exclusively by default.
  • file_path - Get the current Live Set's path on disk.
  • groove_amount - Get/Set the global groove amount, that adjust all setup grooves
  • groove_pool - Get the groove pool.
  • is_ableton_link_enabled - Enable/disable Ableton Link.
  • is_ableton_link_start_stop_sync_enabled - Enable/disable Ableton Link Start Stop Sync.
  • is_counting_in - Get whether currently counting in.
  • is_playing - Returns true if the Song is currently playing.
  • last_event_time - Return the time of the last set event in the song. In contrary to
  • loop - Get/Set the looping flag that en/disables the usage of the global
  • loop_length - Get/Set the length of the global loop marker position in beats.
  • loop_start - Get/Set the start of the global loop marker position in beats.
  • master_track - Access to the Master Track (always available)
  • metronome - Get/Set if the metronom is audible.
  • midi_recording_quantization - Get/Set access to the settings that are used to quantize
  • name - Get the current Live Set's name.
  • nudge_down - Get/Set the status of the nudge down button.
  • nudge_up - Get/Set the status of the nudge up button.
  • overdub - Legacy hook for Live 8 overdub state. Now hooks to
  • punch_in - Get/Set the flag that will enable recording as soon as the Song plays
  • punch_out - Get/Set the flag that will disable recording as soon as the Song plays
  • re_enable_automation_enabled - Returns true if some automated parameter has been overriden
  • record_mode - Get/Set the state of the global recording flag.
  • return_tracks - Const access to the list of available Return Tracks.
  • root_note - Set and access the root note (i.e. key) of the song used for control surfaces. The root note can be a number between 0 and 11, with 0 corresponding to C and 11 corresponding to B.
  • scale_intervals - Reports the current scale's intervals as a list of integers, starting with the root note and representing the number of halfsteps (e.g. Major -> 0, 2, 4, 5, 7, 9, 11)
  • scale_name - Set and access the last used scale name for control surfaces. The default scale names that can be saved with a set and recalled are
  • scenes - Const access to a list of all Scenes in the Live Song.
  • select_on_launch - Get if Scenes and Clips should be selected when fired.
  • session_automation_record - Returns true if automation recording is enabled.
  • session_record - Get/Set the session record state.
  • session_record_status - Get the session slot-recording state.
  • signature_denominator - Get/Set access to the global signature denominator of the Song.
  • signature_numerator - Get/Set access to the global signature numerator of the Song.
  • song_length - Return the time of the last set event in the song, plus som extra beats
  • start_time - Get/Set access to the songs current start time in beats. The set time
  • swing_amount - Get/Set access to the amount of swing that is applied when adding or quantizing notes to MIDI clips
  • tempo - Get/Set the global project tempo.
  • tempo_follower_enabled - 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.
  • tracks - Const access to a list of all Player Tracks in the Live Song, exluding
  • view - Representing the view aspects of a Live document:
  • visible_tracks - Const access to a list of all visible Player Tracks in the Live Song, exluding

Methods

View(...)

Representing the view aspects of a Live document: The Session and Arrangerview.

__init__(...)

Raises an exception This class cannot be instantiated from Python

add_appointed_device_listener(...)

add_appointed_device_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "appointed_device" has changed.

C++ signature :
    void add_appointed_device_listener(TPyHandle<ASong>,boost::python::api::object)
add_arrangement_overdub_listener(...)

add_arrangement_overdub_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "arrangement_overdub" has changed.

C++ signature :
    void add_arrangement_overdub_listener(TPyHandle<ASong>,boost::python::api::object)
add_back_to_arranger_listener(...)

add_back_to_arranger_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "back_to_arranger" has changed.

C++ signature :
    void add_back_to_arranger_listener(TPyHandle<ASong>,boost::python::api::object)
add_can_capture_midi_listener(...)

add_can_capture_midi_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "can_capture_midi" has changed.

C++ signature :
    void add_can_capture_midi_listener(TPyHandle<ASong>,boost::python::api::object)
add_can_jump_to_next_cue_listener(...)

add_can_jump_to_next_cue_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "can_jump_to_next_cue" has changed.

C++ signature :
    void add_can_jump_to_next_cue_listener(TPyHandle<ASong>,boost::python::api::object)
add_can_jump_to_prev_cue_listener(...)

add_can_jump_to_prev_cue_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "can_jump_to_prev_cue" has changed.

C++ signature :
    void add_can_jump_to_prev_cue_listener(TPyHandle<ASong>,boost::python::api::object)
add_clip_trigger_quantization_listener(...)

add_clip_trigger_quantization_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "clip_trigger_quantization" has changed.

C++ signature :
    void add_clip_trigger_quantization_listener(TPyHandle<ASong>,boost::python::api::object)
add_count_in_duration_listener(...)

add_count_in_duration_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "count_in_duration" has changed.

C++ signature :
    void add_count_in_duration_listener(TPyHandle<ASong>,boost::python::api::object)
add_cue_points_listener(...)

add_cue_points_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "cue_points" has changed.

C++ signature :
    void add_cue_points_listener(TPyHandle<ASong>,boost::python::api::object)
add_current_song_time_listener(...)

add_current_song_time_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "current_song_time" has changed.

C++ signature :
    void add_current_song_time_listener(TPyHandle<ASong>,boost::python::api::object)
add_data_listener(...)

add_data_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "data" has changed.

C++ signature :
    void add_data_listener(TPyHandle<ASong>,boost::python::api::object)
add_exclusive_arm_listener(...)

add_exclusive_arm_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "exclusive_arm" has changed.

C++ signature :
    void add_exclusive_arm_listener(TPyHandle<ASong>,boost::python::api::object)
add_groove_amount_listener(...)

add_groove_amount_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "groove_amount" has changed.

C++ signature :
    void add_groove_amount_listener(TPyHandle<ASong>,boost::python::api::object)

add_is_ableton_link_enabled_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "is_ableton_link_enabled" has changed.

C++ signature :
    void add_is_ableton_link_enabled_listener(TPyHandle<ASong>,boost::python::api::object)

add_is_ableton_link_start_stop_sync_enabled_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "is_ableton_link_start_stop_sync_enabled" has changed.

C++ signature :
    void add_is_ableton_link_start_stop_sync_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
add_is_counting_in_listener(...)

add_is_counting_in_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "is_counting_in" has changed.

C++ signature :
    void add_is_counting_in_listener(TPyHandle<ASong>,boost::python::api::object)
add_is_playing_listener(...)

add_is_playing_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "is_playing" has changed.

C++ signature :
    void add_is_playing_listener(TPyHandle<ASong>,boost::python::api::object)
add_loop_length_listener(...)

add_loop_length_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "loop_length" has changed.

C++ signature :
    void add_loop_length_listener(TPyHandle<ASong>,boost::python::api::object)
add_loop_listener(...)

add_loop_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "loop" has changed.

C++ signature :
    void add_loop_listener(TPyHandle<ASong>,boost::python::api::object)
add_loop_start_listener(...)

add_loop_start_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "loop_start" has changed.

C++ signature :
    void add_loop_start_listener(TPyHandle<ASong>,boost::python::api::object)
add_metronome_listener(...)

add_metronome_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "metronome" has changed.

C++ signature :
    void add_metronome_listener(TPyHandle<ASong>,boost::python::api::object)
add_midi_recording_quantization_listener(...)

add_midi_recording_quantization_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "midi_recording_quantization" has changed.

C++ signature :
    void add_midi_recording_quantization_listener(TPyHandle<ASong>,boost::python::api::object)
add_nudge_down_listener(...)

add_nudge_down_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "nudge_down" has changed.

C++ signature :
    void add_nudge_down_listener(TPyHandle<ASong>,boost::python::api::object)
add_nudge_up_listener(...)

add_nudge_up_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "nudge_up" has changed.

C++ signature :
    void add_nudge_up_listener(TPyHandle<ASong>,boost::python::api::object)
add_overdub_listener(...)

add_overdub_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "overdub" has changed.

C++ signature :
    void add_overdub_listener(TPyHandle<ASong>,boost::python::api::object)
add_punch_in_listener(...)

add_punch_in_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "punch_in" has changed.

C++ signature :
    void add_punch_in_listener(TPyHandle<ASong>,boost::python::api::object)
add_punch_out_listener(...)

add_punch_out_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "punch_out" has changed.

C++ signature :
    void add_punch_out_listener(TPyHandle<ASong>,boost::python::api::object)
add_re_enable_automation_enabled_listener(...)

add_re_enable_automation_enabled_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "re_enable_automation_enabled" has changed.

C++ signature :
    void add_re_enable_automation_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
add_record_mode_listener(...)

add_record_mode_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "record_mode" has changed.

C++ signature :
    void add_record_mode_listener(TPyHandle<ASong>,boost::python::api::object)
add_return_tracks_listener(...)

add_return_tracks_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "return_tracks" has changed.

C++ signature :
    void add_return_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
add_root_note_listener(...)

add_root_note_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "root_note" has changed.

C++ signature :
    void add_root_note_listener(TPyHandle<ASong>,boost::python::api::object)
add_scale_intervals_listener(...)

add_scale_intervals_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "scale_intervals" has changed.

C++ signature :
    void add_scale_intervals_listener(TPyHandle<ASong>,boost::python::api::object)
add_scale_name_listener(...)

add_scale_name_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "scale_name" has changed.

C++ signature :
    void add_scale_name_listener(TPyHandle<ASong>,boost::python::api::object)
add_scenes_listener(...)

add_scenes_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "scenes" has changed.

C++ signature :
    void add_scenes_listener(TPyHandle<ASong>,boost::python::api::object)
add_session_automation_record_listener(...)

add_session_automation_record_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "session_automation_record" has changed.

C++ signature :
    void add_session_automation_record_listener(TPyHandle<ASong>,boost::python::api::object)
add_session_record_listener(...)

add_session_record_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "session_record" has changed.

C++ signature :
    void add_session_record_listener(TPyHandle<ASong>,boost::python::api::object)
add_session_record_status_listener(...)

add_session_record_status_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "session_record_status" has changed.

C++ signature :
    void add_session_record_status_listener(TPyHandle<ASong>,boost::python::api::object)
add_signature_denominator_listener(...)

add_signature_denominator_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "signature_denominator" has changed.

C++ signature :
    void add_signature_denominator_listener(TPyHandle<ASong>,boost::python::api::object)
add_signature_numerator_listener(...)

add_signature_numerator_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "signature_numerator" has changed.

C++ signature :
    void add_signature_numerator_listener(TPyHandle<ASong>,boost::python::api::object)
add_song_length_listener(...)

add_song_length_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "song_length" has changed.

C++ signature :
    void add_song_length_listener(TPyHandle<ASong>,boost::python::api::object)
add_start_time_listener(...)

add_start_time_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "start_time" has changed.

C++ signature :
    void add_start_time_listener(TPyHandle<ASong>,boost::python::api::object)
add_swing_amount_listener(...)

add_swing_amount_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "swing_amount" has changed.

C++ signature :
    void add_swing_amount_listener(TPyHandle<ASong>,boost::python::api::object)
add_tempo_follower_enabled_listener(...)

add_tempo_follower_enabled_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "tempo_follower_enabled" has changed.

C++ signature :
    void add_tempo_follower_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
add_tempo_listener(...)

add_tempo_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "tempo" has changed.

C++ signature :
    void add_tempo_listener(TPyHandle<ASong>,boost::python::api::object)
add_tracks_listener(...)

add_tracks_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "tracks" has changed.

C++ signature :
    void add_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
add_visible_tracks_listener(...)

add_visible_tracks_listener( (Song)arg1, (object)arg2) -> None : Add a listener function or method, which will be called as soon as the property "visible_tracks" has changed.

C++ signature :
    void add_visible_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
appointed_device_has_listener(...)

appointed_device_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "appointed_device".

C++ signature :
    bool appointed_device_has_listener(TPyHandle<ASong>,boost::python::api::object)
arrangement_overdub_has_listener(...)

arrangement_overdub_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "arrangement_overdub".

C++ signature :
    bool arrangement_overdub_has_listener(TPyHandle<ASong>,boost::python::api::object)
back_to_arranger_has_listener(...)

back_to_arranger_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "back_to_arranger".

C++ signature :
    bool back_to_arranger_has_listener(TPyHandle<ASong>,boost::python::api::object)
begin_undo_step(...)

begin_undo_step( (Song)arg1) -> None :

C++ signature :
    void begin_undo_step(TPyHandle<ASong>)
can_capture_midi_has_listener(...)

can_capture_midi_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "can_capture_midi".

C++ signature :
    bool can_capture_midi_has_listener(TPyHandle<ASong>,boost::python::api::object)
can_jump_to_next_cue_has_listener(...)

can_jump_to_next_cue_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "can_jump_to_next_cue".

C++ signature :
    bool can_jump_to_next_cue_has_listener(TPyHandle<ASong>,boost::python::api::object)
can_jump_to_prev_cue_has_listener(...)

can_jump_to_prev_cue_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "can_jump_to_prev_cue".

C++ signature :
    bool can_jump_to_prev_cue_has_listener(TPyHandle<ASong>,boost::python::api::object)
capture_and_insert_scene(...)

capture_and_insert_scene( (Song)arg1 [, (int)CaptureMode=Song.CaptureMode.all]) -> None : 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.

C++ signature :
    void capture_and_insert_scene(TPyHandle<ASong> [,int=Song.CaptureMode.all])
capture_midi(...)

capture_midi( (Song)arg1 [, (int)Destination=Song.CaptureDestination.auto]) -> None : 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.

C++ signature :
    void capture_midi(TPyHandle<ASong> [,int=Song.CaptureDestination.auto])
clip_trigger_quantization_has_listener(...)

clip_trigger_quantization_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "clip_trigger_quantization".

C++ signature :
    bool clip_trigger_quantization_has_listener(TPyHandle<ASong>,boost::python::api::object)
continue_playing(...)

continue_playing( (Song)arg1) -> None : Continue playing the song from the current position

C++ signature :
    void continue_playing(TPyHandle<ASong>)
count_in_duration_has_listener(...)

count_in_duration_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "count_in_duration".

C++ signature :
    bool count_in_duration_has_listener(TPyHandle<ASong>,boost::python::api::object)
create_audio_track(...)

create_audio_track( (Song)arg1 [, (object)Index=None]) -> Track : 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

C++ signature :
    TWeakPtr<TTrackPyHandle> create_audio_track(TPyHandle<ASong> [,boost::python::api::object=None])
create_midi_track(...)

create_midi_track( (Song)arg1 [, (object)Index=None]) -> Track : 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

C++ signature :
    TWeakPtr<TTrackPyHandle> create_midi_track(TPyHandle<ASong> [,boost::python::api::object=None])
create_return_track(...)

create_return_track( (Song)arg1) -> Track : 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.

C++ signature :
    TWeakPtr<TTrackPyHandle> create_return_track(TPyHandle<ASong>)
create_scene(...)

create_scene( (Song)arg1, (int)arg2) -> Scene : 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.

C++ signature :
    TWeakPtr<TPyHandle<AScene>> create_scene(TPyHandle<ASong>,int)
cue_points_has_listener(...)

cue_points_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "cue_points".

C++ signature :
    bool cue_points_has_listener(TPyHandle<ASong>,boost::python::api::object)
current_song_time_has_listener(...)

current_song_time_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "current_song_time".

C++ signature :
    bool current_song_time_has_listener(TPyHandle<ASong>,boost::python::api::object)
data_has_listener(...)

data_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "data".

C++ signature :
    bool data_has_listener(TPyHandle<ASong>,boost::python::api::object)
delete_return_track(...)

delete_return_track( (Song)arg1, (int)arg2) -> None : Delete the return track with the given index. If no track with this index exists, an exception will be raised.

C++ signature :
    void delete_return_track(TPyHandle<ASong>,int)
delete_scene(...)

delete_scene( (Song)arg1, (int)arg2) -> None : Delete the scene with the given index. If no scene with this index exists, an exception will be raised.

C++ signature :
    void delete_scene(TPyHandle<ASong>,int)
delete_track(...)

delete_track( (Song)arg1, (int)arg2) -> None : Delete the track with the given index. If no track with this index exists, an exception will be raised.

C++ signature :
    void delete_track(TPyHandle<ASong>,int)
duplicate_scene(...)

duplicate_scene( (Song)arg1, (int)arg2) -> None : Duplicates a scene and selects the new one. Raises a limitation error if creating a new scene would exceed the limitations.

C++ signature :
    void duplicate_scene(TPyHandle<ASong>,int)
duplicate_track(...)

duplicate_track( (Song)arg1, (int)arg2) -> None : 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.

C++ signature :
    void duplicate_track(TPyHandle<ASong>,int)
end_undo_step(...)

end_undo_step( (Song)arg1) -> None :

C++ signature :
    void end_undo_step(TPyHandle<ASong>)
exclusive_arm_has_listener(...)

exclusive_arm_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "exclusive_arm".

C++ signature :
    bool exclusive_arm_has_listener(TPyHandle<ASong>,boost::python::api::object)
find_device_position(...)

find_device_position( (Song)arg1, (Device)device, (LomObject)target, (int)target_position) -> 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.

C++ signature :
    int find_device_position(TPyHandle<ASong>,TPyHandle<ADevice>,TPyHandleBase,int)

force_link_beat_time( (Song)arg1) -> None : Force the Link timeline to jump to Lives current beat time. Danger: This can cause beat time discontinuities in other connected apps.

C++ signature :
    void force_link_beat_time(TPyHandle<ASong>)
get_beats_loop_length(...)

get_beats_loop_length( (Song)arg1) -> BeatTime : Get const access to the songs loop length, using a BeatTime class with the current global set signature.

C++ signature :
    NSongApi::TBeatTime get_beats_loop_length(TPyHandle<ASong>)
get_beats_loop_start(...)

get_beats_loop_start( (Song)arg1) -> BeatTime : Get const access to the songs loop start, using a BeatTime class with the current global set signature.

C++ signature :
    NSongApi::TBeatTime get_beats_loop_start(TPyHandle<ASong>)
get_current_beats_song_time(...)

get_current_beats_song_time( (Song)arg1) -> BeatTime : Get const access to the songs current playing position, using a BeatTime class with the current global set signature.

C++ signature :
    NSongApi::TBeatTime get_current_beats_song_time(TPyHandle<ASong>)
get_current_smpte_song_time(...)

get_current_smpte_song_time( (Song)arg1, (int)arg2) -> SmptTime : Get const access to the songs current playing position, by specifying the SMPTE format in which you would like to receive the time.

C++ signature :
    NSongApi::TSmptTime get_current_smpte_song_time(TPyHandle<ASong>,int)
get_data(...)

get_data( (Song)arg1, (object)key, (object)default_value) -> object : Get data for the given key, that was previously stored using set_data.

C++ signature :
    boost::python::api::object get_data(TPyHandle<ASong>,TString,boost::python::api::object)
groove_amount_has_listener(...)

groove_amount_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "groove_amount".

C++ signature :
    bool groove_amount_has_listener(TPyHandle<ASong>,boost::python::api::object)

is_ableton_link_enabled_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "is_ableton_link_enabled".

C++ signature :
    bool is_ableton_link_enabled_has_listener(TPyHandle<ASong>,boost::python::api::object)

is_ableton_link_start_stop_sync_enabled_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "is_ableton_link_start_stop_sync_enabled".

C++ signature :
    bool is_ableton_link_start_stop_sync_enabled_has_listener(TPyHandle<ASong>,boost::python::api::object)
is_counting_in_has_listener(...)

is_counting_in_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "is_counting_in".

C++ signature :
    bool is_counting_in_has_listener(TPyHandle<ASong>,boost::python::api::object)
is_cue_point_selected(...)

is_cue_point_selected( (Song)arg1) -> bool : Return true if the global playing pos is currently on a cue point.

C++ signature :
    bool is_cue_point_selected(TPyHandle<ASong>)
is_playing_has_listener(...)

is_playing_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "is_playing".

C++ signature :
    bool is_playing_has_listener(TPyHandle<ASong>,boost::python::api::object)
jump_by(...)

jump_by( (Song)arg1, (float)arg2) -> None : Set a new playing pos, relative to the current one.

C++ signature :
    void jump_by(TPyHandle<ASong>,double)
jump_to_next_cue(...)

jump_to_next_cue( (Song)arg1) -> None : Jump to the next cue (marker) if possible.

C++ signature :
    void jump_to_next_cue(TPyHandle<ASong>)
jump_to_prev_cue(...)

jump_to_prev_cue( (Song)arg1) -> None : Jump to the prior cue (marker) if possible.

C++ signature :
    void jump_to_prev_cue(TPyHandle<ASong>)
loop_has_listener(...)

loop_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "loop".

C++ signature :
    bool loop_has_listener(TPyHandle<ASong>,boost::python::api::object)
loop_length_has_listener(...)

loop_length_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "loop_length".

C++ signature :
    bool loop_length_has_listener(TPyHandle<ASong>,boost::python::api::object)
loop_start_has_listener(...)

loop_start_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "loop_start".

C++ signature :
    bool loop_start_has_listener(TPyHandle<ASong>,boost::python::api::object)
metronome_has_listener(...)

metronome_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "metronome".

C++ signature :
    bool metronome_has_listener(TPyHandle<ASong>,boost::python::api::object)
midi_recording_quantization_has_listener(...)

midi_recording_quantization_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "midi_recording_quantization".

C++ signature :
    bool midi_recording_quantization_has_listener(TPyHandle<ASong>,boost::python::api::object)
move_device(...)

move_device( (Song)arg1, (Device)device, (LomObject)target, (int)target_position) -> 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.

C++ signature :
    int move_device(TPyHandle<ASong>,TPyHandle<ADevice>,TPyHandleBase,int)
nudge_down_has_listener(...)

nudge_down_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "nudge_down".

C++ signature :
    bool nudge_down_has_listener(TPyHandle<ASong>,boost::python::api::object)
nudge_up_has_listener(...)

nudge_up_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "nudge_up".

C++ signature :
    bool nudge_up_has_listener(TPyHandle<ASong>,boost::python::api::object)
overdub_has_listener(...)

overdub_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "overdub".

C++ signature :
    bool overdub_has_listener(TPyHandle<ASong>,boost::python::api::object)
play_selection(...)

play_selection( (Song)arg1) -> None : Start playing the current set selection, or do nothing if no selection is set.

C++ signature :
    void play_selection(TPyHandle<ASong>)
punch_in_has_listener(...)

punch_in_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "punch_in".

C++ signature :
    bool punch_in_has_listener(TPyHandle<ASong>,boost::python::api::object)
punch_out_has_listener(...)

punch_out_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "punch_out".

C++ signature :
    bool punch_out_has_listener(TPyHandle<ASong>,boost::python::api::object)
re_enable_automation(...)

re_enable_automation( (Song)arg1) -> None : Discards overrides of automated parameters.

C++ signature :
    void re_enable_automation(TPyHandle<ASong>)
re_enable_automation_enabled_has_listener(...)

re_enable_automation_enabled_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "re_enable_automation_enabled".

C++ signature :
    bool re_enable_automation_enabled_has_listener(TPyHandle<ASong>,boost::python::api::object)
record_mode_has_listener(...)

record_mode_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "record_mode".

C++ signature :
    bool record_mode_has_listener(TPyHandle<ASong>,boost::python::api::object)
redo(...)

redo( (Song)arg1) -> str : Redo the last action that was undone.

C++ signature :
    TString redo(TPyHandle<ASong>)
remove_appointed_device_listener(...)

remove_appointed_device_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "appointed_device".

C++ signature :
    void remove_appointed_device_listener(TPyHandle<ASong>,boost::python::api::object)
remove_arrangement_overdub_listener(...)

remove_arrangement_overdub_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "arrangement_overdub".

C++ signature :
    void remove_arrangement_overdub_listener(TPyHandle<ASong>,boost::python::api::object)
remove_back_to_arranger_listener(...)

remove_back_to_arranger_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "back_to_arranger".

C++ signature :
    void remove_back_to_arranger_listener(TPyHandle<ASong>,boost::python::api::object)
remove_can_capture_midi_listener(...)

remove_can_capture_midi_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "can_capture_midi".

C++ signature :
    void remove_can_capture_midi_listener(TPyHandle<ASong>,boost::python::api::object)
remove_can_jump_to_next_cue_listener(...)

remove_can_jump_to_next_cue_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "can_jump_to_next_cue".

C++ signature :
    void remove_can_jump_to_next_cue_listener(TPyHandle<ASong>,boost::python::api::object)
remove_can_jump_to_prev_cue_listener(...)

remove_can_jump_to_prev_cue_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "can_jump_to_prev_cue".

C++ signature :
    void remove_can_jump_to_prev_cue_listener(TPyHandle<ASong>,boost::python::api::object)
remove_clip_trigger_quantization_listener(...)

remove_clip_trigger_quantization_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "clip_trigger_quantization".

C++ signature :
    void remove_clip_trigger_quantization_listener(TPyHandle<ASong>,boost::python::api::object)
remove_count_in_duration_listener(...)

remove_count_in_duration_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "count_in_duration".

C++ signature :
    void remove_count_in_duration_listener(TPyHandle<ASong>,boost::python::api::object)
remove_cue_points_listener(...)

remove_cue_points_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "cue_points".

C++ signature :
    void remove_cue_points_listener(TPyHandle<ASong>,boost::python::api::object)
remove_current_song_time_listener(...)

remove_current_song_time_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "current_song_time".

C++ signature :
    void remove_current_song_time_listener(TPyHandle<ASong>,boost::python::api::object)
remove_data_listener(...)

remove_data_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "data".

C++ signature :
    void remove_data_listener(TPyHandle<ASong>,boost::python::api::object)
remove_exclusive_arm_listener(...)

remove_exclusive_arm_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "exclusive_arm".

C++ signature :
    void remove_exclusive_arm_listener(TPyHandle<ASong>,boost::python::api::object)
remove_groove_amount_listener(...)

remove_groove_amount_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "groove_amount".

C++ signature :
    void remove_groove_amount_listener(TPyHandle<ASong>,boost::python::api::object)

remove_is_ableton_link_enabled_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "is_ableton_link_enabled".

C++ signature :
    void remove_is_ableton_link_enabled_listener(TPyHandle<ASong>,boost::python::api::object)

remove_is_ableton_link_start_stop_sync_enabled_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "is_ableton_link_start_stop_sync_enabled".

C++ signature :
    void remove_is_ableton_link_start_stop_sync_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
remove_is_counting_in_listener(...)

remove_is_counting_in_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "is_counting_in".

C++ signature :
    void remove_is_counting_in_listener(TPyHandle<ASong>,boost::python::api::object)
remove_is_playing_listener(...)

remove_is_playing_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "is_playing".

C++ signature :
    void remove_is_playing_listener(TPyHandle<ASong>,boost::python::api::object)
remove_loop_length_listener(...)

remove_loop_length_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "loop_length".

C++ signature :
    void remove_loop_length_listener(TPyHandle<ASong>,boost::python::api::object)
remove_loop_listener(...)

remove_loop_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "loop".

C++ signature :
    void remove_loop_listener(TPyHandle<ASong>,boost::python::api::object)
remove_loop_start_listener(...)

remove_loop_start_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "loop_start".

C++ signature :
    void remove_loop_start_listener(TPyHandle<ASong>,boost::python::api::object)
remove_metronome_listener(...)

remove_metronome_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "metronome".

C++ signature :
    void remove_metronome_listener(TPyHandle<ASong>,boost::python::api::object)
remove_midi_recording_quantization_listener(...)

remove_midi_recording_quantization_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "midi_recording_quantization".

C++ signature :
    void remove_midi_recording_quantization_listener(TPyHandle<ASong>,boost::python::api::object)
remove_nudge_down_listener(...)

remove_nudge_down_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "nudge_down".

C++ signature :
    void remove_nudge_down_listener(TPyHandle<ASong>,boost::python::api::object)
remove_nudge_up_listener(...)

remove_nudge_up_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "nudge_up".

C++ signature :
    void remove_nudge_up_listener(TPyHandle<ASong>,boost::python::api::object)
remove_overdub_listener(...)

remove_overdub_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "overdub".

C++ signature :
    void remove_overdub_listener(TPyHandle<ASong>,boost::python::api::object)
remove_punch_in_listener(...)

remove_punch_in_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "punch_in".

C++ signature :
    void remove_punch_in_listener(TPyHandle<ASong>,boost::python::api::object)
remove_punch_out_listener(...)

remove_punch_out_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "punch_out".

C++ signature :
    void remove_punch_out_listener(TPyHandle<ASong>,boost::python::api::object)
remove_re_enable_automation_enabled_listener(...)

remove_re_enable_automation_enabled_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "re_enable_automation_enabled".

C++ signature :
    void remove_re_enable_automation_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
remove_record_mode_listener(...)

remove_record_mode_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "record_mode".

C++ signature :
    void remove_record_mode_listener(TPyHandle<ASong>,boost::python::api::object)
remove_return_tracks_listener(...)

remove_return_tracks_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "return_tracks".

C++ signature :
    void remove_return_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
remove_root_note_listener(...)

remove_root_note_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "root_note".

C++ signature :
    void remove_root_note_listener(TPyHandle<ASong>,boost::python::api::object)
remove_scale_intervals_listener(...)

remove_scale_intervals_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "scale_intervals".

C++ signature :
    void remove_scale_intervals_listener(TPyHandle<ASong>,boost::python::api::object)
remove_scale_name_listener(...)

remove_scale_name_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "scale_name".

C++ signature :
    void remove_scale_name_listener(TPyHandle<ASong>,boost::python::api::object)
remove_scenes_listener(...)

remove_scenes_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "scenes".

C++ signature :
    void remove_scenes_listener(TPyHandle<ASong>,boost::python::api::object)
remove_session_automation_record_listener(...)

remove_session_automation_record_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "session_automation_record".

C++ signature :
    void remove_session_automation_record_listener(TPyHandle<ASong>,boost::python::api::object)
remove_session_record_listener(...)

remove_session_record_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "session_record".

C++ signature :
    void remove_session_record_listener(TPyHandle<ASong>,boost::python::api::object)
remove_session_record_status_listener(...)

remove_session_record_status_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "session_record_status".

C++ signature :
    void remove_session_record_status_listener(TPyHandle<ASong>,boost::python::api::object)
remove_signature_denominator_listener(...)

remove_signature_denominator_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "signature_denominator".

C++ signature :
    void remove_signature_denominator_listener(TPyHandle<ASong>,boost::python::api::object)
remove_signature_numerator_listener(...)

remove_signature_numerator_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "signature_numerator".

C++ signature :
    void remove_signature_numerator_listener(TPyHandle<ASong>,boost::python::api::object)
remove_song_length_listener(...)

remove_song_length_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "song_length".

C++ signature :
    void remove_song_length_listener(TPyHandle<ASong>,boost::python::api::object)
remove_start_time_listener(...)

remove_start_time_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "start_time".

C++ signature :
    void remove_start_time_listener(TPyHandle<ASong>,boost::python::api::object)
remove_swing_amount_listener(...)

remove_swing_amount_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "swing_amount".

C++ signature :
    void remove_swing_amount_listener(TPyHandle<ASong>,boost::python::api::object)
remove_tempo_follower_enabled_listener(...)

remove_tempo_follower_enabled_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "tempo_follower_enabled".

C++ signature :
    void remove_tempo_follower_enabled_listener(TPyHandle<ASong>,boost::python::api::object)
remove_tempo_listener(...)

remove_tempo_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "tempo".

C++ signature :
    void remove_tempo_listener(TPyHandle<ASong>,boost::python::api::object)
remove_tracks_listener(...)

remove_tracks_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "tracks".

C++ signature :
    void remove_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
remove_visible_tracks_listener(...)

remove_visible_tracks_listener( (Song)arg1, (object)arg2) -> None : Remove a previously set listener function or method from property "visible_tracks".

C++ signature :
    void remove_visible_tracks_listener(TPyHandle<ASong>,boost::python::api::object)
return_tracks_has_listener(...)

return_tracks_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "return_tracks".

C++ signature :
    bool return_tracks_has_listener(TPyHandle<ASong>,boost::python::api::object)
root_note_has_listener(...)

root_note_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "root_note".

C++ signature :
    bool root_note_has_listener(TPyHandle<ASong>,boost::python::api::object)
scale_intervals_has_listener(...)

scale_intervals_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "scale_intervals".

C++ signature :
    bool scale_intervals_has_listener(TPyHandle<ASong>,boost::python::api::object)
scale_name_has_listener(...)

scale_name_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "scale_name".

C++ signature :
    bool scale_name_has_listener(TPyHandle<ASong>,boost::python::api::object)
scenes_has_listener(...)

scenes_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "scenes".

C++ signature :
    bool scenes_has_listener(TPyHandle<ASong>,boost::python::api::object)
scrub_by(...)

scrub_by( (Song)arg1, (float)arg2) -> None : Same as jump_by, but does not stop playback.

C++ signature :
    void scrub_by(TPyHandle<ASong>,double)
session_automation_record_has_listener(...)

session_automation_record_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "session_automation_record".

C++ signature :
    bool session_automation_record_has_listener(TPyHandle<ASong>,boost::python::api::object)
session_record_has_listener(...)

session_record_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "session_record".

C++ signature :
    bool session_record_has_listener(TPyHandle<ASong>,boost::python::api::object)
session_record_status_has_listener(...)

session_record_status_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "session_record_status".

C++ signature :
    bool session_record_status_has_listener(TPyHandle<ASong>,boost::python::api::object)
set_data(...)

set_data( (Song)arg1, (object)key, (object)value) -> None : Store data for the given key in this object. The data is persistent and will be restored when loading the Live Set.

C++ signature :
    void set_data(TPyHandle<ASong>,TString,boost::python::api::object)
set_or_delete_cue(...)

set_or_delete_cue( (Song)arg1) -> None : When a cue is selected, it gets deleted. If no cue is selected, a new cue is created at the current global songtime.

C++ signature :
    void set_or_delete_cue(TPyHandle<ASong>)
signature_denominator_has_listener(...)

signature_denominator_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "signature_denominator".

C++ signature :
    bool signature_denominator_has_listener(TPyHandle<ASong>,boost::python::api::object)
signature_numerator_has_listener(...)

signature_numerator_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "signature_numerator".

C++ signature :
    bool signature_numerator_has_listener(TPyHandle<ASong>,boost::python::api::object)
song_length_has_listener(...)

song_length_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "song_length".

C++ signature :
    bool song_length_has_listener(TPyHandle<ASong>,boost::python::api::object)
start_playing(...)

start_playing( (Song)arg1) -> None : Start playing from the startmarker

C++ signature :
    void start_playing(TPyHandle<ASong>)
start_time_has_listener(...)

start_time_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "start_time".

C++ signature :
    bool start_time_has_listener(TPyHandle<ASong>,boost::python::api::object)
stop_all_clips(...)

stop_all_clips( (Song)arg1 [, (bool)Quantized=True]) -> None : Stop all playing Clips (if any) but continue playing the Song.

C++ signature :
    void stop_all_clips(TPyHandle<ASong> [,bool=True])
stop_playing(...)

stop_playing( (Song)arg1) -> None : Stop playing the Song.

C++ signature :
    void stop_playing(TPyHandle<ASong>)
swing_amount_has_listener(...)

swing_amount_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "swing_amount".

C++ signature :
    bool swing_amount_has_listener(TPyHandle<ASong>,boost::python::api::object)
tap_tempo(...)

tap_tempo( (Song)arg1) -> None : Trigger the tap tempo function.

C++ signature :
    void tap_tempo(TPyHandle<ASong>)
tempo_follower_enabled_has_listener(...)

tempo_follower_enabled_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "tempo_follower_enabled".

C++ signature :
    bool tempo_follower_enabled_has_listener(TPyHandle<ASong>,boost::python::api::object)
tempo_has_listener(...)

tempo_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "tempo".

C++ signature :
    bool tempo_has_listener(TPyHandle<ASong>,boost::python::api::object)
tracks_has_listener(...)

tracks_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "tracks".

C++ signature :
    bool tracks_has_listener(TPyHandle<ASong>,boost::python::api::object)
trigger_session_record(...)

trigger_session_record( (Song)self [, (float)record_length=1.7976931348623157e+308]) -> None : Triggers a new session recording.

C++ signature :
    void trigger_session_record(TPyHandle<ASong> [,double=1.7976931348623157e+308])
undo(...)

undo( (Song)arg1) -> str : Undo the last action that was made.

C++ signature :
    TString undo(TPyHandle<ASong>)
visible_tracks_has_listener(...)

visible_tracks_has_listener( (Song)arg1, (object)arg2) -> bool : Returns true, if the given listener function or method is connected to the property "visible_tracks".

C++ signature :
    bool visible_tracks_has_listener(TPyHandle<ASong>,boost::python::api::object)

class TimeFormat(enum)

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.int(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal.

int('0b100', base=0) 4

Methods

__init__(self, /, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

bit_length(self, /)

Number of bits necessary to represent self in binary.

bin(37) '0b100101' (37).bit_length() 6

conjugate(...)

Returns self, the complex conjugate of any int.

from_bytes(bytes, byteorder, *, signed=False)

Return the integer represented by the given array of bytes.

bytes Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length, byteorder, *, signed=False)

Return an array of bytes representing an integer.

length Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. byteorder The byte order used to represent the integer. If byteorder is 'big', the most significant byte is at the beginning of the byte array. If byteorder is 'little', the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder' as the byte order value. signed Determines whether two's complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

Attributes

  • denominator = <attribute 'denominator' of 'int' objects> - the denominator of a rational number in lowest terms
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • ms_time = Song.TimeFormat.ms_time
  • name = <member 'name' of 'Boost.Python.enum' objects>
  • names = {'ms_time': Song.TimeFormat.ms_time, 'smpte_24': Song.TimeFormat.smpte_24, 'smpte_25': Song.TimeFormat.smpte_25, 'smpte_30': Song.TimeFormat.smpte_30, 'smpte_30... - dict() -> new empty dictionary
  • numerator = <attribute 'numerator' of 'int' objects> - the numerator of a rational number in lowest terms
  • real = <attribute 'real' of 'int' objects> - the real part of a complex number
  • smpte_24 = Song.TimeFormat.smpte_24
  • smpte_25 = Song.TimeFormat.smpte_25
  • smpte_29 = Song.TimeFormat.smpte_29
  • smpte_30 = Song.TimeFormat.smpte_30
  • smpte_30_drop = Song.TimeFormat.smpte_30_drop
  • values = {0: Song.TimeFormat.ms_time, 1: Song.TimeFormat.smpte_24, 2: Song.TimeFormat.smpte_25, 3: Song.TimeFormat.smpte_30, 4: Song.TimeFormat.smpte_30_drop, 5: Song.Ti... - dict() -> new empty dictionary