Exemple #1
0
    def __init__(self, scrollable_list=None, data_sources=tuple(), *a, **k):
        super(ListComponent, self).__init__(*a, **k)
        self._data_sources = data_sources
        self._activation_task = task.Task()
        self._action_on_scroll_task = task.Task()
        self._scrollable_list = None
        self._scroller = ScrollComponent(parent=self)
        self._pager = ScrollComponent(parent=self)
        self.last_action_item = lambda: self._last_action_item
        self.item_formatter = DefaultItemFormatter()
        for c in (self._scroller, self._pager):
            for button in (c.scroll_up_button, c.scroll_down_button):
                button.color = b'List.ScrollerOn'
                button.pressed_color = None
                button.disabled_color = b'List.ScrollerOff'

        if scrollable_list == None:
            self.scrollable_list = ActionList(
                num_visible_items=len(data_sources))
        else:
            self.scrollable_list = scrollable_list
        self._scrollable_list.num_visible_items = len(data_sources)
        self._delay_activation = BooleanContext()
        self._selected_index_float = 0.0
        self._in_encoder_selection = BooleanContext(False)
        self._execute_action_task = self._tasks.add(
            task.sequence(task.delay(1), task.run(self._execute_action)))
        self._execute_action_task.kill()
        return
Exemple #2
0
    def __init__(self,
                 preferences=dict(),
                 commit_model_changes=None,
                 selection=None,
                 main_modes_ref=None,
                 *a,
                 **k):
        assert commit_model_changes is not None
        super(BrowserComponent, self).__init__(*a, **k)
        self._lists = []
        self._browser = Live.Application.get_application().browser
        self._current_hotswap_target = self._browser.hotswap_target
        self._updating_root_items = BooleanContext()
        self._focused_list_index = 0
        self._commit_model_changes = commit_model_changes
        self._preferences = preferences
        self._expanded = False
        self._unexpand_with_scroll_encoder = False
        self._delay_preview_list = BooleanContext()
        self._selection = selection
        self._main_modes_ref = main_modes_ref if main_modes_ref is not None else nop
        self._load_neighbour_overlay = self.register_component(
            LoadNeighbourOverlayComponent(is_enabled=False))
        self._content_filter_type = None
        self._content_hotswap_target = None
        self._preview_list_task = self._tasks.add(
            task.sequence(task.wait(self.REVEAL_PREVIEW_LIST_TIME),
                          task.run(
                              self._replace_preview_list_by_task))).kill()
        self._update_root_items()
        self._update_navigation_buttons()
        self._update_context()
        self.prehear_button.is_toggled = preferences.setdefault(
            u'browser_prehear', True)
        self._on_selected_track_color_index_changed.subject = self.song.view
        self._on_selected_track_name_changed.subject = self.song.view
        self._on_detail_clip_name_changed.subject = self.song.view
        self._on_hotswap_target_changed.subject = self._browser
        self._on_load_next.subject = self._load_neighbour_overlay
        self._on_load_previous.subject = self._load_neighbour_overlay
        self._on_focused_item_changed.subject = self
        self.register_slot(self, self.notify_focused_item,
                           u'focused_list_index')

        def auto_unexpand():
            self.expanded = False
            self._update_list_offset()

        self._unexpand_task = self._tasks.add(
            task.sequence(task.wait(self.EXPAND_LIST_TIME),
                          task.run(auto_unexpand))).kill()
        return
 def __init__(self,
              device_bank_registry=None,
              banking_info=None,
              info_layer=None,
              delete_handler=None,
              session_ring=None,
              *a,
              **k):
     super(DeviceNavigationComponent, self).__init__(*a, **k)
     self._make_navigation_node = partial(
         make_navigation_node,
         session_ring=session_ring,
         device_bank_registry=device_bank_registry,
         banking_info=banking_info)
     self._delete_handler = delete_handler
     self._updating_children = BooleanContext()
     self._device_list = self.register_component(
         ScrollableListWithTogglesComponent())
     self._on_selection_clicked_in_controller.subject = self._device_list
     self._on_selection_changed_in_controller.subject = self._device_list
     self._on_state_changed_in_controller.subject = self._device_list
     self._current_node = None
     self._message_box = self.register_component(
         MessageBoxComponent(layer=info_layer, is_enabled=False))
     self._message_box.text = consts.MessageBoxText.EMPTY_DEVICE_CHAIN
     self._selected_track = None
     self._on_selected_track_changed.subject = self.song.view
     with inject(selection=const(NamedTuple(
             selected_device=None))).everywhere():
         self._on_selected_track_changed()
     self._on_device_parameters_changed.subject = self._selected_track.view.selected_device
     return
Exemple #4
0
 def __init__(self, *a, **k):
     self.suppressing_control_notifications = BooleanContext()
     super(ActionsComponent, self).__init__(*a, **k)
     self._record_quantization = RecordingQuantization.rec_q_sixtenth
     self._on_record_quantization_changed_in_live.subject = self.song
     self._on_record_quantization_changed_in_live()
     self._metronome_toggle = ToggleComponent(u'metronome', self.song)
Exemple #5
0
 def __init__(self, *a, **k):
     super(FullBrowserModel, self).__init__(*a, **k)
     self._contents = []
     self._num_contents = 0
     self._push_content_list()
     self._inside_item_activated_notification = BooleanContext()
 def __init__(self, muted=False, *a, **k):
     super(MessengerModesComponent, self).__init__(*a, **k)
     self._mode_message_map = {}
     self._default_and_alternative_mode_map = {}
     self._is_being_enabled = BooleanContext()
     self._muted = muted
 def __init__(self, *a, **k):
     super(ProviderDeviceComponent, self).__init__(*a, **k)
     self.set_parameter_controls([])
     self._suppress_parameter_notification = BooleanContext()
 def __init__(self, *a, **k):
     super(MessengerModesComponent, self).__init__(*a, **k)
     self._mode_message_map = {}
     self._is_being_enabled = BooleanContext()