Skip to content

ableton.v3.control_surface.components.device (runtime)

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

Module constants

  • BANK_DEFINITIONS = {'AudioEffectGroupDevice': IndexedDict([('Macros', {'Parameters': ('Macro 1', 'Macro 2', 'Macro 3', 'Macro 4', 'Macro 5', 'Macro 6', 'Macro 7', 'Macro 8')}), ('...
  • DEFAULT_BANK_SIZE = 8
  • DEFAULT_CONTINUOUS_PARAMETER_SENSITIVITY = 1.0
  • DEFAULT_QUANTIZED_PARAMETER_SENSITIVITY = 0.1

Functions

cast(typ, val)

create_device_decorator_factory(device_decorator_factory, bank_definitions)

create_parameter_bank(device, banking_info)

deduplicate_parameters(parameters)

depends(**dependencies)

find_if(predicate, seq)

get_on_off_parameter(device)

listens(event_path, *a, **k)

liveobj_changed(obj, other)

liveobj_valid(obj)

parameter_mapping_sensitivities(continuous_parameter_sensitivity=1.0, quantized_parameter_sensitivity=0.1)

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 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 DeviceBankNavigationComponent(ScrollComponent, Renderable, Scrollable)

Properties

  • application
  • bank_provider
  • is_root
  • layer
  • parent
  • scrollable
  • song

Methods

__init__(self, name='Device_Bank_Navigation', banking_info=None, device_bank_registry=None, *a, **k)

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

_add_child(self, component)
_adjusted_bank_count(self)
_create_event_handler(self, property_name)
_do_scroll_down(self)
_do_scroll_up(self)
_ensure_scroll_one_direction(self)
_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)
_make_scroll_task(self, scroll_step)
_notify_bank_name(self)
_on_scroll_pressed(self, button, scroll_step, scroll_task)
_on_scroll_released(self, scroll_task)
_release_all_layers(self)
_set_enabled_recursive(self, enable)
_should_skip_first_bank(self)
_sync_registry(self)
_update_bank_select_buttons(self)
_update_is_enabled(self)
_update_scroll_controls(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)
can_scroll_down(self)
can_scroll_up(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)
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)
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)
scroll_down(self)
scroll_up(self)
set_bank_scroll_encoder(self, encoder)
set_bank_select_buttons(self, buttons)
set_enabled(self, enable)
set_next_bank_button(self, button)
set_prev_bank_button(self, button)
set_scroll_down_button(self, button)
set_scroll_encoder(self, encoder)
set_scroll_up_button(self, button)
suppress_notifications(self)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _DeviceBankNavigationComponent__on_parameters_changed_in_device = None
  • _DeviceBankNavigationComponent__on_provider_bank_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
  • bank_select_buttons = <ableton.v3.control_surface.controls.control_list.FixedRadioButtonGroup object at 0x163af0208>
  • canonical_parent = 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>
  • scroll_down_button = <ableton.v3.control_surface.controls.button.ButtonControl object at 0x163af0da0>
  • scroll_encoder = <ableton.v3.control_surface.controls.encoder.StepEncoderControl object at 0x163af0d30>
  • scroll_up_button = <ableton.v3.control_surface.controls.button.ButtonControl object at 0x163af0d68>
  • scrolling_delay = 0.3 - Convert a string or number to a floating point number, if possible.
  • scrolling_step_delay = 0.1 - Convert a string or number to a floating point number, if possible.

class DeviceComponent(ParameterProvider, Component, Renderable)

Properties

  • application
  • bank_name
  • device
  • is_root
  • layer
  • parameters
  • parent
  • song

Methods

__init__(self, name='Device', continuous_parameter_sensitivity=1.0, quantized_parameter_sensitivity=0.1, parameters_component_type=None, bank_size=8, bank_definitions=None, bank_navigation_component_type=None, device_provider=None, device_bank_registry=None, device_decorator_factory=None, toggle_lock=None, show_message=None, *a, **k)

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

_add_child(self, component)
_create_event_handler(self, property_name)
_create_parameter_info(self, parameter, name)
_current_bank_details(self)
_disconnect_decorated_device(self)
_get_decorated_device(self, device)
_get_layer_iterable(self)
_get_provided_parameters(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)
_on_device_changed(self, device)
_on_device_on_off_pressed(self)
_release_all_layers(self)
_set_bank_index(self, bank)
_set_decorated_device(self, decorated_device)
_set_device(self, device)
_set_enabled_recursive(self, enable)
_setup_bank(self, device, bank_factory=<function create_parameter_bank at 0x16396ba60>)
_show_device_and_bank_info(self)
_update_device_lock_button(self)
_update_is_enabled(self)
_update_parameters(self)
add_any_clipboard_has_content_listener(self, slot, identify_sender=False, *a, **k)
add_bank_name_listener(self, slot, identify_sender=False, *a, **k)
add_children(self, *children)
add_control(self, name, control)
add_device_listener(self, slot, identify_sender=False, *a, **k)
add_enabled_listener(self, slot, identify_sender=False, *a, **k)
add_parameters_listener(self, slot, identify_sender=False, *a, **k)
any_clipboard_has_content_has_listener(self, slot)
any_clipboard_has_content_listener_count(self)
bank_name_has_listener(self, slot)
bank_name_listener_count(self)
control_base_type(extra_args=None, extra_kws=None, *a, **k)
control_notifications_enabled(self)
device_has_listener(self, slot)
device_listener_count(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)
notify(self, notification: 'Notification[Callable[[Unpack[NotificationParams]], Optional[str]]]', *a: 'Unpack[NotificationParams]')
notify_any_clipboard_has_content(self, *a, **k)
notify_bank_name(self, *a, **k)
notify_device(self, *a, **k)
notify_enabled(self, *a, **k)
notify_parameters(self, *a, **k)
on_enabled_changed(self)
parameters_has_listener(self, slot)
parameters_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_bank_name_listener(self, slot)
remove_device_listener(self, slot)
remove_enabled_listener(self, slot)
remove_parameters_listener(self, slot)
set_enabled(self, enable)
set_parameter_controls(self, controls)
suppress_notifications(self)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _DeviceComponent__on_bank_changed = None
  • _DeviceComponent__on_bank_parameters_changed = None
  • _DeviceComponent__on_is_showing_chain_devices_changed = None
  • _DeviceComponent__on_parameters_changed_in_device = None
  • _DeviceComponent__on_provided_device_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
  • canonical_parent = None
  • device_fold_button = <ableton.v3.control_surface.controls.toggle_button.ToggleButtonControl object at 0x163a72358>
  • device_lock_button = <ableton.v3.control_surface.controls.toggle_button.ToggleButtonControl object at 0x163a72390>
  • device_on_off_button = <ableton.v3.control_surface.controls.mapped.MappedButtonControl object at 0x163a722e8>
  • 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>

class DeviceDecoratorFactory(DeviceDecoratorFactory)

Methods

__init__(self, *a, **k)

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

_decorator(live_object=None, additional_properties={})
_get_decorated_object(self, device, additional_properties, song=None, *a, **k)
_should_be_decorated(device)
decorate(self, live_object, additional_properties={}, **k)
disconnect(self)
disconnect_disconnectable(self, slot)
find_disconnectable(self, predicate)
generate_decorated_device(device, additional_properties={}, song=None, *a, **k)
has_disconnectable(self, slot)
register_disconnectable(self, slot)
register_disconnectables(self, disconnectables)
sync_decorated_objects(self, keys)
unregister_disconnectable(self, slot)

Attributes

  • DECORATOR_CLASSES = {'Delay': <class 'ableton.v2.control_surface.delay_decoration.DelayDeviceDecorator'>, 'Drift': <class 'ableton.v3.control_surface.device_decorators.DriftDeviceD... - dict() -> new empty dictionary

class DeviceParametersComponent(Component)

Properties

  • application
  • is_root
  • layer
  • parameter_provider
  • parent
  • song

Methods

__init__(self, parameter_provider=None, name='Device_Parameters', *a, **k)

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

_add_child(self, component)
_connect_parameters(self)
_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)
_update_parameters(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)
set_parameter_controls(self, encoders)
unregister_disconnectable(self, slot)
update(self)

Attributes

  • _DeviceParametersComponent__on_parameters_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
  • canonical_parent = None
  • controls = <ableton.v2.base.util.Mixin_ControlList_MappedSensitivitySettingControl object at 0x163afa438>
  • num_layers = 0 - int([x]) -> integer

class MappedButtonControl(ButtonControl)

Properties

  • double_clicked
  • pressed
  • pressed_delayed
  • released
  • released_delayed
  • released_immediately
  • value

Methods

State(*a, **k)
__init__(self, *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

  • DELAY_TIME = 0.3 - Convert a string or number to a floating point number, if possible.
  • DOUBLE_CLICK_TIME = 0.5 - Convert a string or number to a floating point number, if possible.
  • REPEAT_RATE = 0.1 - Convert a string or number to a floating point number, if possible.
  • _extra_args = [] - Built-in mutable sequence.
  • _extra_kws = {} - 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 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)
suppress_notifications(self)
unregister_disconnectable(self, slot)

Attributes

  • include_in_top_level_state = True - bool(x) -> bool
  • renderable_state = <ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>

class SimplerSliceNudging(EventObject)

Methods

__init__(self, *a, **k)

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

_can_access_slicing_properties(self)
_display_value_conversion(self, _value)
_is_first_slice_at_time(self, slice_time)
_new_start_marker_time(self, old_slice_time, delta)
_sample_change_from_delta(self, delta)
_updating_nudge_parameter(self)
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)
set_device(self, device)
unregister_disconnectable(self, slot)

Attributes

  • _SimplerSliceNudging__on_nudge_delta = None
  • _SimplerSliceNudging__on_selected_slice_changed = None
  • _nudge_parameter = None
  • _simpler = None

class ToggleButtonControl(ButtonControl)

Properties

  • double_clicked
  • pressed
  • pressed_delayed
  • released
  • released_delayed
  • released_immediately
  • toggled
  • value

Methods

State(color='DefaultButton.On', on_color=None, *a, **k)
__init__(self, *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

  • DELAY_TIME = 0.3 - Convert a string or number to a floating point number, if possible.
  • DOUBLE_CLICK_TIME = 0.5 - Convert a string or number to a floating point number, if possible.
  • REPEAT_RATE = 0.1 - Convert a string or number to a floating point number, if possible.
  • _extra_args = [] - Built-in mutable sequence.
  • _extra_kws = {} - dict() -> new empty dictionary

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 change the deleter on a property.

getter(...)

Descriptor to change the getter on a property.

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

Descriptor to change the setter on a property.

Attributes

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