Ejemplo n.º 1
0
 def _setup_session_recording_component(self):
     super(Cntrlr, self)._setup_session_recording_component()
     self._recorder.main_layer = AddLayerMode(self._recorder,
                                              Layer(priority=4))
     self._recorder.shift_layer = AddLayerMode(
         self._recorder,
         Layer(priority=4, automation_button=self._button[25]))
Ejemplo n.º 2
0
	def _create_mixer(self):
		self._mixer = SpecialMixerComponent(tracks_provider = self._session_ring, auto_name=True, is_enabled=True, invert_mute_feedback=True)
		self._mixer.name = u'Mixer'
		self._mixer.master_strip().name = u'Master_Channel_strip'
		self._mixer.selected_strip().name = u'Selected_Channel_strip'
		self._sliders = []
		self._slider_volume_modes = []
		self._slider_pan_modes = []
		self._slider_single_modes = []
		for column in range(8):
			self._mixer.channel_strip(column).name = u'Channel_Strip_' + str(column)
			self._sliders.append(PreciseButtonSliderElement(buttons = tuple([ self._matrix._orig_buttons[7-row][column]for row in range(8) ])))
			self._sliders[-1].name = u'Button_Slider_' + str(column)
		self._slider_matrix = ButtonMatrixElement(name = u'SliderMatrix', rows = [self._sliders])
		self._mixer.overview_layer = AddLayerMode(self._mixer, Layer(priority = 1, default_volume_buttons = self._matrix.submatrix[:, :1],
																					default_panning_buttons = self._matrix.submatrix[:, 1:2],
																					default_send1_buttons = self._matrix.submatrix[:, 2:3],
																					default_send2_buttons = self._matrix.submatrix[:, 3:4],
																					mute_buttons = self._matrix.submatrix[:, 5:6],
																					solo_buttons = self._matrix.submatrix[:, 6:7],
																					arm_buttons = self._matrix.submatrix[:, 7:8],
																					unarm_all_button = self._side_buttons[7],
																					unsolo_all_button = self._side_buttons[6],
																					unmute_all_button = self._side_buttons[5]))
		self._mixer.volume_layer = AddLayerMode(self._mixer, Layer(priority = 1, volume_controls = self._slider_matrix))
		self._mixer.pan_layer = AddLayerMode(self._mixer, Layer(priority = 1, pan_controls = self._slider_matrix))
		self._mixer.send1_layer = AddLayerMode(self._mixer, Layer(priority = 1, send_controls = self._slider_matrix))
		self._mixer.send2_layer = AddLayerMode(self._mixer, Layer(priority = 1, send_controls = self._slider_matrix))
Ejemplo n.º 3
0
	def _create_session(self):
		self._session_ring = SessionRingComponent(8,  8, name = u'Session_Ring')
		self._session = SpecialSessionComponent(session_ring = self._session_ring, name = u'Session', is_enabled = False, auto_name = True)
		self._session_navigation = SessionNavigationComponent(session_ring = self._session_ring, name = u'SessionNavigation', is_enabled = False)
		self._session_navigation._vertical_banking.scroll_up_button.color = 'Session.NavigationButtonOn'
		self._session_navigation._vertical_banking.scroll_up_button.disabled_color = 'Session.NavigationButtonOff'
		self._session_navigation._vertical_banking.scroll_down_button.color = 'Session.NavigationButtonOn'
		self._session_navigation._vertical_banking.scroll_down_button.disabled_color = 'Session.NavigationButtonOff'
		self._session_navigation._horizontal_banking.scroll_up_button.color = 'Session.NavigationButtonOn'
		self._session_navigation._horizontal_banking.scroll_up_button.disabled_color = 'Session.NavigationButtonOff'
		self._session_navigation._horizontal_banking.scroll_down_button.color = 'Session.NavigationButtonOn'
		self._session_navigation._horizontal_banking.scroll_down_button.disabled_color = 'Session.NavigationButtonOff'
		self._session_navigation._vertical_paginator.scroll_up_button.color = 'Session.PageNavigationButtonOn'
		self._session_navigation._vertical_paginator.scroll_up_button.disabled_color = 'Session.PageNavigationButtonOff'
		self._session_navigation._vertical_paginator.scroll_down_button.color = 'Session.PageNavigationButtonOn'
		self._session_navigation._vertical_paginator.scroll_down_button.disabled_color = 'Session.PageNavigationButtonOff'
		self._session_navigation._horizontal_paginator.scroll_up_button.color = 'Session.PageNavigationButtonOn'
		self._session_navigation._horizontal_paginator.scroll_up_button.disabled_color = 'Session.PageNavigationButtonOff'
		self._session_navigation._horizontal_paginator.scroll_down_button.color = 'Session.PageNavigationButtonOn'
		self._session_navigation._horizontal_paginator.scroll_down_button.disabled_color = 'Session.PageNavigationButtonOff'
		self._zooming = SessionOverviewComponent(session_ring = self._session_ring, enable_skinning = True, name = u'Session_Zooming', is_enabled = False)
		self._zooming.layer = Layer(button_matrix = self._matrix)

		self._session_navigation.nav_layer = AddLayerMode(self._session_navigation, Layer(up_button = self._top_buttons[0], down_button = self._top_buttons[1], left_button = self._top_buttons[2], right_button = self._top_buttons[3]))
		self._session_navigation.page_layer = AddLayerMode(self._session_navigation, Layer(page_up_button = self._top_buttons[0], page_down_button = self._top_buttons[1], page_left_button = self._top_buttons[2], page_right_button = self._top_buttons[3]))
		self._session.cliplaunch_layer = AddLayerMode(self._session, Layer(priority = 1, clip_launch_buttons = self._matrix, scene_launch_buttons = self._side_matrix))
		self._session.clipstop_layer = AddLayerMode(self._session, Layer(priority = 1, stop_all_clips_button = self._side_buttons[4], stop_track_clip_buttons = self._matrix.submatrix[:, 4:5]))
