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]))
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))
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]))
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)
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)
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'
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)
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]))
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)
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')
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
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'
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'
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)
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)
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)
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
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'
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'
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, ))
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)
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]))
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()
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
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))
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)
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