Skip to content

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

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

Module constants

  • DEFAULT_HEIGHT = 4
  • DEFAULT_START_NOTE = 36
  • DEFAULT_STEP_TRANSLATION_CHANNEL = 1
  • DEFAULT_VELOCITY = 100
  • DEFAULT_WIDTH = 4
  • PROPERTY_RANGE_KEYS = ('pitch', 'start_time', 'duration', 'velocity')
  • RELATIVE_OFFSET = 0.24
  • STEP_DELAY_TIME = 0.2
  • inf = 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

  • application
  • buffer
  • is_root
  • layer
  • parent
  • song

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)
_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_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)
renderable_state(self)
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.
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • copy_button = <ableton.v3.control_surface.controls.button.ButtonControl object at 0x13c711d50>
  • has_content = False - bool(x) -> bool
  • include_in_top_level_state = True - bool(x) -> bool
  • is_copying = False - bool(x) -> bool
  • num_layers = 0 - int([x]) -> integer

class ButtonControl(ButtonControlBase)

Properties

  • double_clicked
  • pressed
  • pressed_delayed
  • released
  • released_delayed
  • released_immediately
  • 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 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 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)

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 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_steps
  • application
  • can_change_page
  • clipboard
  • height
  • is_root
  • layer
  • page_length
  • page_time
  • parent
  • pitch_provider
  • song
  • step_count
  • step_length
  • width

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_note_in_step(self, pitch, time)
_adjust_duration_of_last_held_step_notes(self, destination_step)
_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 0x13c7cfcb0>)
_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)
_tasks(self, parent_task_group=None)
_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)
renderable_state(self)
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.
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • include_in_top_level_state = True - bool(x) -> bool
  • matrix = <ableton.v2.base.util.Mixin_MatrixControl_StepButtonControl object at 0x13c7d9890>
  • num_layers = 0 - int([x]) -> integer

class NoteRegionClipboardComponent(BufferedClipboardComponent)

Properties

  • application
  • buffer
  • is_root
  • layer
  • parent
  • song

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)
_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_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)
renderable_state(self)
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.
  • any_clipboard_has_content = False - bool(x) -> bool
  • canonical_parent = None
  • copy_button = <ableton.v3.control_surface.controls.button.ButtonControl object at 0x13c711d50>
  • has_content = False - bool(x) -> bool
  • include_in_top_level_state = True - bool(x) -> bool
  • is_copying = False - bool(x) -> bool
  • num_layers = 0 - int([x]) -> integer

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) -> bool
  • pitches = [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)
renderable_state(self)
suppress_notifications(self)
unregister_disconnectable(self, slot)

Attributes

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

class StepButtonControl(ButtonControl)

Properties

  • double_clicked
  • pressed
  • pressed_delayed
  • released
  • released_delayed
  • released_immediately
  • 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 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 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>