Ejemplo n.º 4
0
	def _setup_session_recording_component(self):
		self._clip_creator = ClipCreator()
		self._clip_creator.name = 'ClipCreator'
		self._recorder = FixedLengthSessionRecordingComponent(clip_creator = self._clip_creator, view_controller = ViewControlComponent(), name = 'SessionRecorder') # is_enabled = False)
		self._recorder.main_layer = AddLayerMode(self._recorder, Layer(priority = 4, record_button = self._button[29]))
		self._recorder.shift_layer = AddLayerMode(self._recorder, Layer(priority = 4, automation_button = self._button[29]))
		self._recorder.set_enabled(False)
Ejemplo n.º 5
0
 def _setup_session_recording_component(self):
     super(Cntrlr, self)._setup_session_recording_component()
     self._recorder.main_layer = AddLayerMode(self._recorder,
                                              Layer(priority=5, ))
     self._recorder.shift_layer = AddLayerMode(self._recorder,
                                               Layer(priority=5, ))
     self._recorder.set_enabled(False)
Ejemplo n.º 6
0
 def __init__(self, note_settings_component = None, automation_component = None, initial_encoder_layer = None, encoder_layer = None, *a, **k):
     super(NoteEditorSettingsComponent, self).__init__(*a, **k)
     assert encoder_layer
     self.settings = self.register_component(note_settings_component)
     self.settings.set_enabled(False)
     self._automation = self.register_component(automation_component)
     self._automation.set_enabled(False)
     self._mode_selector = self.register_component(ModeSelector(is_enabled=False))
     self._visible_detail_view = u'Detail/DeviceChain'
     self._show_settings_task = self._tasks.add(task.sequence(task.wait(defaults.MOMENTARY_DELAY), task.run(self._show_settings))).kill()
     self._update_infos_task = self._tasks.add(task.run(self._update_note_infos)).kill()
     self._settings_modes = self.register_component(ModesComponent())
     self._settings_modes.set_enabled(False)
     self._settings_modes.add_mode(u'automation', [self._automation,
      self._mode_selector,
      partial(self._set_envelope_view_visible, True),
      partial(show_clip_view, self.application)])
     self._settings_modes.add_mode(u'note_settings', [self.settings,
      self._update_note_infos,
      self._mode_selector,
      partial(self._set_envelope_view_visible, False),
      partial(show_clip_view, self.application)])
     self._settings_modes.selected_mode = u'note_settings'
     self.__on_selected_setting_mode_changed.subject = self._settings_modes
     self.add_mode(u'disabled', [])
     self.add_mode(u'about_to_show', [AddLayerMode(self, initial_encoder_layer), (self._show_settings_task.restart, self._show_settings_task.kill)])
     self.add_mode(u'enabled', [DetailViewRestorerMode(self.application), AddLayerMode(self, encoder_layer), self._settings_modes])
     self.selected_mode = u'disabled'
     self._editors = []
     self._on_detail_clip_changed.subject = self.song.view
     self._on_selected_track_changed.subject = self.song.view
     self.__on_full_velocity_changed.subject = self.settings
     self.__on_setting_changed.subject = self.settings
 def _create_mixer(self):
     self._mixer = MixerComponent(
         name=u'Mixer',
         is_enabled=False,
         auto_name=True,
         tracks_provider=self._session_ring,
         track_assigner=RightAlignTracksTrackAssigner(
             song=self.song, include_master_track=True),
         invert_mute_feedback=True,
         layer=Layer(volume_controls=u'sliders',
                     volume_leds=u'slider_leds'))
     self._mixer.set_enabled(True)
     self._mixer_button_modes = DisplayingNavigatableModesComponent(
         name=u'Mixer_Button_Modes')
     self._mixer_button_modes.add_mode(
         u'mute_solo',
         AddLayerMode(
             self._mixer,
             Layer(mute_buttons=u'mixer_soft_button_row_0',
                   solo_buttons=u'mixer_soft_button_row_1')))
     self._mixer_button_modes.add_mode(
         u'monitor_arm',
         AddLayerMode(
             self._mixer,
             Layer(monitoring_state_buttons=u'mixer_soft_button_row_0',
                   arm_buttons=u'mixer_soft_button_row_1')))
     self._mixer_button_modes.layer = Layer(
         prev_mode_button=u'mixer_up_button',
         next_mode_button=u'mixer_down_button',
         display_1=u'mixer_display_1',
         display_2=u'mixer_display_2',
         color_field_1=u'mixer_color_field_1',
         color_field_2=u'mixer_color_field_2')
     self._mixer_button_modes.selected_mode = u'mute_solo'
 def _create_session_modes(self):
     self._session_modes = ModesComponent(
         name=u'Session_Modes',
         is_enabled=False,
         layer=Layer(overview_button=u'session_mode_button'))
     self._session_modes.add_mode(
         u'launch',
         AddLayerMode(
             self._session,
             Layer(managed_select_button=u'shift_button',
                   managed_delete_button=u'clear_button',
                   managed_duplicate_button=u'duplicate_button',
                   managed_quantize_button=u'quantize_button',
                   managed_double_button=u'duplicate_button_with_shift',
                   scene_launch_buttons=u'scene_launch_buttons')))
     self._session_modes.add_mode(
         u'overview', (self._session_overview,
                       AddLayerMode(
                           self._session_navigation,
                           Layer(page_up_button=u'up_button',
                                 page_down_button=u'down_button',
                                 page_left_button=u'left_button',
                                 page_right_button=u'right_button'))),
         behaviour=MomentaryBehaviour())
     self._session_modes.selected_mode = u'launch'
