Skip to content

ableton.v3.control_surface.identification (runtime)

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

Module constants

  • MIDI_CC_TYPE = 1
  • MIDI_NOTE_TYPE = 0
  • MIDI_PB_TYPE = 2
  • NON_REALTIME_HEADER = (240, 126)
  • PRODUCT_ID_BYTES_START_INDEX = 3
  • STANDARD_RESPONSE_BYTES = (6, 2)
  • logger = <Logger ableton.v3.control_surface.identification (INFO)>

Functions

abstractmethod(funcobj)

A decorator indicating abstract methods.

Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract methods are overridden. The abstract methods can be called using any of the normal 'super' call mechanisms. abstractmethod() may be used to declare abstract methods for properties and descriptors.

Usage:

class C(metaclass=ABCMeta):
    @abstractmethod
    def my_abstract_method(self, arg1, arg2, argN):
        ...

create_responder(identity_response_id_bytes, custom_identity_response)

depends(**dependencies)

nop(*a, **k)

status_byte_to_msg_type(status_byte)

Classes

class ABC

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

Methods

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

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

Attributes

  • _abc_impl = <_abc._abc_data object at 0x11a9eef80> - Internal state held by ABC machinery.

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 CustomSysexResponder(Responder)

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

Methods

__init__(self, response_bytes, *a, **k)

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

create_response_element(self)
is_valid_response(self, _)

Attributes

  • _abc_impl = <_abc._abc_data object at 0x13c9b9400> - Internal state held by ABC machinery.

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 IdentityResponseError(Exception)

Common base class for all non-exit exceptions.

Methods

__init__(self, expected_bytes=None, actual_bytes=None)

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

add_note(...)

Exception.add_note(note) -- add a note to the exception

with_traceback(...)

Exception.with_traceback(tb) -- set self.traceback to tb and return self.

Attributes

  • args = <attribute 'args' of 'BaseException' objects>

class InputControl(Control)

Properties

  • value

Methods

State(control=None, channel=None, identifier=None, *a, **k)
__init__(self, extra_args=None, extra_kws=None, *a, **k)

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

_clear_state(self, manager)
_get_state(self, manager, state_factory=None)
_make_control_state(self, manager)

Attributes

  • _extra_args = [] - Built-in mutable sequence.
  • _extra_kws = {} - dict() -> new empty dictionary

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 PlainMidiResponder(Responder)

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

Methods

__init__(self, response_bytes, *a, **k)

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

create_response_element(self)
is_valid_response(self, response_bytes)

Attributes

  • _abc_impl = <_abc._abc_data object at 0x13c9b9440> - Internal state held by ABC machinery.

class Renderable(CompoundDisconnectable)

Methods

__init__(self, react=None, notifications: 'Optional[Type[Notifications]]' = None, suppress_notifications: 'Optional[Callable]' = None, *a, **k)

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

_create_event_handler(self, property_name)
_init_state_from_controls(self, renderable_state)
_init_state_from_listenable_properties(self, renderable_state)
control_base_type(extra_args=None, extra_kws=None, *a, **k)
disconnect(self)
disconnect_disconnectable(self, slot)
dispatch_event(self, name: 'str', value)
find_disconnectable(self, predicate)
has_disconnectable(self, slot)
notify(self, notification: 'Notification[Callable[[Unpack[NotificationParams]], Optional[str]]]', *a: 'Unpack[NotificationParams]')
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
renderable_state(self)
suppress_notifications(self)
unregister_disconnectable(self, slot)

Attributes

  • include_in_top_level_state = True - bool(x) -> bool

class Responder(ABC)

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

Methods

__init__(self, response_bytes, *a, **k)

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

create_response_element(self)
is_valid_response(self, response_bytes)

Attributes

  • _abc_impl = <_abc._abc_data object at 0x13c9b9240> - Internal state held by ABC machinery.

class StandardResponder(Responder)

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

Methods

__init__(self, *a, **k)

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

_extract_product_id_bytes(self, midi_bytes)
create_response_element(self)
is_valid_response(self, response_bytes)

Attributes

  • _abc_impl = <_abc._abc_data object at 0x13c9b9480> - Internal state held by ABC machinery.

class SysexElement(InputControlElement)

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, send_message_generator=None, enquire_message=None, default_value=None, optimized=False, use_first_byte_as_value=False, *a, **k)

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

_do_send_value(self, message)
_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)
deferring_send(self)
disconnect(self)
disconnect_disconnectable(self, slot)
end_gesture(self)
enquire_value(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, *a, **k)
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 listenable_property(listenable_property_base, property)

Property attribute.

fget function to be used for getting an attribute value fset function to be used for setting an attribute value fdel function to be used for del'ing an attribute doc docstring

Typical use is to define a managed attribute x:

class C(object): def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.")

Decorators make defining new properties or modifying existing ones easy:

class C(object): @property def x(self): "I am the 'x' property." return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x

Methods

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

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

deleter(...)

Descriptor to obtain a copy of the property with a different deleter.

getter(...)

Descriptor to obtain a copy of the property with a different getter.

managed(default_value)
set_property_name(self, name)
setter(...)

Descriptor to obtain a copy of the property with a different setter.

Attributes

  • fdel = <member 'fdel' of 'property' objects>
  • fget = <member 'fget' of 'property' objects>
  • fset = <member 'fset' of 'property' objects>