Skip to content

ableton.v3.control_surface (runtime)

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

Module constants

  • ABSOLUTE_MAP_MODES = (MidiMap.MapMode.absolute, MidiMap.MapMode.absolute_14_bit)
  • ACTIVE_PARAMETER_TIMEOUT = 0.75
  • BANK_DEFINITIONS = {'AudioEffectGroupDevice': IndexedDict([('Macros', {'Parameters': ('Macro 1', 'Macro 2', 'Macro 3', 'Macro 4', 'Macro 5', 'Macro 6', 'Macro 7', 'Macro 8')}), ('...
  • BANK_FORMAT = 'Bank %d'
  • BANK_MAIN_KEY = 'Main'
  • BANK_PARAMETERS_KEY = 'Parameters'
  • DEFAULT_BANK_SIZE = 8
  • DEFAULT_CONTINUOUS_PARAMETER_SENSITIVITY = 1.0
  • DEFAULT_PRIORITY = 0
  • DEFAULT_QUANTIZED_PARAMETER_SENSITIVITY = 0.1
  • DOUBLE_CLICK_DELAY = 0.5
  • FINE_GRAIN_SENSITIVITY_FACTOR = 0.1
  • HIGH_PRIORITY = 1
  • LOW_PRIORITY = -1
  • M4L_PRIORITY = 2
  • MIDI_CC_TYPE = 1
  • MIDI_NOTE_TYPE = 0
  • MIDI_PB_TYPE = 2
  • MIDI_SYSEX_TYPE = 3
  • MOMENTARY_DELAY = 0.3
  • STANDARD_COLOR_PALETTE = {10927616: 74, 16149507: 84, 4047616: 76, 6441901: 69, 14402304: 99, 8754719: 19, 16725558: 5, 3947580: 71, 10056267: 15, 8237133: 18, 12026454: 11, 12565097: 7...
  • STANDARD_FALLBACK_COLOR_TABLE = ((0, 0), (1, 1973790), (2, 8355711), (3, 16777215), (4, 16731212), (5, 16711680), (6, 5832704), (7, 1638400), (8, 16760172), (9, 16733184), (10, 5840128), (11, ...
  • V2_BANK_DEFINITIONS = {'AudioEffectGroupDevice': IndexedDict([('Macros', {'Parameters': ('Macro 1', 'Macro 2', 'Macro 3', 'Macro 4', 'Macro 5', 'Macro 6', 'Macro 7', 'Macro 8')}), ('...
  • default_skin = <ableton.v3.control_surface.skin.Skin object at 0x163c0cf60>

Functions

all_parameters(device)

create_button(identifier, name, **k)

create_combo_element(control=None, modifier=None, name=None, is_private=True)

create_control_surface(name=None, specification=None, c_instance=None)

create_encoder(identifier, name, **k)

create_matrix_identifiers(start, stop, width=1, flip_rows=False)

create_parameter_bank(device, banking_info)

create_skin(skin=None, colors=None)

create_sysex_element(identifier, name, send_message_generator=None, is_private=True, **k)

create_sysex_sending_button(identifier, name, sysex_identifier, **k)

find_instrument_devices(track_or_chain)

find_instrument_meeting_requirement(requirement, track_or_chain)

merge_skins(*skins)

parameter_mapping_sensitivities(continuous_parameter_sensitivity=1.0, quantized_parameter_sensitivity=0.1)

use(parameter_name)

Classes

class BankingInfo(BankingInfo)

Properties

  • bank_size
  • num_simultaneous_banks

Methods

__init__(self, bank_definitions, bank_size=8, *a, **k)

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

device_bank_count(self, device, **k)
device_bank_definition(self, device)
device_bank_names(self, device, bank_name_join_str=' and ', **k)
has_bank_count(self, device)
has_bank_names(self, device)
has_main_bank(self, device)

class BasicColors

Methods

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

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

Attributes

  • OFF = <ableton.v3.control_surface.elements.color.SimpleColor object at 0x163977438>
  • ON = <ableton.v3.control_surface.elements.color.SimpleColor object at 0x163977470>

class Component(ControlManager)

Properties

  • application
  • is_root
  • layer
  • parent
  • song

Methods

__init__(self, name='', parent=None, register_component=None, song=None, layer=None, is_enabled=True, is_private=True, *a, **k)

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

_add_child(self, component)
_get_layer_iterable(self)
_grab_all_layers(self)
_internal_on_enabled_changed(self)
_release_all_layers(self)
_set_enabled_recursive(self, enable)
_update_is_enabled(self)
add_any_clipboard_has_content_listener(self, slot, identify_sender=False, *a, **k)
add_children(self, *children)
add_control(self, name, control)
add_enabled_listener(self, slot, identify_sender=False, *a, **k)
any_clipboard_has_content_has_listener(self, slot)
any_clipboard_has_content_listener_count(self)
control_notifications_enabled(self)
disconnect(self)
disconnect_disconnectable(self, slot)
enabled_has_listener(self, slot)
enabled_listener_count(self)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
is_enabled(self, explicit=False)
notify_any_clipboard_has_content(self, *a, **k)
notify_enabled(self, *a, **k)
on_enabled_changed(self)
register_clipboard(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_any_clipboard_has_content_listener(self, slot)
remove_enabled_listener(self, slot)
set_enabled(self, enable)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _clipboard_component_instances = [] - Built-in mutable sequence.
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x163a2a898>
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • num_layers = 0 - int([x]) -> integer

class CompoundElement(NotifyingControlElement, ControlElementClient)

Properties

  • resource

Methods

ProxiedInterface(outer=None, *a, **k)
__init__(self, control_elements=None, *a, **k)

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

_connect_nested_control_elements(self)
_disconnect_nested_control_elements(self)
_get_nested_client(self, client)
_grab_nested_control_elements(self, client, priority=None, **k)
_on_nested_control_element_lost(self, control)
_on_nested_control_element_received(self, control)
_on_resource_lost(self, client)
_on_resource_received(self, client, *a, **k)
_release_nested_control_elements(self, client)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
add_value_listener(self, *a, **k)

Called when the control element receives a MIDI value from the hardware

clear_send_cache(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
get_control_element_priority(self, element, priority)
has_control_element(self, control)
has_disconnectable(self, slot)
nested_control_elements(self)
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)
notify_value(self, *a, **k)

Called when the control element receives a MIDI value from the hardware

on_nested_control_element_lost(self, control)
on_nested_control_element_received(self, control)
on_nested_control_element_value(self, value, control)
owned_control_elements(self)
owns_control_element(self, control)
register_control_element(self, element)
register_control_elements(self, *elements)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_value_listener(self, *a, **k)

Called when the control element receives a MIDI value from the hardware

request_listen_nested_control_elements(self)
reset(self)
reset_state(self)
send_midi(self, message)
set_control_element(self, control, grabbed)
unregister_control_element(self, element)
unregister_control_elements(self, *elements)
unregister_disconnectable(self, slot)
unrequest_listen_nested_control_elements(self)
value_has_listener(self, slot)

Called when the control element receives a MIDI value from the hardware

value_listener_count(self)

Called when the control element receives a MIDI value from the hardware

Attributes

  • _CompoundElement__on_nested_control_element_value = None
  • _has_resource = False - bool(x) -> bool
  • _has_task_group = False - bool(x) -> bool
  • _is_resource_based = False - bool(x) -> bool
  • _resource = <ableton.v2.base.util.lazy_attribute object at 0x11b312780>
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x1630c8898>
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool
  • proxied_interface = <ableton.v2.base.util.lazy_attribute object at 0x11df40710>

class ControlElement(Disconnectable)

Properties

  • resource

Methods

ProxiedInterface(outer=None, *a, **k)
__init__(self, name='', is_private=False, resource_type=None, optimized_send_midi=None, send_midi=None, register_control=None, *a, **k)

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

_on_resource_lost(self, client)
_on_resource_received(self, client, *a, **k)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
clear_send_cache(self)
disconnect(self)
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)
reset(self)
reset_state(self)
send_midi(self, message)

Attributes

  • _has_resource = False - bool(x) -> bool
  • _has_task_group = False - bool(x) -> bool
  • _resource = <ableton.v2.base.util.lazy_attribute object at 0x11b312780>
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x1630c8898>
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool
  • proxied_interface = <ableton.v2.base.util.lazy_attribute object at 0x11df40710>

class ControlSurface(SimpleControlSurface, ControlSurfaceMappingMixin)

Properties

  • _tasks
  • application
  • components
  • controls
  • renderable_components
  • root_components
  • song

Methods

__init__(self, specification=None, *a, **k)

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

_add_mode(self, mode_name, mode_spec, modes_component)
_component_guard(self)
_create_background(self, priority)
_create_component(self, name, component_mappings)
_create_elements(specification)
_create_extended_injector(self)
_create_identification(self, specification)
_create_instrument_finder(self)
_create_mode_part(self, mode_mappings)
_create_modes_component(self, name, modes_config)
_disconnect_and_unregister_all_components(self)
_do_receive_midi(self, midi_bytes)
_do_receive_midi_chunk(self, midi_chunk)
_do_send_midi(self, midi_event_bytes)
_flush_midi_messages(self)
_get_additional_dependencies(self)
_get_tasks(self)
_install_forwarding(self, midi_map_handle, control, forwarding_type=1)
_install_mapping(self, midi_map_handle, control, parameter, feedback_delay, feedback_map)
_merge_midi_data(recipient, data, midi_data)
_on_entering_component_guard(self)
_pre_serialize(self)
_receive_midi_data(recipient, data)
_register_component(self, component)
_register_control(self, control)
_render_and_update_display(self)
_send_midi(self, midi_event_bytes, optimized=True)
_send_specification_messages(self, messages_name='hello_messages')
_set_suppress_rebuild_requests(self, suppress_requests)
_setup_modes_component(self, name, modes_config)
_should_include_element_in_background(element)
_suppress_notifications(self)
_translate_message(self, type, from_identifier, from_channel, to_identifier, to_channel)
_update_auto_arm(self)
_update_controlled_track(self)
_update_feedback_velocity(self)
_update_instrument_components(self)
accumulating_midi_messages(self)
add_disconnect_listener(self, slot, identify_sender=False, *a, **k)
add_received_midi_listener(self, slot, identify_sender=False, *a, **k)
build_midi_map(self, midi_map_handle)
call_listeners(self, listeners)
can_lock_to_devices(self)
component_guard(self)
connect_script_instances(self, instanciated_scripts)
disconnect(self)
disconnect_disconnectable(self, slot)
disconnect_has_listener(self, slot)
disconnect_listener_count(self)
drum_group_changed(self, drum_group)
find_disconnectable(self, predicate)
get_component_by_name(self, component_name)
get_control_by_name(self, control_name)
get_recipient_for_nonsysex_midi_message(self, midi_bytes)
get_registry_entry_for_sysex_midi_message(self, midi_bytes)
has_disconnectable(self, slot)
identification_state_changed(self, state)
lock_to_device(self, device)
mxd_grab_control_priority()
notify_disconnect(self, *a, **k)
notify_received_midi(self, *a, **k)
on_identified(self, response_bytes)
port_settings_changed(self)
process_midi_bytes(self, midi_bytes, midi_processor)
react(self, event)
receive_midi(self, midi_bytes)
receive_midi_chunk(self, midi_chunk)
received_midi_has_listener(self, slot)
received_midi_listener_count(self)
refresh_state(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
release_controlled_track(self)
remove_disconnect_listener(self, slot)
remove_received_midi_listener(self, slot)
request_rebuild_midi_map(self)
restore_bank(self, bank_index)
schedule_message(self, delay_in_ticks, callback, parameter=None)
set_can_auto_arm(self, can_auto_arm)
set_can_update_controlled_track(self, can_update)
set_controlled_track(self, track)
set_enabled(self, enable)
set_feedback_channels(self, channels)
set_pad_translations(self, pad_translations)
setup(self)
show_message(self, message)
sliced_simpler_changed(self, sliced_simpler)
suggest_map_mode(self, cc_no, channel)
supports_pad_translation(self)
suppressing_rebuild_requests(self)
target_track_changed(self, target_track)
unlock_from_device(self, _)
unregister_disconnectable(self, slot)
update(self)
update_display(self)
update_display_hook(self)

Attributes

  • _ControlSurface__on_instrument_changed = None
  • _ControlSurface__on_is_identified_changed = None
  • _ControlSurface__on_target_track_changed = None
  • _ControlSurface__on_track_arm_changed = None
  • _ControlSurface__on_track_implicit_arm_changed = None
  • _create_device_bank_registry = <ableton.v2.base.util.lazy_attribute object at 0x163c04cf8>
  • _create_device_provider = <ableton.v2.base.util.lazy_attribute object at 0x163c045f8>
  • _create_session_ring = <ableton.v2.base.util.lazy_attribute object at 0x163c04668>
  • handle_undo_steps = False - bool(x) -> bool
  • preferences = <ableton.v2.base.util.lazy_attribute object at 0x11df16048>
  • preferences_key = None

class ControlSurfaceSpecification(SimpleNamespace)

A simple attribute-based namespace.

SimpleNamespace(**kwargs)

Methods

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

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

auto_arm_component_type(name='Auto_Arm', target_track=None, *a, **k)
create_mappings_function(*x)
device_provider_type(song=None, *a, **k)
recording_method_type(song=None, target_track=None, *a, **k)
session_ring_component_type(name='Session_Ring', num_tracks=0, num_scenes=0, include_returns=False, include_master=False, right_align_non_player_tracks=False, tracks_to_use=None, snap_track_offset=False, set_session_highlight=<function nop at 0x14def8bf8>, is_private=False, *a, **k)
target_track_component_type(name='Target_Track', is_private=False, *a, **k)

Attributes

  • background_priority = -1 - int([x]) -> integer
  • component_map = {} - dict() -> new empty dictionary
  • continuous_parameter_sensitivity = 1.0 - Convert a string or number to a floating point number, if possible.
  • control_surface_skin = <ableton.v3.control_surface.skin.Skin object at 0x163c0cf60>
  • custom_identity_response = None
  • display_specification = <ableton.v3.control_surface.display.display_specification.DisplaySpecification object at 0x11df6ed68>
  • elements_type = None
  • feedback_channels = None
  • goodbye_messages = None
  • hello_messages = None
  • identity_request = (240, 126, 127, 6, 1, 247) - Built-in immutable sequence.
  • identity_request_delay = 0.0 - Convert a string or number to a floating point number, if possible.
  • identity_response_id_bytes = None
  • include_auto_arming = False - bool(x) -> bool
  • include_master = False - bool(x) -> bool
  • include_returns = False - bool(x) -> bool
  • link_session_ring_to_scene_selection = False - bool(x) -> bool
  • link_session_ring_to_track_selection = False - bool(x) -> bool
  • num_scenes = 1 - int([x]) -> integer
  • num_tracks = 8 - int([x]) -> integer
  • parameter_bank_definitions = {'AudioEffectGroupDevice': IndexedDict([('Macros', {'Parameters': ('Macro 1', 'Macro 2', 'Macro 3', 'Macro 4', 'Macro 5', 'Macro 6', 'Macro 7', 'Macro 8')}), ('... - dict() -> new empty dictionary
  • parameter_bank_size = 8 - int([x]) -> integer
  • playing_feedback_velocity = 127 - int([x]) -> integer
  • quantized_parameter_sensitivity = 0.1 - Convert a string or number to a floating point number, if possible.
  • recording_feedback_velocity = 127 - int([x]) -> integer
  • right_align_non_player_tracks = False - bool(x) -> bool
  • send_goodbye_messages_last = True - bool(x) -> bool
  • snap_track_offset = False - bool(x) -> bool

class DescribedDeviceParameterBank(DescribedDeviceParameterBank)

Properties

  • device
  • index
  • name
  • parameters

Methods

__init__(self, device=None, banking_info=None, *a, **k)

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

_adjust_index(self, index)
_calc_name(self)
_collect_parameters(self)
_content_slots(self)
_current_parameter_slots(self)
_get_index(self)
_is_index_valid(self, index)
_set_index(self, index)
_setup_dynamic_slots(self)
_update_parameters(self)
add_parameters_listener(self, slot, identify_sender=False, *a, **k)
bank_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
notify_parameters(self, *a, **k)
parameters_has_listener(self, slot)
parameters_listener_count(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_parameters_listener(self, slot)
unregister_disconnectable(self, slot)

Attributes

  • _on_parameters_changed = None
  • _on_slot_content_changed = None

class DeviceBankRegistry(EventObject)

Methods

__init__(self, *a, **k)

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

_find_device_bank_key(self, device)
add_device_bank_listener(self, slot, identify_sender=False, *a, **k)
compact_registry(self)
device_bank_has_listener(self, slot)
device_bank_listener_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
get_device_bank(self, device)
has_disconnectable(self, slot)
notify_device_bank(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_device_bank_listener(self, slot)
set_device_bank(self, device, bank)
unregister_disconnectable(self, slot)

class DeviceProvider(EventObject)

Properties

  • device
  • is_locked_to_device

Methods

__init__(self, song=None, *a, **k)

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

_appoint_device_from_song(self)
_device_to_appoint(self, device)
_update_appointed_device(self)
add_device_listener(self, slot, identify_sender=False, *a, **k)
add_is_locked_to_device_listener(self, slot, identify_sender=False, *a, **k)
can_skip_over_device_rack(device)
device_has_listener(self, slot)
device_listener_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
is_locked_to_device_has_listener(self, slot)
is_locked_to_device_listener_count(self)
lock_to_device(self, device)
notify_device(self, *a, **k)
notify_is_locked_to_device(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_device_listener(self, slot)
remove_is_locked_to_device_listener(self, slot)
select_and_appoint_device(self, device, ignore_unmapped_macros=True)
unlock_from_device(self)
unregister_disconnectable(self, slot)
update_device_selection(self)

Attributes

  • _DeviceProvider__on_appointed_device_changed = None
  • _DeviceProvider__on_chains_changed = None
  • _DeviceProvider__on_has_macro_mappings_changed = None
  • _DeviceProvider__on_selected_device_changed = None
  • _DeviceProvider__on_selected_track_changed = None
  • device_selection_follows_track_selection = True - bool(x) -> bool

class ElementsBase

Methods

__init__(self, global_channel=0, *a, **k)

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

_add_modified_matrix(self, matrix, modifier, name, element_factory, is_private)
_add_raw_elements(self, base_name, elements)
_create_attribute_name(self, name)
add_button(self, identifier, name, **k)
add_button_matrix(self, identifiers, base_name, channels=None, *a, **k)
add_element(self, name, element_factory, *a, **k)
add_encoder(self, identifier, name, **k)
add_encoder_matrix(self, identifiers, base_name, channels=None, *a, **k)
add_matrix(self, identifiers, base_name, channels=None, element_factory=None, name_factory=None, is_private=False, **k)
add_modified_control(self, control=None, modifier=None, name=None, element_factory=<function create_combo_element at 0x163c237b8>, is_private=True)
add_modifier_button(self, identifier, name, *a, **k)
add_submatrix(self, matrix, name, columns=None, rows=None, is_private=True)
add_sysex_display_line(self, identifier, name, send_message_generator=None, default_formatting=None, formatting_fn=None, **k)
add_sysex_element(self, identifier, name, send_message_generator=None, **k)

class EnumWrappingParameter(InternalParameterBase, PropertyHostMixin)

Properties

  • _live_ptr
  • automation_state
  • canonical_parent
  • default_value
  • display_value
  • max
  • min
  • name
  • original_name
  • short_value_items
  • state
  • value
  • value_items

Methods

__init__(self, parent=None, index_property_host=None, values_host=None, values_property=None, index_property=None, value_type=<class 'int'>, to_index_conversion=None, from_index_conversion=None, *a, **k)

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

_get_index(self)
_get_values(self)
_has_valid_parent(self)
_set_index(self, index)
add_automation_state_listener(self, slot, identify_sender=False, *a, **k)
add_name_listener(self, slot, identify_sender=False, *a, **k)
add_state_listener(self, slot, identify_sender=False, *a, **k)
add_value_items_listener(self, slot, identify_sender=False, *a, **k)
add_value_listener(self, slot, identify_sender=False, *a, **k)
automation_state_has_listener(self, slot)
automation_state_listener_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
name_has_listener(self, slot)
name_listener_count(self)
notify_automation_state(self, *a, **k)
notify_name(self, *a, **k)
notify_state(self, *a, **k)
notify_value(self, *a, **k)
notify_value_items(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_automation_state_listener(self, slot)
remove_name_listener(self, slot)
remove_state_listener(self, slot)
remove_value_items_listener(self, slot)
remove_value_listener(self, slot)
set_property_host(self, new_host)
state_has_listener(self, slot)
state_listener_count(self)
unregister_disconnectable(self, slot)
value_has_listener(self, slot)
value_items_has_listener(self, slot)
value_items_listener_count(self)
value_listener_count(self)

Attributes

  • is_enabled = True - bool(x) -> bool
  • is_quantized = True - bool(x) -> bool

class IdentificationComponent(Component, Renderable)

Properties

  • application
  • is_root
  • layer
  • parent
  • song

Methods

__init__(self, name='Identification', identity_request=(240, 126, 127, 6, 1, 247), identity_request_delay=0.0, identity_response_id_bytes=None, custom_identity_response=None, send_midi=None, *a, **k)

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

_add_child(self, component)
_create_event_handler(self, property_name)
_get_layer_iterable(self)
_grab_all_layers(self)
_init_state_from_controls(self, renderable_state)
_init_state_from_listenable_properties(self, renderable_state)
_internal_on_enabled_changed(self)
_release_all_layers(self)
_send_identity_request(self)
_set_enabled_recursive(self, enable)
_update_is_enabled(self)
add_any_clipboard_has_content_listener(self, slot, identify_sender=False, *a, **k)
add_children(self, *children)
add_control(self, name, control)
add_enabled_listener(self, slot, identify_sender=False, *a, **k)
add_is_identified_listener(self, slot, identify_sender=False, *a, **k)
add_received_response_bytes_listener(self, slot, identify_sender=False, *a, **k)
any_clipboard_has_content_has_listener(self, slot)
any_clipboard_has_content_listener_count(self)
control_base_type(extra_args=None, extra_kws=None, *a, **k)
control_notifications_enabled(self)
disconnect(self)
disconnect_disconnectable(self, slot)
dispatch_event(self, name: 'str', value)
enabled_has_listener(self, slot)
enabled_listener_count(self)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
is_enabled(self, explicit=False)
is_identified_has_listener(self, slot)
is_identified_listener_count(self)
notify(self, notification: 'Notification[Callable[[Unpack[NotificationParams]], Optional[str]]]', *a: 'Unpack[NotificationParams]')
notify_any_clipboard_has_content(self, *a, **k)
notify_enabled(self, *a, **k)
notify_is_identified(self, *a, **k)
notify_received_response_bytes(self, *a, **k)
on_enabled_changed(self)
received_response_bytes_has_listener(self, slot)
received_response_bytes_listener_count(self)
register_clipboard(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_any_clipboard_has_content_listener(self, slot)
remove_enabled_listener(self, slot)
remove_is_identified_listener(self, slot)
remove_received_response_bytes_listener(self, slot)
request_identity(self)
set_enabled(self, enable)
suppress_notifications(self)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _clipboard_component_instances = [] - Built-in mutable sequence.
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x163a2a898>
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • identity_response_control = <ableton.v2.control_surface.control.control.InputControl object at 0x163bfa940>
  • include_in_top_level_state = True - bool(x) -> bool
  • is_identified = False - bool(x) -> bool
  • num_layers = 0 - int([x]) -> integer
  • received_response_bytes = None
  • renderable_state = <ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>

class InputControlElement(NotifyingControlElement)

Properties

  • _last_sent_value
  • is_feedback_enabled
  • mapping_sensitivity
  • resource
  • script_forwarding
  • send_depends_on_forwarding
  • suppress_script_forwarding

Methods

ProxiedInterface(outer=None, *a, **k)
__init__(self, msg_type=None, channel=None, identifier=None, sysex_identifier=None, request_rebuild_midi_map=None, send_should_depend_on_forwarding=True, is_feedback_enabled=True, *a, **k)

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

_do_send_value(self, value, channel=None)
_mapping_feedback_values(self)
_on_resource_lost(self, client)
_on_resource_received(self, client, *a, **k)
_report_value(self, value, is_input)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
_send_delayed_messages(self)
_status_byte(self, channel)
_verify_value(self, value)
add_value_listener(self, slot, identify_sender=False, *a, **k)
begin_gesture(self)
clear_send_cache(self)
connect_to(self, parameter)
disconnect(self)
disconnect_disconnectable(self, slot)
end_gesture(self)
find_disconnectable(self, predicate)
force_next_send(self)
has_disconnectable(self, slot)
identifier_bytes(self)
install_connections(self, install_translation, install_mapping, install_forwarding)
mapped_parameter(self)
max_value(self)
message_channel(self)
message_identifier(self)
message_map_mode(self)
message_sysex_identifier(self)
message_type(self)
needs_takeover(self)
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)
notify_value(self, *a, **k)
original_channel(self)
original_identifier(self)
receive_chunk(self, chunk)
receive_value(self, value)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
release_parameter(self)
remove_value_listener(self, slot)
reset(self)
reset_state(self)
script_wants_forwarding(self)
send_midi(self, message)
send_value(self, value, force=False, channel=None)
set_channel(self, channel)
set_feedback_delay(self, delay)
set_identifier(self, identifier)
set_needs_takeover(self, needs_takeover)
set_report_values(self, report_input, report_output)
unregister_disconnectable(self, slot)
use_default_message(self)
value_has_listener(self, slot)
value_listener_count(self)

Attributes

  • _has_resource = False - bool(x) -> bool
  • _has_task_group = False - bool(x) -> bool
  • _input_signal_listener_count = 0 - int([x]) -> integer
  • _resource = <ableton.v2.base.util.lazy_attribute object at 0x11b312780>
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x1630c8898>
  • allow_receiving_chunks = False - bool(x) -> bool
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • num_delayed_messages = 1 - int([x]) -> integer
  • optimized_send_midi = True - bool(x) -> bool
  • proxied_interface = <ableton.v2.base.util.lazy_attribute object at 0x11df40710>

class InstrumentFinderComponent(Component, Renderable)

Properties

  • application
  • is_root
  • layer
  • parent
  • song

Methods

__init__(self, name='Instrument_Finder', target_track=None, *a, **k)

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

_add_child(self, component)
_create_event_handler(self, property_name)
_get_layer_iterable(self)
_grab_all_layers(self)
_init_state_from_controls(self, renderable_state)
_init_state_from_listenable_properties(self, renderable_state)
_internal_on_enabled_changed(self)
_release_all_layers(self)
_set_enabled_recursive(self, enable)
_update_instruments(self)
_update_is_enabled(self)
_update_listeners(self)
add_any_clipboard_has_content_listener(self, slot, identify_sender=False, *a, **k)
add_any_instrument_listener(self, slot, identify_sender=False, *a, **k)
add_children(self, *children)
add_control(self, name, control)
add_drum_group_listener(self, slot, identify_sender=False, *a, **k)
add_enabled_listener(self, slot, identify_sender=False, *a, **k)
add_instrument_listener(self, slot, identify_sender=False, *a, **k)
add_sliced_simpler_listener(self, slot, identify_sender=False, *a, **k)
any_clipboard_has_content_has_listener(self, slot)
any_clipboard_has_content_listener_count(self)
any_instrument_has_listener(self, slot)
any_instrument_listener_count(self)
control_base_type(extra_args=None, extra_kws=None, *a, **k)
control_notifications_enabled(self)
disconnect(self)
disconnect_disconnectable(self, slot)
dispatch_event(self, name: 'str', value)
drum_group_has_listener(self, slot)
drum_group_listener_count(self)
enabled_has_listener(self, slot)
enabled_listener_count(self)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
instrument_has_listener(self, slot)
instrument_listener_count(self)
is_enabled(self, explicit=False)
notify(self, notification: 'Notification[Callable[[Unpack[NotificationParams]], Optional[str]]]', *a: 'Unpack[NotificationParams]')
notify_any_clipboard_has_content(self, *a, **k)
notify_any_instrument(self, *a, **k)
notify_drum_group(self, *a, **k)
notify_enabled(self, *a, **k)
notify_instrument(self, *a, **k)
notify_sliced_simpler(self, *a, **k)
on_enabled_changed(self)
register_clipboard(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_any_clipboard_has_content_listener(self, slot)
remove_any_instrument_listener(self, slot)
remove_drum_group_listener(self, slot)
remove_enabled_listener(self, slot)
remove_instrument_listener(self, slot)
remove_sliced_simpler_listener(self, slot)
set_enabled(self, enable)
sliced_simpler_has_listener(self, slot)
sliced_simpler_listener_count(self)
suppress_notifications(self)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _InstrumentFinderComponent__on_chains_changed = None
  • _InstrumentFinderComponent__on_devices_changed = None
  • _InstrumentFinderComponent__on_slicing_changed = None
  • _clipboard_component_instances = [] - Built-in mutable sequence.
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x163a2a898>
  • any_clipboard_has_content = False - bool(x) -> bool
  • any_instrument = None
  • canonical_parent = None
  • drum_group = None
  • include_in_top_level_state = True - bool(x) -> bool
  • num_layers = 0 - int([x]) -> integer
  • renderable_state = <ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>
  • sliced_simpler = None

class InternalParameter(InternalParameterBase)

Properties

  • _live_ptr
  • automation_state
  • canonical_parent
  • default_value
  • display_value
  • linear_value
  • max
  • min
  • name
  • original_name
  • state
  • value

Methods

__init__(self, parent=None, display_value_conversion=None, *a, **k)

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

_get_linear_value(self)
_get_value(self)
_has_valid_parent(self)
_set_linear_value(self, new_value)
_set_value(self, new_value)
add_automation_state_listener(self, slot, identify_sender=False, *a, **k)
add_name_listener(self, slot, identify_sender=False, *a, **k)
add_state_listener(self, slot, identify_sender=False, *a, **k)
add_value_listener(self, slot, identify_sender=False, *a, **k)
automation_state_has_listener(self, slot)
automation_state_listener_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
name_has_listener(self, slot)
name_listener_count(self)
notify_automation_state(self, *a, **k)
notify_name(self, *a, **k)
notify_state(self, *a, **k)
notify_value(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_automation_state_listener(self, slot)
remove_name_listener(self, slot)
remove_state_listener(self, slot)
remove_value_listener(self, slot)
set_display_value_conversion(self, display_value_conversion)
set_scaling_functions(self, to_internal, from_internal)
state_has_listener(self, slot)
state_listener_count(self)
unregister_disconnectable(self, slot)
value_has_listener(self, slot)
value_listener_count(self)

Attributes

  • is_enabled = True - bool(x) -> bool
  • is_quantized = False - bool(x) -> bool

class Layer(Layer)

Properties

  • owner
  • priority

Methods

__init__(self, priority=None, **elements)

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

_get_control_client(self, client)
get_owner(self)
grab(self, client, *a, **k)
on_lost(self, client)
on_received(self, client, *a, **k)
release(self, client)

class LiveObjSkinEntry(tuple)

LiveObjSkinEntry(name, liveobj)

Properties

  • liveobj - Alias for field number 1
  • name - Alias for field number 0

Methods

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

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

_asdict(self)
_make(iterable)

Make a new LiveObjSkinEntry object from a sequence or iterable

_replace(_self, **kwds)

Return a new LiveObjSkinEntry object replacing specified fields with new values

count(self, value, /)

Return number of occurrences of value.

index(self, value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

Attributes

  • _field_defaults = {} - dict() -> new empty dictionary
  • _field_types = OrderedDict([('name', <class 'str'>), ('liveobj', typing.Any)]) - Dictionary that remembers insertion order
  • _fields = ('name', 'liveobj') - Built-in immutable sequence.
  • _fields_defaults = {} - dict() -> new empty dictionary

class MapMode

Methods

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

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

Attributes

  • Absolute = MidiMap.MapMode.absolute
  • Absolute14Bit = MidiMap.MapMode.absolute_14_bit
  • AccelBinaryOffset = MidiMap.MapMode.relative_binary_offset
  • AccelSignedBit = MidiMap.MapMode.relative_signed_bit
  • AccelSignedBit2 = MidiMap.MapMode.relative_signed_bit2
  • AccelTwoCompliment = MidiMap.MapMode.relative_two_compliment
  • LinearBinaryOffset = MidiMap.MapMode.relative_smooth_binary_offset
  • LinearSignedBit = MidiMap.MapMode.relative_smooth_signed_bit
  • LinearSignedBit2 = MidiMap.MapMode.relative_smooth_signed_bit2
  • LinearTwoCompliment = MidiMap.MapMode.relative_smooth_two_compliment

class NotifyingControlElement(EventObject, ControlElement)

Properties

  • resource

Methods

ProxiedInterface(outer=None, *a, **k)
__init__(self, *a, **k)

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

_on_resource_lost(self, client)
_on_resource_received(self, client, *a, **k)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
add_value_listener(self, slot, identify_sender=False, *a, **k)

Called when the control element receives a MIDI value from the hardware

clear_send_cache(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)
notify_value(self, *a, **k)

Called when the control element receives a MIDI value from the hardware

register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_value_listener(self, slot)

Called when the control element receives a MIDI value from the hardware

reset(self)
reset_state(self)
send_midi(self, message)
unregister_disconnectable(self, slot)
value_has_listener(self, slot)

Called when the control element receives a MIDI value from the hardware

value_listener_count(self)

Called when the control element receives a MIDI value from the hardware

Attributes

  • _has_resource = False - bool(x) -> bool
  • _has_task_group = False - bool(x) -> bool
  • _resource = <ableton.v2.base.util.lazy_attribute object at 0x11b312780>
  • _tasks = <ableton.v2.base.util.lazy_attribute object at 0x1630c8898>
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool
  • proxied_interface = <ableton.v2.base.util.lazy_attribute object at 0x11df40710>

class NotifyingList(EventObject)

Properties

  • available_values
  • index

Methods

__init__(self, available_values, default_value=None, *a, **k)

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

_get_index(self)
_set_index(self, value)
add_index_listener(self, slot, identify_sender=False, *a, **k)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
index_has_listener(self, slot)
index_listener_count(self)
notify_index(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_index_listener(self, slot)
unregister_disconnectable(self, slot)

class OptionalSkinEntry(tuple)

OptionalSkinEntry(name, fallback_name)

Properties

  • fallback_name - Alias for field number 1
  • name - Alias for field number 0

Methods

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

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

_asdict(self)
_make(iterable)

Make a new OptionalSkinEntry object from a sequence or iterable

_replace(_self, **kwds)

Return a new OptionalSkinEntry object replacing specified fields with new values

count(self, value, /)

Return number of occurrences of value.

index(self, value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

Attributes

  • _field_defaults = {'fallback_name': None} - dict() -> new empty dictionary
  • _field_types = OrderedDict([('name', <class 'str'>), ('fallback_name', typing.Union[str, NoneType])]) - Dictionary that remembers insertion order
  • _fields = ('name', 'fallback_name') - Built-in immutable sequence.
  • _fields_defaults = {} - dict() -> new empty dictionary

class ParameterInfo(ParameterInfo)

Properties

  • name
  • original_name

Methods

__init__(self, parameter=None, name=None, *a, **k)

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

Attributes

  • _eq_dict = <ableton.v2.base.util.lazy_attribute object at 0x14df25080>
  • default_encoder_sensitivity = None
  • fine_grain_encoder_sensitivity = None
  • parameter = None

class ParameterProvider(EventObject)

Properties

  • parameters

Methods

__init__(self, *a, **k)

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

add_parameters_listener(self, slot, identify_sender=False, *a, **k)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
notify_parameters(self, *a, **k)
parameters_has_listener(self, slot)
parameters_listener_count(self)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_parameters_listener(self, slot)
unregister_disconnectable(self, slot)

class PrioritizedResource(StackingResource)

Properties

  • clients
  • max_priority
  • owner
  • owners
  • stack_size

Methods

__init__(self, on_received_callback=None, on_lost_callback=None, *a, **k)

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

_actual_owners(self)
_add_client(self, client, priority)
_on_lost_set(self, clients)
_on_received_set(self, clients)
_remove_client(self, client)
get_owner(self)
grab(self, client, priority=None)
on_lost(self, client)
on_received(self, client)
release(self, client)
release_all(self)
release_stacked(self)

class RelativeInternalParameter(InternalParameter)

Properties

  • _live_ptr
  • automation_state
  • canonical_parent
  • default_value
  • display_value
  • linear_value
  • max
  • min
  • name
  • original_name
  • state
  • value

Methods

__init__(self, parent=None, display_value_conversion=None, *a, **k)

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

_get_linear_value(self)
_get_value(self)
_has_valid_parent(self)
_set_linear_value(self, new_value)
_set_value(self, new_value)
add_automation_state_listener(self, slot, identify_sender=False, *a, **k)
add_delta_listener(self, slot, identify_sender=False, *a, **k)
add_name_listener(self, slot, identify_sender=False, *a, **k)
add_state_listener(self, slot, identify_sender=False, *a, **k)
add_value_listener(self, slot, identify_sender=False, *a, **k)
automation_state_has_listener(self, slot)
automation_state_listener_count(self)
delta_has_listener(self, slot)
delta_listener_count(self)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
name_has_listener(self, slot)
name_listener_count(self)
notify_automation_state(self, *a, **k)
notify_delta(self, *a, **k)
notify_name(self, *a, **k)
notify_state(self, *a, **k)
notify_value(self, *a, **k)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
remove_automation_state_listener(self, slot)
remove_delta_listener(self, slot)
remove_name_listener(self, slot)
remove_state_listener(self, slot)
remove_value_listener(self, slot)
set_display_value_conversion(self, display_value_conversion)
set_scaling_functions(self, to_internal, from_internal)
state_has_listener(self, slot)
state_listener_count(self)
unregister_disconnectable(self, slot)
value_has_listener(self, slot)
value_listener_count(self)

Attributes

  • is_enabled = True - bool(x) -> bool
  • is_quantized = False - bool(x) -> bool

class ScriptForwarding(int)

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
  • exclusive = 1
  • imag = <attribute 'imag' of 'int' objects> - the imaginary part of a complex number
  • non_consuming = 2
  • none = 0
  • 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

class SessionRingSelectionLinking(EventObject)

Methods

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

disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
register_slot(self, *a, **k)
unregister_disconnectable(self, slot)

Attributes

  • _SessionRingSelectionLinking__on_scene_selection_scrolled = None
  • _SessionRingSelectionLinking__on_track_selection_scrolled = None

class SharedResource(Resource)

Properties

  • owner

Methods

__init__(self, on_received_callback=None, on_lost_callback=None, *a, **k)

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

get_owner(self)
grab(self, client, *a, **k)
on_lost(self, client)
on_received(self, client, *a, **k)
release(self, client)

class Skin

Methods

__init__(self, colors=None, *a, **k)

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

_fill_colors(self, colors, pathname='')
_from_wrapper(self, key)