Ejemplo n.º 9
0
	def _setup_device_navigator(self):
		self._device_navigator = DeviceNavigator(self._device_provider, self._mixer, self)
		self._device_navigator._dev1_layer = AddLayerMode(self._device_navigator, Layer(priority = 4, prev_button = self._button[4][0], next_button = self._button[5][0], prev_chain_button = self._button[6][0], next_chain_button = self._button[7][0]))
		self._device_navigator._dev2_layer = AddLayerMode(self._device_navigator, Layer(priority = 4, prev_button = self._button[4][1], next_button = self._button[5][1], prev_chain_button = self._button[6][1], next_chain_button = self._button[7][1]))
		self._device_navigator._dev3_layer = AddLayerMode(self._device_navigator, Layer(priority = 4, prev_button = self._button[4][2], next_button = self._button[5][2], prev_chain_button = self._button[6][2], next_chain_button = self._button[7][2]))
		self._device_navigator._dev4_layer = AddLayerMode(self._device_navigator, Layer(priority = 4, prev_button = self._button[4][3], next_button = self._button[5][3], prev_chain_button = self._button[6][3], next_chain_button = self._button[7][3]))
		self._device_navigator.set_enabled(False)
Ejemplo n.º 10
0
 def _setup_mixer(self):
     self._mixer = MonoMixerComponent(
         name='Mixer',
         tracks_provider=self._session_ring,
         track_assigner=SimpleTrackAssigner(),
         invert_mute_feedback=True,
         auto_name=True,
         enable_skinning=True,
         channel_strip_component_type=MonoChannelStripComponent)
     self._mixer._selected_strip.layer = Layer(priority=4,
                                               volume_control=self._fader)
     self._mixer.solo_mute_record_stop_layer = AddLayerMode(
         self._mixer,
         Layer(
             priority=4,
             mute_buttons=self._matrix.submatrix[:, 0],
             solo_buttons=self._matrix.submatrix[:, 1],
             arm_buttons=self._matrix.submatrix[:, 2],
         ))
     self._mixer.select_layer = AddLayerMode(
         self._mixer,
         Layer(priority=4,
               arming_track_select_buttons=self._matrix.submatrix[:, 3]))
     self._mixer.mute_layer = AddLayerMode(
         self._mixer,
         Layer(priority=4, mute_buttons=self._matrix.submatrix[:, 3]))
Ejemplo n.º 11
0
    def _setup_session(self):
        self._session_ring = SessionRingComponent(name='Session_Ring',
                                                  num_tracks=4,
                                                  num_scenes=4)

        self._session = SessionComponent(name='Session',
                                         session_ring=self._session_ring,
                                         auto_name=True)
        self._session.cliplaunch_layer = AddLayerMode(
            self._session,
            Layer(priority=4,
                  clip_launch_buttons=self._matrix.submatrix[:, :]))
        self._session.stop_layer = AddLayerMode(
            self._session,
            Layer(priority=4,
                  stop_track_clip_buttons=self._matrix.submatrix[:, 3]))

        self._session_navigation = SessionNavigationComponent(
            name='Session_Navigation', session_ring=self._session_ring)
        self._session_navigation._horizontal_layer = AddLayerMode(
            self._session_navigation,
            Layer(priority=4,
                  left_button=self._top_button[0],
                  right_button=self._top_button[1]))
        self._session_navigation._vertical_layer = AddLayerMode(
            self._session_navigation,
            Layer(priority=4,
                  up_button=self._top_button[0],
                  down_button=self._top_button[1]))
        self._session_navigation.set_enabled(False)
