ableton.v3.control_surface.components.note_editor (runtime)¶
Live 11 — Live Object Model & framework reference (descriptions and signatures).
Module constants¶
DEFAULT_HEIGHT = 4DEFAULT_START_NOTE = 36DEFAULT_STEP_TRANSLATION_CHANNEL = 1DEFAULT_VELOCITY = 100DEFAULT_WIDTH = 4PROPERTY_RANGE_KEYS = ('pitch', 'start_time', 'duration', 'velocity')RELATIVE_OFFSET = 0.24inf = inf
Functions¶
clamp(val, minv, maxv)¶
control_matrix(control_type, *a, **k)¶
depends(**dependencies)¶
get_notes(clip, pitches, time, length, all_pitches=False)¶
in_range(value, lower_bound, upper_open_bound)¶
listens(event_path, *a, **k)¶
liveobj_changed(obj, other)¶
liveobj_valid(obj)¶
property_ranges_for_notes(notes, start_time, property_ranges)¶
remove_notes(clip, pitches, time, length, all_pitches=False)¶
round_to_multiple(value, base)¶
step_offset_percentage(step_length, value)¶
Classes¶
class BufferedClipboardComponent(ClipboardComponent)¶
Properties¶
applicationbufferis_rootlayerparentsong
Methods¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_add_child(self, component)¶
_create_event_handler(self, property_name)¶
_do_copy(self, obj)¶
_do_paste(self, obj)¶
_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)¶
_is_source_valid(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)¶
add_has_content_listener(self, slot, identify_sender=False, *a, **k)¶
add_is_copying_listener(self, slot, identify_sender=False, *a, **k)¶
any_clipboard_has_content_has_listener(self, slot)¶
any_clipboard_has_content_listener_count(self)¶
append_buffer(self, obj)¶
clear(self, notify=False)¶
control_base_type(extra_args=None, extra_kws=None, *a, **k)¶
control_notifications_enabled(self)¶
copy(self, obj)¶
copy_or_paste(self, obj)¶
disconnect(self)¶
disconnect_disconnectable(self, slot)¶
dispatch_event(self, name: 'str', value)¶
enabled_has_listener(self, slot)¶
enabled_listener_count(self)¶
extend_buffer(self, obj)¶
find_disconnectable(self, predicate)¶
has_content_has_listener(self, slot)¶
has_content_listener_count(self)¶
has_disconnectable(self, slot)¶
is_copying_has_listener(self, slot)¶
is_copying_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_enabled(self, *a, **k)¶
notify_has_content(self, *a, **k)¶
notify_is_copying(self, *a, **k)¶
on_enabled_changed(self)¶
paste(self, obj)¶
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_has_content_listener(self, slot)¶
remove_is_copying_listener(self, slot)¶
set_copy_button(self, button)¶
set_enabled(self, enable)¶
suppress_notifications(self)¶
unregister_disconnectable(self, slot)¶
update(self)¶
Attributes¶
_clipboard_component_instances=[]- Built-in mutable sequence._tasks=<ableton.v2.base.util.lazy_attribute object at 0x163a2a898>any_clipboard_has_content=False- bool(x) -> boolcanonical_parent=Nonecopy_button=<ableton.v3.control_surface.controls.button.ButtonControl object at 0x163a6b0b8>has_content=False- bool(x) -> boolinclude_in_top_level_state=True- bool(x) -> boolis_copying=False- bool(x) -> boolnum_layers=0- int([x]) -> integerrenderable_state=<ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>
class ButtonControl(ButtonControlBase)¶
Properties¶
double_clickedpressedpressed_delayedreleasedreleased_delayedreleased_immediatelyvalue
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 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)¶
_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) -> boolcanonical_parent=Nonenum_layers=0- int([x]) -> integer
class EventObject(CompoundDisconnectable)¶
Methods¶
__init__(self, *a, **k)¶
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)¶
class LiveObjSkinEntry(tuple)¶
LiveObjSkinEntry(name, liveobj)
Properties¶
liveobj- Alias for field number 1name- Alias for field number 0
Methods¶
__init__(self, /, *args, **kwargs)¶
Initialize self. See help(type(self)) for accurate signature.
_asdict(self)¶
_make(iterable)¶
Make a new LiveObjSkinEntry object from a sequence or iterable
_replace(_self, **kwds)¶
Return a new LiveObjSkinEntry object replacing specified fields with new values
count(self, value, /)¶
Return number of occurrences of value.
index(self, value, start=0, stop=9223372036854775807, /)¶
Return first index of value.
Raises ValueError if the value is not present.
Attributes¶
_field_defaults={}- dict() -> new empty dictionary_field_types=OrderedDict([('name', <class 'str'>), ('liveobj', typing.Any)])- Dictionary that remembers insertion order_fields=('name', 'liveobj')- Built-in immutable sequence._fields_defaults={}- dict() -> new empty dictionary
class MidiNoteSpecification(instance)¶
An object specifying the data for creating a MIDI note. To be used with the add_new_notes function.
Methods¶
__init__(...)¶
init( (object)arg1, (int)pitch, (float)start_time, (float)duration [, (float)velocity=100.0 [, (bool)mute=False [, (float)probability=1.0 [, (float)velocity_deviation=0.0 [, (float)release_velocity=64.0]]]]]) -> None : Create a new note specification. Only pitch, start_time and duration are mandatory. All other arguments will take on default values if not specified.
C++ signature :
void __init__(_object*,int,double,double [,float=100.0 [,bool=False [,float=1.0 [,float=0.0 [,float=64.0]]]]])
class NoteEditorComponent(Component, Renderable)¶
Properties¶
active_stepsapplicationcan_change_pageclipboardheightis_rootlayerpage_lengthpage_timeparentpitch_providersongstep_countstep_lengthwidth
Methods¶
__init__(self, name='Note_Editor', translation_channel=1, full_velocity=None, target_track=None, sequencer_clip=None, grid_resolution=None, clipboard_component_type=None, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_add_child(self, component)¶
_add_new_note_in_step(self, pitch, time)¶
_add_note_in_step(self, step, pitch)¶
_can_edit(self)¶
_can_press_or_release_step(self, step)¶
_create_event_handler(self, property_name)¶
_delete_notes_in_step(self, step)¶
_get_alternate_color_for_step(self, index, visible_steps)¶
_get_clip_notes_time_range(self)¶
_get_color_for_step(self, index, visible_steps)¶
_get_layer_iterable(self)¶
_get_notes_info_from_step(self, step)¶
_get_property_range_string(self, property_name, value_range_fn, str_fmt=<built-in method format of str object at 0x163b21c00>)¶
_get_step_offset_range_string(self, property_name)¶
_get_step_start_time(self, step)¶
_get_step_time_range(self, step)¶
_grab_all_layers(self)¶
_has_clip(self)¶
_init_state_from_controls(self, renderable_state)¶
_init_state_from_listenable_properties(self, renderable_state)¶
_internal_on_enabled_changed(self)¶
_modify_duration(time_step, duration_offset, note)¶
_modify_note(self, time_step, duration_offset, nudge_offset, note)¶
_modify_note_property(self, note_property, value)¶
_modify_step_notes(self, steps)¶
_on_pad_pressed(self, pad)¶
_on_pad_released(self, pad, **k)¶
_on_release_step(self, step, can_add_or_remove=False)¶
_refresh_active_steps(self)¶
_release_active_steps(self)¶
_release_all_layers(self)¶
_reset_modifications(self)¶
_set_enabled_recursive(self, enable)¶
_time_step(self, time)¶
_update_clipboard(self, pad)¶
_update_editor_matrix(self)¶
_update_from_grid(self)¶
_update_is_enabled(self)¶
_visible_steps(self)¶
active_steps_has_listener(self, slot)¶
active_steps_listener_count(self)¶
add_active_steps_listener(self, slot, identify_sender=False, *a, **k)¶
add_any_clipboard_has_content_listener(self, slot, identify_sender=False, *a, **k)¶
add_children(self, *children)¶
add_clip_notes_listener(self, slot, identify_sender=False, *a, **k)¶
add_clipboard_listener(self, slot, identify_sender=False, *a, **k)¶
add_control(self, name, control)¶
add_enabled_listener(self, slot, identify_sender=False, *a, **k)¶
add_page_length_listener(self, slot, identify_sender=False, *a, **k)¶
add_pitch_provider_listener(self, slot, identify_sender=False, *a, **k)¶
any_clipboard_has_content_has_listener(self, slot)¶
any_clipboard_has_content_listener_count(self)¶
can_nudge_by_offset(self, offset)¶
clip_notes_has_listener(self, slot)¶
clip_notes_listener_count(self)¶
clipboard_has_listener(self, slot)¶
clipboard_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)¶
get_duration_fine_range_string(self)¶
get_duration_range_string(self)¶
get_note_property_ranges(self)¶
get_nudge_offset_range_string(self)¶
get_velocity_range_string(self)¶
has_disconnectable(self, slot)¶
is_enabled(self, explicit=False)¶
is_pitch_active(self, pitch)¶
notify(self, notification: 'Notification[Callable[[Unpack[NotificationParams]], Optional[str]]]', *a: 'Unpack[NotificationParams]')¶
notify_active_steps(self, *a, **k)¶
notify_any_clipboard_has_content(self, *a, **k)¶
notify_clip_notes(self, *a, **k)¶
notify_clipboard(self, *a, **k)¶
notify_enabled(self, *a, **k)¶
notify_page_length(self, *a, **k)¶
notify_pitch_provider(self, *a, **k)¶
on_enabled_changed(self)¶
page_length_has_listener(self, slot)¶
page_length_listener_count(self)¶
page_time_changed(self)¶
pitch_provider_has_listener(self, slot)¶
pitch_provider_listener_count(self)¶
register_clipboard(self)¶
register_disconnectable(self, slot)¶
register_disconnectables(self, disconnectables)¶
register_slot(self, *a, **k)¶
remove_active_steps_listener(self, slot)¶
remove_any_clipboard_has_content_listener(self, slot)¶
remove_clip_notes_listener(self, slot)¶
remove_clipboard_listener(self, slot)¶
remove_enabled_listener(self, slot)¶
remove_page_length_listener(self, slot)¶
remove_pitch_provider_listener(self, slot)¶
set_clip(self, clip)¶
set_copy_button(self, button)¶
set_duration_offset(self, value)¶
set_enabled(self, enable)¶
set_matrix(self, matrix)¶
set_nudge_offset(self, value)¶
set_pitch_offset(self, value)¶
set_pitches(self, pitches)¶
set_velocity_offset(self, value)¶
suppress_notifications(self)¶
toggle_pitch_for_all_active_steps(self, pitch)¶
unregister_disconnectable(self, slot)¶
update(self)¶
Attributes¶
_NoteEditorComponent__on_clip_notes_changed=None_NoteEditorComponent__on_provided_pitches_changed=None_NoteEditorComponent__on_provider_polyphony_changed=None_NoteEditorComponent__on_resolution_changed=None_NoteEditorComponent__on_sequencer_clip_changed=None_NoteEditorComponent__on_target_track_color_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) -> boolcanonical_parent=Noneinclude_in_top_level_state=True- bool(x) -> boolmatrix=<ableton.v2.base.util.Mixin_MatrixControl_StepButtonControl object at 0x163b33470>num_layers=0- int([x]) -> integerrenderable_state=<ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>
class NoteRegionClipboardComponent(BufferedClipboardComponent)¶
Properties¶
applicationbufferis_rootlayerparentsong
Methods¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_add_child(self, component)¶
_create_event_handler(self, property_name)¶
_do_copy(self, obj)¶
_do_paste(self, obj)¶
_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)¶
_is_source_valid(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)¶
add_has_content_listener(self, slot, identify_sender=False, *a, **k)¶
add_is_copying_listener(self, slot, identify_sender=False, *a, **k)¶
any_clipboard_has_content_has_listener(self, slot)¶
any_clipboard_has_content_listener_count(self)¶
append_buffer(self, obj)¶
clear(self, notify=False)¶
control_base_type(extra_args=None, extra_kws=None, *a, **k)¶
control_notifications_enabled(self)¶
copy(self, obj)¶
copy_or_paste(self, obj)¶
disconnect(self)¶
disconnect_disconnectable(self, slot)¶
dispatch_event(self, name: 'str', value)¶
enabled_has_listener(self, slot)¶
enabled_listener_count(self)¶
extend_buffer(self, obj)¶
find_disconnectable(self, predicate)¶
has_content_has_listener(self, slot)¶
has_content_listener_count(self)¶
has_disconnectable(self, slot)¶
is_copying_has_listener(self, slot)¶
is_copying_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_enabled(self, *a, **k)¶
notify_has_content(self, *a, **k)¶
notify_is_copying(self, *a, **k)¶
on_enabled_changed(self)¶
paste(self, obj)¶
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_has_content_listener(self, slot)¶
remove_is_copying_listener(self, slot)¶
set_clip(self, clip)¶
set_copy_button(self, button)¶
set_enabled(self, enable)¶
suppress_notifications(self)¶
unregister_disconnectable(self, slot)¶
update(self)¶
Attributes¶
_clipboard_component_instances=[]- Built-in mutable sequence._tasks=<ableton.v2.base.util.lazy_attribute object at 0x163a2a898>any_clipboard_has_content=False- bool(x) -> boolcanonical_parent=Nonecopy_button=<ableton.v3.control_surface.controls.button.ButtonControl object at 0x163a6b0b8>has_content=False- bool(x) -> boolinclude_in_top_level_state=True- bool(x) -> boolis_copying=False- bool(x) -> boolnum_layers=0- int([x]) -> integerrenderable_state=<ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>
class PitchProvider(EventObject)¶
Methods¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
add_is_polyphonic_listener(self, slot, identify_sender=False, *a, **k)¶
add_pitches_listener(self, slot, identify_sender=False, *a, **k)¶
disconnect(self)¶
disconnect_disconnectable(self, slot)¶
find_disconnectable(self, predicate)¶
has_disconnectable(self, slot)¶
is_polyphonic_has_listener(self, slot)¶
is_polyphonic_listener_count(self)¶
notify_is_polyphonic(self, *a, **k)¶
notify_pitches(self, *a, **k)¶
pitches_has_listener(self, slot)¶
pitches_listener_count(self)¶
register_disconnectable(self, slot)¶
register_disconnectables(self, disconnectables)¶
register_slot(self, *a, **k)¶
remove_is_polyphonic_listener(self, slot)¶
remove_pitches_listener(self, slot)¶
unregister_disconnectable(self, slot)¶
Attributes¶
is_polyphonic=False- bool(x) -> boolpitches=[36]- Built-in mutable sequence.
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) -> boolrenderable_state=<ableton.v2.base.util.lazy_attribute object at 0x1639d72e8>
class StepButtonControl(ButtonControl)¶
Properties¶
double_clickedpressedpressed_delayedreleasedreleased_delayedreleased_immediatelyvalue
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 TimeStep¶
Properties¶
offset
Methods¶
__init__(self, start, length, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
clamp(self, time)¶
connected_time_ranges(self)¶
filter_notes(self, notes)¶
includes_note(self, note)¶
includes_time(self, time)¶
left_boundary(self)¶
right_boundary(self)¶
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>