_Framework.ControlSurface (runtime)¶
Live 12 — Live Object Model & framework reference (descriptions and signatures).
Module constants¶
CS_LIST_KEY = 'control_surfaces'MIDI_CC_TYPE = 1MIDI_NOTE_TYPE = 0MIDI_PB_STATUS = 224MIDI_PB_TYPE = 2MIDI_SYSEX_TYPE = 3logger = <Logger _Framework.ControlSurface (INFO)>
Functions¶
const(value)¶
contextmanager(func)¶
find_if(predicate, seq)¶
first(seq)¶
get_control_surfaces()¶
in_range(value, lower_bound, upper_open_bound)¶
inject(**k)¶
old_hasattr(obj, attr)¶
profile(fn)¶
publish_control_surface(control_surface)¶
wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__',))¶
Classes¶
class BooleanContext¶
Properties¶
value
Methods¶
Manager(managed=None, update_value=None, *a, **k)¶
__call__(self, update_value=None)¶
Call self as a function.
__init__(self, default_value=None, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
Attributes¶
default_value=False- bool(x) -> bool
class ControlSurface(Subject, SlotManager)¶
Properties¶
_taskscomponentsin_component_guardroot_components
Methods¶
__init__(self, c_instance=None, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_component_guard(self)¶
_control_surfaces(self)¶
_disconnect_and_unregister_all_components(self)¶
_do_receive_midi(self, midi_bytes)¶
_do_send_midi(self, midi_event_bytes)¶
_flush_midi_messages(self)¶
_get_tasks(self)¶
_install_forwarding(self, midi_map_handle, control)¶
_install_mapping(self, midi_map_handle, control, parameter, feedback_delay, feedback_map)¶
_on_scene_list_changed(self)¶
_on_selected_scene_changed(self)¶
_on_selected_track_changed(self)¶
_on_track_list_changed(self)¶
_process_remaining_scheduled_messages(self)¶
_refresh_displays(self)¶
_register_component(self, component)¶
_register_control(self, control)¶
_send_midi(self, midi_event_bytes, optimized=True)¶
_set_session_highlight(self, track_offset, scene_offset, width, height, include_return_tracks)¶
_set_suppress_rebuild_requests(self, suppress_requests)¶
_toggle_lock(self)¶
_translate_message(self, type, from_identifier, from_channel, to_identifier, to_channel)¶
accumulating_midi_messages(self)¶
add_disconnect_listener(self, slot, identify_sender=False, *a, **k)¶
add_received_midi_listener(self, slot, identify_sender=False, *a, **k)¶
application(self)¶
build_midi_map(self, midi_map_handle)¶
call_listeners(self, listeners)¶
can_lock_to_devices(self)¶
clear_disconnect_listeners(self)¶
clear_received_midi_listeners(self)¶
component_guard(self)¶
connect_script_instances(self, instanciated_scripts)¶
disconnect(self)¶
disconnect_disconnectable(self, slot)¶
disconnect_has_listener(self, slot)¶
disconnect_listener_count(self)¶
find_disconnectable(self, predicate)¶
get_control_by_name(self, control_name)¶
get_recipient_for_nonsysex_midi_message(self, midi_bytes)¶
handle_nonsysex(self, midi_bytes)¶
handle_sysex(self, midi_bytes)¶
has_disconnectable(self, slot)¶
highlighting_session_component(self)¶
instance_identifier(self)¶
is_sysex_message(self, midi_bytes)¶
lock_to_device(self, device)¶
log_message(self, *message)¶
notify_disconnect(self, *a, **k)¶
notify_received_midi(self, *a, **k)¶
port_settings_changed(self)¶
receive_midi(self, midi_bytes)¶
received_midi_has_listener(self, slot)¶
received_midi_listener_count(self)¶
refresh_state(self)¶
register_disconnectable(self, slot)¶
register_slot(self, *a, **k)¶
register_slot_manager(self, *a, **k)¶
release_controlled_track(self)¶
remove_disconnect_listener(self, slot)¶
remove_received_midi_listener(self, slot)¶
request_rebuild_midi_map(self)¶
restore_bank(self, bank_index)¶
schedule_message(self, delay_in_ticks, callback, parameter=None)¶
set_controlled_track(self, track)¶
set_device_component(self, device_component)¶
set_enabled(self, enable)¶
set_feedback_channels(self, channels)¶
set_highlighting_session_component(self, session_component)¶
set_pad_translations(self, pad_translations)¶
show_message(self, message)¶
song(self)¶
suggest_input_port(self)¶
suggest_map_mode(self, cc_no, channel)¶
suggest_needs_takeover(self, cc_no, channel)¶
suggest_output_port(self)¶
supports_pad_translation(self)¶
suppressing_rebuild_requests(self)¶
toggle_lock(self)¶
unlock_from_device(self, device)¶
unregister_disconnectable(self, slot)¶
update(self)¶
update_display(self)¶
Attributes¶
received_midi=()- Built-in immutable sequence.
class InputControlElement(NotifyingControlElement)¶
Properties¶
_last_sent_valuemapping_sensitivityresourcesuppress_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, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_do_send_value(self, value, channel=None)¶
_get_mapping_sensitivity(self)¶
_get_suppress_script_forwarding(self)¶
_mapping_feedback_values(self)¶
_on_resource_lost(self, client)¶
_on_resource_received(self, client, *a, **k)¶
_report_value(self, value, is_input)¶
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)¶
_send_delayed_messages(self)¶
_set_mapping_sensitivity(self, sensitivity)¶
_set_suppress_script_forwarding(self, value)¶
_status_byte(self, channel)¶
_verify_value(self, value)¶
add_value_listener(self, slot, identify_sender=False, *a, **k)¶
begin_gesture(self)¶
clear_send_cache(self)¶
clear_value_listeners(self)¶
connect_to(self, parameter)¶
disconnect(self)¶
end_gesture(self)¶
force_next_send(self)¶
identifier_bytes(self)¶
install_connections(self, install_translation, install_mapping, install_forwarding)¶
mapped_parameter(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)¶
receive_value(self, value)¶
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)¶
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_resource=<_Framework.Util.lazy_attribute object at 0x129db44d0>_tasks=<_Framework.Util.lazy_attribute object at 0x129db4710>canonical_parent=Nonename=''- str(object='') -> strnum_delayed_messages=1- int([x]) -> integeroptimized_send_midi=True- bool(x) -> boolproxied_interface=<_Framework.Util.lazy_attribute object at 0x129db4290>send_depends_on_forwarding=True- bool(x) -> bool
class MessageScheduler¶
Properties¶
is_idling
Methods¶
__init__(self, send_message_callback, timer)¶
Initialize self. See help(type(self)) for accurate signature.
_process_queue(self)¶
_process_request(self, request)¶
_process_single_request(self)¶
_queue(self, request)¶
disconnect(self, owner)¶
grab(self, owner)¶
handle_message(self, message)¶
handle_timeout(self)¶
release(self, owner)¶
send(self, owner, message)¶
send_receive(self, owner, message, timeout)¶
class OptimizedControlSurface(ControlSurface)¶
Properties¶
_taskscomponentsin_component_guardroot_components
Methods¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_component_guard(self)¶
_control_surfaces(self)¶
_disconnect_and_unregister_all_components(self)¶
_do_receive_midi(self, midi_bytes)¶
_do_send_midi(self, midi_event_bytes)¶
_flush_midi_messages(self)¶
_get_tasks(self)¶
_install_forwarding(self, midi_map_handle, control)¶
_install_mapping(self, midi_map_handle, control, parameter, feedback_delay, feedback_map)¶
_on_scene_list_changed(self)¶
_on_selected_scene_changed(self)¶
_on_selected_track_changed(self)¶
_on_track_list_changed(self)¶
_process_remaining_scheduled_messages(self)¶
_refresh_displays(self)¶
_register_component(self, component)¶
_register_control(self, control)¶
_send_midi(self, midi_event_bytes, optimized=True)¶
_set_session_highlight(self, track_offset, scene_offset, width, height, include_return_tracks)¶
_set_suppress_rebuild_requests(self, suppress_requests)¶
_toggle_lock(self)¶
_translate_message(self, type, from_identifier, from_channel, to_identifier, to_channel)¶
accumulating_midi_messages(self)¶
add_disconnect_listener(self, slot, identify_sender=False, *a, **k)¶
add_received_midi_listener(self, slot, identify_sender=False, *a, **k)¶
application(self)¶
build_midi_map(self, midi_map_handle)¶
call_listeners(self, listeners)¶
can_lock_to_devices(self)¶
clear_disconnect_listeners(self)¶
clear_received_midi_listeners(self)¶
component_guard(self)¶
connect_script_instances(self, instanciated_scripts)¶
disconnect(self)¶
disconnect_disconnectable(self, slot)¶
disconnect_has_listener(self, slot)¶
disconnect_listener_count(self)¶
find_disconnectable(self, predicate)¶
get_control_by_name(self, control_name)¶
get_recipient_for_nonsysex_midi_message(self, midi_bytes)¶
handle_nonsysex(self, midi_bytes)¶
handle_sysex(self, midi_bytes)¶
has_disconnectable(self, slot)¶
highlighting_session_component(self)¶
instance_identifier(self)¶
is_sysex_message(self, midi_bytes)¶
lock_to_device(self, device)¶
log_message(self, *message)¶
notify_disconnect(self, *a, **k)¶
notify_received_midi(self, *a, **k)¶
port_settings_changed(self)¶
receive_midi(self, midi_bytes)¶
received_midi_has_listener(self, slot)¶
received_midi_listener_count(self)¶
refresh_state(self)¶
register_disconnectable(self, slot)¶
register_slot(self, *a, **k)¶
register_slot_manager(self, *a, **k)¶
release_controlled_track(self)¶
remove_disconnect_listener(self, slot)¶
remove_received_midi_listener(self, slot)¶
request_rebuild_midi_map(self)¶
restore_bank(self, bank_index)¶
schedule_message(self, delay_in_ticks, callback, parameter=None)¶
set_controlled_track(self, track)¶
set_device_component(self, device_component)¶
set_enabled(self, enable)¶
set_feedback_channels(self, channels)¶
set_highlighting_session_component(self, session_component)¶
set_pad_translations(self, pad_translations)¶
show_message(self, message)¶
song(self)¶
suggest_input_port(self)¶
suggest_map_mode(self, cc_no, channel)¶
suggest_needs_takeover(self, cc_no, channel)¶
suggest_output_port(self)¶
supports_pad_translation(self)¶
suppressing_rebuild_requests(self)¶
toggle_lock(self)¶
unlock_from_device(self, device)¶
unregister_disconnectable(self, slot)¶
update(self)¶
update_display(self)¶
Attributes¶
received_midi=()- Built-in immutable sequence.
class OptimizedOwnershipHandler(ElementOwnershipHandler)¶
Methods¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
commit_ownership_changes(self, log_message=None, traceback=None)¶
handle_ownership_change(self, control, client, status)¶
class PhysicalDisplayElement(DisplayElement, NotifyingControlElement)¶
Properties¶
display_stringmessage_headermessage_tailnum_segmentsresourcesegmentssubdisplaywidth
Methods¶
ProxiedInterface(outer=None, *a, **k)¶
__init__(self, *a, **k)¶
Initialize self. See help(type(self)) for accurate signature.
_build_display_message(self, display)¶
_build_inner_message(self, displays)¶
_build_message(self, displays)¶
_disconnect_segments(self)¶
_on_central_resource_lost(self, display_client)¶
_on_central_resource_received(self, display_client)¶
_on_resource_lost(self, client)¶
_on_resource_received(self, client, *a, **k)¶
_request_send_message(self)¶
_resource_type(on_received_callback=None, on_lost_callback=None, *a, **k)¶
_send_message(self)¶
_translate_char(self, char_to_translate)¶
_translate_string(self, string)¶
add_value_listener(self, slot, identify_sender=False, *a, **k)¶
Called when the control element receives a MIDI value from the hardware
clear_send_cache(self)¶
clear_value_listeners(self)¶
Called when the control element receives a MIDI value from the hardware
disconnect(self)¶
display_message(self, message)¶
nested_display_resource_factory(self, display)¶
notify_ownership_change(self, client, grabbed, element_ownership_handler=None)¶
notify_value(self, *a, **k)¶
Called when the control element receives a MIDI value from the hardware
remove_value_listener(self, slot)¶
Called when the control element receives a MIDI value from the hardware
reset(self)¶
reset_state(self)¶
segment(self, index)¶
send_midi(self, midi_bytes)¶
set_block_messages(self, block)¶
set_clear_all_message(self, message)¶
set_data_sources(self, sources)¶
set_message_parts(self, header, tail)¶
set_num_segments(self, num_segments)¶
set_translation_table(self, translation_table)¶
update(self)¶
value_has_listener(self, slot)¶
Called when the control element receives a MIDI value from the hardware
value_listener_count(self)¶
Called when the control element receives a MIDI value from the hardware
Attributes¶
_ascii_translations={'0': 48, '1': 49, '2': 50, '3': 51, '4': 52, '5': 53, '6': 54, '7': 55, '8': 56, '9': 57, 'A': 65, 'B': 66, 'C': 67, 'D': 68, 'E': 69, 'F': 70, 'G': 71, 'H': 7...- dict() -> new empty dictionary_has_resource=False- bool(x) -> bool_has_task_group=False- bool(x) -> bool_resource=<_Framework.Util.lazy_attribute object at 0x129db44d0>_tasks=<_Framework.Util.lazy_attribute object at 0x129db4710>canonical_parent=Nonedisplay_indexes=<_Framework.Util.lazy_attribute object at 0x12d510ed0>display_slice=<_Framework.Util.lazy_attribute object at 0x11ac07890>name=''- str(object='') -> stroptimized_send_midi=True- bool(x) -> boolproxied_interface=<_Framework.Util.lazy_attribute object at 0x129db4290>
class SlotManager(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_slot(self, *a, **k)¶
register_slot_manager(self, *a, **k)¶
unregister_disconnectable(self, slot)¶
class Subject(Disconnectable)¶
Methods¶
__init__(self, /, *args, **kwargs)¶
Initialize self. See help(type(self)) for accurate signature.
disconnect(self)¶
class chain¶
chain(*iterables) --> chain object
Return a chain object whose .next() method returns elements from the first iterable until it is exhausted, then elements from the next iterable, until all of the iterables are exhausted.
Methods¶
__init__(self, /, *args, **kwargs)¶
Initialize self. See help(type(self)) for accurate signature.
from_iterable(iterable, /)¶
Alternative chain() constructor taking a single iterable argument that evaluates lazily.
class partial¶
partial(func, args, *keywords) - new function with partial application of the given arguments and keywords.
Methods¶
__call__(self, /, *args, **kwargs)¶
Call self as a function.
__init__(self, /, *args, **kwargs)¶
Initialize self. See help(type(self)) for accurate signature.
Attributes¶
args=<member 'args' of 'functools.partial' objects>- tuple of arguments to future partial callsfunc=<member 'func' of 'functools.partial' objects>- function object to use in future partial callskeywords=<member 'keywords' of 'functools.partial' objects>- dictionary of keyword arguments to future partial calls