Ejemplo n.º 12
0
    def _setup_mod(self):
        def get_monomodular(host):
            if isinstance(__builtins__, dict):
                if not 'monomodular' in list(
                        __builtins__.keys()) or not isinstance(
                            __builtins__['monomodular'], ModRouter):
                    __builtins__['monomodular'] = ModRouter(
                        song=self.song,
                        register_component=self._register_component)
            else:
                if not hasattr(__builtins__, 'monomodular') or not isinstance(
                        __builtins__['monomodular'], ModRouter):
                    setattr(
                        __builtins__, 'monomodular',
                        ModRouter(song=self.song,
                                  register_component=self._register_component))
            monomodular = __builtins__['monomodular']
            if not monomodular.has_host():
                monomodular.set_host(host)
            return monomodular

        self.monomodular = get_monomodular(self)
        self.monomodular.name = 'monomodular_switcher'
        # with inject(register_component = const(self._register_component), song = const(self.song)).everywhere():
        self.modhandler = Aum256ModHandler(
            self
        )  ## song = self.song, register_component = self._register_component)
        self.modhandler.name = 'ModHandler'
        self.modhandler.layer = Layer(priority=6,
                                      grid=self._matrix,
                                      Shift_button=self._shift,
                                      Alt_button=self._alt,
                                      key_buttons=self._key_matrix)
        self.modhandler.alt_shift_layer = AddLayerMode(self.modhandler,
                                                       Layer())
        self.modhandler.legacy_shift_layer = AddLayerMode(
            self.modhandler,
            Layer(
                priority=7,
                device_selector_matrix=self._matrix.submatrix[:, :1],
                channel_buttons=self._matrix.submatrix[:, 1:2],
            ))
        #nav_matrix = self._matrix.submatrix[4:8, 2:6],
        #))
        self.modhandler.shift_layer = AddLayerMode(
            self.modhandler,
            Layer(
                priority=7,
                device_selector_matrix=self._matrix.submatrix[:, :1],
            ))
        #lock_button = self.elements.master_select_button,
        #))
        self.modhandler.alt_layer = AddLayerMode(self.modhandler,
                                                 Layer(priority=7, ))
        #key_buttons = self.elements.select_buttons))
        #key_buttons = self.elements.track_state_buttons))
        self._device_provider.restart_mod()
        self._modHandle = ModControl(modscript=self,
                                     monomodular=self.monomodular,
                                     name='ModHandle')
Ejemplo n.º 13
0
 def _create_session_modes(self):
     self._session_overview = SessionOverviewComponent(
         name=u'Session_Overview',
         is_enabled=False,
         session_ring=self._session_ring,
         enable_skinning=True,
         layer=Layer(button_matrix=u'clip_launch_matrix'))
     self._session_modes = SessionModesComponent(
         name=u'Session_Modes',
         is_enabled=False,
         layer=Layer(
             cycle_mode_button=u'session_mode_button',
             mode_button_color_control=u'session_button_color_element'))
     self._session_modes.add_mode(u'launch', None)
     (self._session_modes.add_mode(
         u'overview',
         (self._session_overview,
          AddLayerMode(
              self._session_navigation,
              Layer(page_up_button=u'up_button',
                    page_down_button=u'down_button',
                    page_left_button=u'left_button',
                    page_right_button=u'right_button')),
          AddLayerMode(
              self._background,
              Layer(scene_launch_buttons=u'scene_launch_buttons')))), )
     self._session_modes.selected_mode = u'launch'
     self._session_modes.set_enabled(True)
     self.__on_session_mode_changed.subject = self._session_modes
Ejemplo n.º 14
0
 def _create_encoder_modes(self):
     self._encoder_modes = ModesComponent(name=b'Encoder_Modes', enable_skinning=True)
     self._encoder_modes.add_mode(b'volume', AddLayerMode(self._mixer, Layer(volume_controls=b'encoders')))
     self._encoder_modes.add_mode(b'pan', AddLayerMode(self._mixer, Layer(pan_controls=b'encoders')))
     self._encoder_modes.add_mode(b'send_a', AddLayerMode(self._mixer, Layer(send_a_controls=b'encoders')))
     self._encoder_modes.add_mode(b'send_b', AddLayerMode(self._mixer, Layer(send_b_controls=b'encoders')))
     self._encoder_modes.selected_mode = b'volume'
