ableton.v3.control_surface.components.device (runtime)¶
Live 12 — 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 = 8DEFAULT_CONTINUOUS_PARAMETER_SENSITIVITY = 1.0DEFAULT_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_sizenum_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¶
applicationis_rootlayerparentsong
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) -> boolcanonical_parent=Nonenum_layers=0- int([x]) -> integer
class DeviceBankNavigationComponent(ScrollComponent, Renderable, Scrollable)¶
Properties¶
applicationbank_provideris_rootlayerparentscrollablesong
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)¶
_can_use_roundtrip_banking(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)¶
_tasks(self, parent_task_group=None)¶
_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)¶
renderable_state(self)¶
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.any_clipboard_has_content=False- bool(x) -> boolbank_select_buttons=<ableton.v3.control_surface.controls.control_list.FixedRadioButtonGroup object at 0x13c7a3650>canonical_parent=Noneinclude_in_top_level_state=True- bool(x) -> boolnum_layers=0- int([x]) -> integerscroll_down_button=<ableton.v3.control_surface.controls.button.ButtonControl object at 0x13c7b05d0>scroll_encoder=<ableton.v3.control_surface.controls.encoder.StepEncoderControl object at 0x13c7b0490>scroll_up_button=<ableton.v3.control_surface.controls.button.ButtonControl object at 0x13c7b0590>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¶
applicationbank_indexbank_namedeviceis_rootlayerparametersparentsong
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 0x13c618360>)¶
_show_device_and_bank_info(self)¶
_tasks(self, parent_task_group=None)¶
_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_index_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_index_has_listener(self, slot)¶
bank_index_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_index(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_index_listener(self, slot)¶
remove_bank_name_listener(self, slot)¶
remove_device_listener(self, slot)¶
remove_enabled_listener(self, slot)¶
remove_parameters_listener(self, slot)¶
renderable_state(self)¶
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.any_clipboard_has_content=False- bool(x) -> boolcanonical_parent=Nonedevice_fold_button=<ableton.v3.control_surface.controls.toggle_button.ToggleButtonControl object at 0x13c713890>device_lock_button=<ableton.v3.control_surface.controls.toggle_button.ToggleButtonControl object at 0x13c7b0e50>device_on_off_button=<ableton.v3.control_surface.controls.mapped.MappedButtonControl object at 0x13c73fed0>include_in_top_level_state=True- bool(x) -> boolnum_layers=0- int([x]) -> integer
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¶
applicationis_rootlayerparameter_providerparentsong
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)¶
_tasks(self, parent_task_group=None)¶
_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.any_clipboard_has_content=False- bool(x) -> boolcanonical_parent=Nonecontrols=<ableton.v2.base.util.Mixin_ControlList_MappedSensitivitySettingControl object at 0x13c7b0f10>num_layers=0- int([x]) -> integer
class MappedButtonControl(ButtonControl)¶
Properties¶
double_clickedpressedpressed_delayedreleasedreleased_delayedreleased_immediatelyvalue
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¶
nameoriginal_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=Nonefine_grain_encoder_sensitivity=Noneparameter=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)¶
renderable_state(self)¶
suppress_notifications(self)¶
unregister_disconnectable(self, slot)¶
Attributes¶
include_in_top_level_state=True- bool(x) -> bool
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_clickedpressedpressed_delayedreleasedreleased_delayedreleased_immediatelytoggledvalue
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 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>