Skip to content

ableton.v3.control_surface (runtime)

Live 12 — 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 0x13c9cae90>

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 0x13c629110>
  • ON = <ableton.v3.control_surface.elements.color.SimpleColor object at 0x13c629090>

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)
_tasks(self, parent_task_group=None)
_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.
  • 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(self)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
_tasks(self, parent_task_group=None)
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)
proxied_interface(self)
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
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool

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(self)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
_tasks(self, parent_task_group=None)
clear_send_cache(self)
disconnect(self)
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)
proxied_interface(self)
reset(self)
reset_state(self)
send_midi(self, message)

Attributes

  • _has_resource = False - bool(x) -> bool
  • _has_task_group = False - bool(x) -> bool
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool

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_device_bank_registry(self)
_create_device_provider(self)
_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)
_create_session_ring(self)
_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)
preferences(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
  • handle_undo_steps = False - bool(x) -> bool
  • 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)

Helper class that provides a standard way to create an ABC using inheritance.

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 0x11afcb240>, 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 0x13c9cae90>
  • custom_identity_response = None
  • display_specification = <ableton.v3.control_surface.display.display_specification.DisplaySpecification object at 0x13c9bb8d0>
  • 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_parameter_name_changed = None
  • _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 0x13c9c6e80>, 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)
_tasks(self, parent_task_group=None)
_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)
renderable_state(self)
request_identity(self)
set_enabled(self, enable)
suppress_notifications(self)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _clipboard_component_instances = [] - Built-in mutable sequence.
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • identity_response_control = <ableton.v2.control_surface.control.control.InputControl object at 0x13c9b9510>
  • 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

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(self)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
_send_delayed_messages(self)
_status_byte(self, channel)
_tasks(self, parent_task_group=None)
_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)
proxied_interface(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
  • 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

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)
_tasks(self, parent_task_group=None)
_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)
renderable_state(self)
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.
  • 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
  • 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)

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
  • _fields = ('name', 'liveobj') - Built-in immutable sequence.
  • liveobj = _tuplegetter(1, 'Alias for field number 1') - Alias for field number 1
  • name = _tuplegetter(0, 'Alias for field number 0') - Alias for field number 0

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(self)
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)
_tasks(self, parent_task_group=None)
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

proxied_interface(self)
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
  • canonical_parent = None
  • name = '' - str(object='') -> str
  • optimized_send_midi = True - bool(x) -> bool

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)

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
  • _fields = ('name', 'fallback_name') - Built-in immutable sequence.
  • fallback_name = _tuplegetter(1, 'Alias for field number 1') - Alias for field number 1
  • name = _tuplegetter(0, 'Alias for field number 0') - Alias for field number 0

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.

_eq_dict(self)

Attributes

  • 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.

as_integer_ratio(self, /)

Return integer ratio.

Return a pair of integers, whose ratio is exactly equal to the original int and with a positive denominator.

(10).as_integer_ratio() (10, 1) (-10).as_integer_ratio() (-10, 1) (0).as_integer_ratio() (0, 1)

bit_count(self, /)

Number of ones in the binary representation of the absolute value of self.

Also known as the population count.

bin(13) '0b1101' (13).bit_count() 3

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='big', *, 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. Default is to use 'big'. signed Indicates whether two's complement is used to represent the integer.

to_bytes(self, /, length=1, byteorder='big', *, 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. Default is length 1. 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. Default is to use 'big'. 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)