Ejemplo n.º 15
0
 def _create_session_modes(self):
     self._session_overview = SessionOverviewComponent(
         name='Session_Overview',
         is_enabled=False,
         session_ring=(self._session_ring),
         enable_skinning=True,
         layer=Layer(button_matrix='clip_launch_matrix'))
     self._session_modes = SessionModesComponent(
         name='Session_Modes',
         is_enabled=False,
         layer=Layer(
             cycle_mode_button='session_mode_button',
             mode_button_color_control='session_button_color_element'))
     self._session_modes.add_mode(
         'launch',
         AddLayerMode(self._session,
                      Layer(scene_launch_buttons='scene_launch_buttons')))
     self._session_modes.add_mode(
         'mixer', DelayMode(self._mixer_modes, SESSION_MODES_SWITCH_DELAY))
     (self._session_modes.add_mode(
         'overview',
         (self._session_layout_mode, self._session_overview,
          AddLayerMode(
              self._session_navigation,
              Layer(page_up_button='up_button',
                    page_down_button='down_button',
                    page_left_button='left_button',
                    page_right_button='right_button')),
          AddLayerMode(
              self._background,
              Layer(scene_launch_buttons='scene_launch_buttons')))), )
     self._session_modes.selected_mode = 'launch'
Ejemplo n.º 16
0
    def _setup_mod(self):
        self.monomodular = get_monomodular(self)
        self.monomodular.name = 'monomodular_switcher'
        self.modhandler = OhmModHandler(script=self,
                                        device_provider=self._device_provider)
        self.modhandler.name = 'ModHandler'
        self.modhandler.layer = Layer(
            priority=5,
            grid=self._matrix.submatrix[:, :],
            nav_up_button=self._menu[2],
            nav_down_button=self._menu[5],
            nav_left_button=self._menu[3],
            nav_right_button=self._menu[4],
            shift_button=self._menu[1],
            alt_button=self._menu[0],
        )
        #parameter_controls = self._dial_matrix)
        self.modhandler.legacy_shift_mode = AddLayerMode(
            self.modhandler,
            Layer(priority=6,
                  channel_buttons=self._matrix.submatrix[:, 1],
                  nav_matrix=self._matrix.submatrix[4:8, 2:6]))
        self.modhandler.shift_mode = AddLayerMode(
            self.modhandler,
            Layer(priority=6,
                  device_selector_matrix=self._matrix.submatrix[:, 0],
                  lock_button=self._livid,
                  key_buttons=self._matrix.submatrix[:, 7]))

        self.modhandler.set_enabled(False)
        self.modhandler.set_mod_button(self._livid)
Ejemplo n.º 17
0
	def _setup_device_selector(self):
		self._device_selector = DeviceSelectorComponent(self)
		self._device_selector.name = 'Device_Selector'
		#self._device_selector.select_layer = AddLayerMode(self._device_selector, Layer(priority = 6 , matrix = self._matrix.submatrix[:, :]))
		self._device_selector.select_layer = AddLayerMode(self._device_selector, Layer(priority = 6, matrix = ButtonMatrixElement(rows = [self._grid[:4],self._grid[4:8],self._grid[8:12],self._grid[12:14]])))
		self._device_selector.assign_layer = AddLayerMode(self._device_selector, Layer(priority = 7, assign_button = self._grid[14]))
		self._device_selector.set_enabled(False)
Ejemplo n.º 18
0
 def _create_stop_solo_mute_modes(self):
     self._stop_solo_mute_modes = ModesComponent(
         name=u'Stop_Solo_Mute_Modes',
         is_enabled=False,
         support_momentary_mode_cycling=False,
         layer=Layer(
             cycle_mode_button=self._elements.scene_launch_buttons_raw[7]))
     bottom_row = self._elements.clip_launch_matrix.submatrix[:, 7:8]
     self._stop_solo_mute_modes.add_mode(
         u'launch', None, cycle_mode_button_color=u'Mode.Launch.On')
     self._stop_solo_mute_modes.add_mode(
         u'stop',
         AddLayerMode(self._session,
                      Layer(stop_track_clip_buttons=bottom_row)),
         cycle_mode_button_color=u'Session.StopClip')
     self._stop_solo_mute_modes.add_mode(
         u'solo',
         AddLayerMode(self._mixer, Layer(solo_buttons=bottom_row)),
         cycle_mode_button_color=u'Mixer.SoloOn')
     self._stop_solo_mute_modes.add_mode(
         u'mute',
         AddLayerMode(self._mixer, Layer(mute_buttons=bottom_row)),
         cycle_mode_button_color=u'Mixer.MuteOff')
     self._stop_solo_mute_modes.selected_mode = u'launch'
     self._stop_solo_mute_modes.set_enabled(True)
