Beispiel #1
0
 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
Beispiel #2
0
 def _tasks(self):
     return Task.TaskGroup()
Beispiel #3
0
 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
Beispiel #4
0
 def _tasks(self, parent_task_group=None):
     self._has_task_group = True
     return parent_task_group.add(Task.TaskGroup())