コード例 #1
0
 def __init__(self, *a, **k):
     super(ViewControlComponent, self).__init__(*a, **k)
     self._track_scroller = BasicTrackScroller()
     self._scene_scroller = BasicSceneScroller()
     song = self.song
     view = song.view
     self.register_slot(song, self._update_track_encoder, 'visible_tracks')
     self.register_slot(song, self._update_track_encoder, 'return_tracks')
     self.register_slot(view, self._update_track_encoder, 'selected_track')
     self.register_slot(song, self._update_scene_encoder, 'scenes')
     self.register_slot(view, self._update_scene_encoder, 'selected_scene')
コード例 #2
0
class ViewControlComponent(Component):
    track_encoder = SendValueEncoderControl()
    scene_encoder = SendValueEncoderControl()

    def __init__(self, *a, **k):
        super(ViewControlComponent, self).__init__(*a, **k)
        self._track_scroller = BasicTrackScroller()
        self._scene_scroller = BasicSceneScroller()
        song = self.song
        view = song.view
        self.register_slot(song, self._update_track_encoder, u'visible_tracks')
        self.register_slot(song, self._update_track_encoder, u'return_tracks')
        self.register_slot(view, self._update_track_encoder, u'selected_track')
        self.register_slot(song, self._update_scene_encoder, u'scenes')
        self.register_slot(view, self._update_scene_encoder, u'selected_scene')

    @track_encoder.value
    def track_encoder(self, value, _):
        self._do_scroll(value, self._track_scroller)

    @scene_encoder.value
    def scene_encoder(self, value, _):
        self._do_scroll(value, self._scene_scroller)

    def _do_scroll(self, value, scroller):
        if value < 0:
            scroller.scroll_up()
        else:
            scroller.scroll_down()

    def update(self):
        super(ViewControlComponent, self).update()
        self._update_track_encoder()
        self._update_scene_encoder()

    def _update_track_encoder(self):
        if self.is_enabled():
            self.track_encoder.value = int(self._track_scroller.can_scroll_up(
            )) ^ int(self._track_scroller.can_scroll_down() << 1)

    def _update_scene_encoder(self):
        if self.is_enabled():
            self.scene_encoder.value = int(self._scene_scroller.can_scroll_up(
            )) ^ int(self._scene_scroller.can_scroll_down() << 1)
コード例 #3
0
 def _create_scene_scroller(self):
     return BasicSceneScroller()
コード例 #4
0
 def __init__(self, *a, **k):
     (super(ViewControlComponent, self).__init__)(*a, **k)
     self._scroll_scenes = ScrollComponent((BasicSceneScroller()),
                                           parent=self)