Ejemplo n.º 19
0
 def __init__(self,
              note_settings_component=None,
              automation_component=None,
              initial_encoder_layer=None,
              encoder_layer=None,
              *a,
              **k):
     super(NoteEditorSettingsComponent, self).__init__(*a, **k)
     raise encoder_layer or AssertionError
     self._request_hide = False
     self.settings = self.register_component(note_settings_component)
     self.settings.set_enabled(False)
     self._automation = self.register_component(automation_component)
     self._automation.set_enabled(False)
     self._mode_selector = self.register_component(
         OptionsComponent(num_options=2,
                          num_labels=0,
                          num_display_segments=8))
     self._mode_selector.set_enabled(False)
     self._on_selected_option.subject = self._mode_selector
     self._update_available_modes()
     self._mode_selector.selected_option = 0
     self._visible_detail_view = 'Detail/DeviceChain'
     self._show_settings_task = self._tasks.add(
         task.sequence(task.wait(defaults.MOMENTARY_DELAY),
                       task.run(self._show_settings))).kill()
     self._update_infos_task = self._tasks.add(
         task.run(self._update_note_infos)).kill()
     self._settings_modes = self.register_component(ModesComponent())
     self._settings_modes.set_enabled(False)
     self._settings_modes.add_mode('automation', [
         self._automation, self._mode_selector,
         partial(self._set_envelope_view_visible, True),
         self._show_clip_view
     ])
     self._settings_modes.add_mode('note_settings', [
         self.settings, self._update_note_infos, self._mode_selector,
         partial(self._set_envelope_view_visible, False),
         self._show_clip_view
     ])
     self._encoders = None
     self._initial_encoders = None
     self.add_mode('disabled', [])
     self.add_mode('about_to_show', [
         AddLayerMode(self, initial_encoder_layer),
         (self._show_settings_task.restart, self._show_settings_task.kill)
     ])
     self.add_mode('enabled', [
         DetailViewRestorerMode(self.application),
         AddLayerMode(self, encoder_layer), self._update_available_modes,
         self._settings_modes
     ])
     self.selected_mode = 'disabled'
     self._editors = []
     self._on_detail_clip_changed.subject = self.song.view
     self._on_selected_track_changed.subject = self.song.view
     self.__on_full_velocity_changed.subject = self.settings
     self.__on_setting_changed.subject = self.settings
     return
Ejemplo n.º 20
0
 def _create_mixer(self):
     super(KeyLabMkII, self)._create_mixer()
     self._mixer.layer += Layer(track_select_buttons=self._select_buttons, solo_buttons=self._solo_buttons, mute_buttons=self._mute_buttons, arm_buttons=self._record_arm_buttons, selected_track_name_display=self._display)
     self._mixer_modes = ModesComponent(name=u'Mixer_Modes')
     self._mixer_modes.add_mode(u'volume_mode', AddLayerMode(self._mixer, Layer(volume_controls=self._faders)))
     self._mixer_modes.add_mode(u'sends_a_mode', AddLayerMode(self._mixer, Layer(send_controls=self._faders)))
     self._mixer_modes.layer = Layer(cycle_mode_button=self._mixer_mode_cycle_button)
     self._mixer_modes.selected_mode = u'volume_mode'
Ejemplo n.º 21
0
 def _init_track_modes(self):
     self._track_modes = ModesComponent(name='Track_Modes')
     self._track_modes.set_enabled(False)
     self._track_modes.add_mode('stop', AddLayerMode(self._stop_clips, self._stop_track_clips_layer))
     self._track_modes.add_mode('solo', AddLayerMode(self._mixer, self._mixer_solo_layer))
     self._track_modes.add_mode('mute', AddLayerMode(self._mixer, self._mixer_mute_layer))
     self._track_modes.layer = self._create_track_modes_layer()
     self._track_modes.selected_mode = 'mute'
Ejemplo n.º 22
0
 def _setup_device_control(self):
     super(Cntrlr, self)._setup_device_control()
     self._device.dial_layer = AddLayerMode(self._device,
                                            Layer(priority=5, ))
     self._device.button_layer = AddLayerMode(self._device,
                                              Layer(priority=5, ))
     self._device_navigator.select_dial_layer = AddLayerMode(
         self._device_navigator, Layer(priority=5, ))
     self._device_navigator.main_layer = AddLayerMode(
         self._device_navigator, Layer(priority=5, ))
