def __init__(self, c_instance=None, publish_self=True, *a, **k): u""" Define and Initialize standard behavior """ super(ControlSurface, self).__init__(*a, **k) assert c_instance self.canonical_parent = None if publish_self: publish_control_surface(self) self._c_instance = c_instance self.log_message('Initialising...') self._pad_translations = None self._suggested_input_port = str('') self._suggested_output_port = str('') self._components = [] self._displays = [] self.controls = [] self._highlighting_session_component = None self._device_component = None self._forwarding_long_identifier_registry = {} self._forwarding_registry = {} self._is_sending_scheduled_messages = BooleanContext() self._remaining_scheduled_messages = [] self._task_group = Task.TaskGroup(auto_kill=False) self._in_build_midi_map = BooleanContext() self._suppress_requests_counter = 0 self._rebuild_requests_during_suppression = 0 self._enabled = True self._in_component_guard = BooleanContext() self._accumulate_midi_messages = BooleanContext() self._midi_message_dict = {} self._midi_message_list = [] self._midi_message_count = 0 self.mxd_midi_scheduler = MessageScheduler( self._do_send_midi, self._task_group.add(Task.TimedCallbackTask())) self._control_surface_injector = inject( parent_task_group=const(self._task_group), show_message=const(self.show_message), log_message=const(self.log_message), register_component=const(self._register_component), register_control=const(self._register_control), request_rebuild_midi_map=const(self.request_rebuild_midi_map), set_pad_translations=const(self.set_pad_translations), send_midi=const(self._send_midi), song=self.song).everywhere() self.register_slot(self.song(), self._on_track_list_changed, 'visible_tracks') self.register_slot(self.song(), self._on_scene_list_changed, 'scenes') self.register_slot(self.song().view, self._on_selected_track_changed, 'selected_track') self.register_slot(self.song().view, self._on_selected_scene_changed, 'selected_scene') return
def _tasks(self): return Task.TaskGroup()
def _tasks(self, parent_task_group=None): tasks = parent_task_group.add(Task.TaskGroup()) if not self._is_enabled: tasks.pause() self._has_task_group = True return tasks
def _tasks(self, parent_task_group=None): self._has_task_group = True return parent_task_group.add(Task.TaskGroup())