Ejemplo n.º 23
0
	def _setup_mixer_control(self):
		self._mixer = MonoMixerComponent(name = 'Mixer', num_returns = 4,tracks_provider = SessionRingComponent(num_tracks = 4, num_scenes = 4), track_assigner = simple_track_assigner, invert_mute_feedback = True, auto_name = True, enable_skinning = True)

		if FREE_ENCODER_IS_CROSSFADER:
			self._mixer.layer = Layer(priority = 4, crossfader_control = self._encoder[1])
		self._mixer.main_faders_layer = AddLayerMode(self._mixer, Layer(priority = 4,
											volume_controls = self._fader_matrix.submatrix[:4, :],
											return_controls = self._fader_matrix.submatrix[4:, :],))
		self._mixer.main_buttons_layer = AddLayerMode(self._mixer, Layer(priority = 4, 
											mute_buttons = self._key_matrix.submatrix[8:12, 1:],
											stop_clip_buttons = self._key_matrix.submatrix[4:8, 1:],
											arming_track_select_buttons = self._key_matrix.submatrix[:4, 1:],))
		self._mixer.solo_buttons_layer = AddLayerMode(self._mixer, Layer(priority = 4,
											solo_buttons = self._key_matrix.submatrix[8:12, 1:],))
		self._mixer.shifted_buttons_layer = AddLayerMode(self._mixer, Layer(priority = 4,
											track_select_buttons = self._key_matrix.submatrix[:4, 1:],
											stop_clip_buttons = self._key_matrix.submatrix[4:8, 1:],
											solo_buttons = self._key_matrix.submatrix[8:12, 1:],))
		self._mixer.stop_layer = AddLayerMode(self._mixer, Layer(priority = 4,
											stop_clip_buttons = self._key_matrix.submatrix[8:12, 1:],))
		if EQS_INSTEAD_OF_MACROS:
			self._mixer.main_knobs_layer = AddLayerMode(self._mixer, Layer(priority = 4,
												send_controls = self._knob_left_matrix,
												eq_gain_controls = self._knob_right_matrix))
		else:
			self._mixer.main_knobs_layer = AddLayerMode(self._mixer, Layer(priority = 4,
												send_controls = self._knob_left_matrix,
												parameter_controls = self._knob_right_matrix))
		#self._mixer.main_knobs_layer = AddLayerMode(self._mixer, Layer(priority = 4))
		self._mixer.master_fader_layer = AddLayerMode(self._mixer.master_strip(), Layer(priority = 4,
											volume_control = self._fader[7]))
		self._mixer.instrument_buttons_layer = AddLayerMode(self._mixer, Layer(priority = 4,
											mute_buttons = self._key_matrix.submatrix[:4, 1:],
											track_select_buttons = self._key_matrix.submatrix[4:8, 1:],))
		self._mixer.set_enabled(False)
 def __init__(self, playing_clip_above_layer = None, playing_clip_below_layer = None, *a, **k):
     super(SelectPlayingClipComponent, self).__init__(*a, **k)
     self._update_mode_task = self._tasks.add(task.sequence(task.delay(1), task.run(self._update_mode)))
     self._update_mode_task.kill()
     self.add_mode('default', None)
     self.add_mode('above', [AddLayerMode(self, playing_clip_above_layer), partial(self._show_notification, MessageBoxText.PLAYING_CLIP_ABOVE_SELECTED_CLIP)])
     self.add_mode('below', [AddLayerMode(self, playing_clip_below_layer), partial(self._show_notification, MessageBoxText.PLAYING_CLIP_BELOW_SELECTED_CLIP)])
     self.selected_mode = 'default'
     self._on_detail_clip_changed.subject = self.song.view
     self._on_playing_slot_index_changed.subject = self.song.view.selected_track
     self._notification_reference = partial(nop, None)
Ejemplo n.º 25
0
 def _setup_mixer(self):
     self._mixer = MorphMixerComponent(tracks_provider=self._session_ring,
                                       track_assigner=SimpleTrackAssigner(),
                                       auto_name=True,
                                       invert_mute_feedback=False)
     self._mixer._selected_strip.main_layer = AddLayerMode(
         self._mixer._selected_strip,
         Layer(priority=2, send_controls=self._send_pressure_matrix))
     self._mixer._selected_strip.shift_layer = AddLayerMode(
         self._mixer._selected_strip,
         Layer(priority=2, stop_button=self._button[5]))
Ejemplo n.º 26
0
 def _create_jogwheel_modes(self):
     self._jogwheel_modes = ModesComponent()
     self._jogwheel_modes.add_mode(
         u'Session',
         AddLayerMode(self._view_control,
                      Layer(scene_scroll_encoder=self._jogwheel)))
     self._jogwheel_modes.add_mode(
         u'Arranger',
         AddLayerMode(self._arrangement,
                      Layer(jump_encoder=self._jogwheel)))
     self._on_focused_view_changed()
Ejemplo n.º 27
0
 def _create_stop_solo_mute_modes(self):
     self._stop_solo_mute_modes = ModesComponent(name=b'Stop_Solo_Mute_Modes', is_enabled=False, support_momentary_mode_cycling=False)
     lower_matrix_row = self._elements.clip_launch_matrix.submatrix[:, 1:]
     self._stop_solo_mute_modes.add_mode(b'launch', None, cycle_mode_button_color=b'Mode.Launch.On')
     self._stop_solo_mute_modes.add_mode(b'stop', AddLayerMode(self._session, Layer(stop_track_clip_buttons=lower_matrix_row)), cycle_mode_button_color=b'Session.StopClip')
     self._stop_solo_mute_modes.add_mode(b'solo', AddLayerMode(self._mixer, Layer(solo_buttons=lower_matrix_row)), cycle_mode_button_color=b'Mixer.SoloOn')
     self._stop_solo_mute_modes.add_mode(b'mute', AddLayerMode(self._mixer, Layer(mute_buttons=lower_matrix_row)), cycle_mode_button_color=b'Mixer.MuteOff')
     self._stop_solo_mute_modes.selected_mode = b'launch'
     self._stop_solo_mute_modes.set_enabled(True)
     self.__on_stop_solo_mute_mode_changed.subject = self._stop_solo_mute_modes
     return
Ejemplo n.º 28
0
	def _setup_mod(self):
		self.monomodular = get_monomodular(self)
		self.monomodular.name = 'monomodular_switcher'
		self.modhandler = CodecModHandler(script = self, device_provider = self._device_provider)
		self.modhandler.name = 'ModHandler'
		self.modhandler.layer = Layer(priority = 4, code_grid = self._button_matrix.submatrix[:,:], code_encoder_grid = self._encoder_matrix.submatrix[:,:])
		self.modhandler.set_enabled(False)
		self.modhandler.code_buttons_layer = AddLayerMode(self.modhandler, Layer(priority = 5, code_buttons = self._code_buttons))
		self.modhandler.keys_layer = AddLayerMode(self.modhandler, Layer(priority = 5, key_buttons = self._code_keys))
		self.modhandler.code_keys_layer = AddLayerMode(self.modhandler, Layer(priority = 5, code_keys = self._code_buttons))
		self.modhandler.alt_layer = AddLayerMode(self.modhandler, Layer(priority = 4, lock_button = self._livid))
Ejemplo n.º 29
0
 def _setup_keys_group(self):
     self._keys_group = MorphKeysGroup()
     self._keys_group.main_layer = AddLayerMode(
         self._keys_group, Layer(priority=2, matrix=self._key_matrix))
     self._keys_group.shift_layer = AddLayerMode(
         self._keys_group,
         Layer(priority=2,
               matrix=self._key_shift_matrix,
               scroll_up_button=self._key[12],
               scroll_down_button=self._key[11]))
     self._keys_group.set_enabled(False)
Ejemplo n.º 30
0
 def _create_main_modes(self):
     self._main_modes = ModesComponent(
         name=b'Main_Modes',
         is_enabled=False,
         layer=Layer(song_button=b'song_mode_button',
                     instrument_button=b'instrument_mode_button',
                     editor_button=b'editor_mode_button',
                     user_button=b'user_mode_button'))
     device_params_mode = AddLayerMode(
         self._device_parameters, Layer(parameter_controls=b'encoders'))
     enable_lower_fw_functions = partial(
         self._elements.lower_firmware_toggle_switch.send_value, 1)
     disable_upper_fw_functions = partial(
         self._elements.upper_firmware_toggle_switch.send_value, 0)
     self._main_modes.add_mode(
         b'song',
         (partial(self._elements.lower_firmware_toggle_switch.send_value,
                  0), disable_upper_fw_functions,
          self._elements.display_buttons.reset, self._view_toggle,
          self._launch_and_stop, self._session, self._lower_pad_modes,
          AddLayerMode(self._session.scene(0),
                       Layer(launch_button=b'plus_button')),
          AddLayerMode(
              self._mixer.selected_strip(),
              Layer(volume_control=b'encoders_raw[0]',
                    pan_control=b'encoders_raw[1]',
                    send_controls=self._elements.encoders.submatrix[2:, :],
                    solo_button=b'display_buttons_raw[0]',
                    mute_button=b'display_buttons_raw[1]',
                    arm_button=b'display_buttons_raw[2]')),
          AddLayerMode(self._mixer,
                       Layer(crossfader_control=b'touch_strip'))))
     self._main_modes.add_mode(
         b'instrument',
         (enable_lower_fw_functions,
          partial(self._elements.upper_firmware_toggle_switch.send_value,
                  1), device_params_mode))
     self._main_modes.add_mode(
         b'editor',
         (enable_lower_fw_functions, disable_upper_fw_functions,
          device_params_mode, self._device_navigation,
          AddLayerMode(
              self._device_parameters,
              Layer(device_lock_button=b'display_buttons_raw[0]',
                    device_on_off_button=b'display_buttons_raw[3]',
                    prev_bank_button=b'display_buttons_raw[4]',
                    next_bank_button=b'display_buttons_raw[5]'))))
     self._main_modes.add_mode(
         b'user', (enable_lower_fw_functions, disable_upper_fw_functions,
                   self._translating_background))
     self._main_modes.selected_mode = b'instrument'
     self._main_modes.set_enabled(True)
     self.__on_main_modes_changed.subject = self._main_modes