def _create_device_mode(self): device_mode_scene_launch_translation = self._create_translation( 'Device_Mode_Scene_Launch_Translation', consts.DEVICE_MAP_CHANNEL, Layer(scene_launch_buttons=self. _midimap['Scene_Launch_Button_Matrix'])) device_layer_mode = LayerMode( self._device, layer=Layer( parameter_controls=self._midimap['Slider_Button_Matrix'])) device_nav_layer_mode = LayerMode( self._device_navigation, layer=Layer( device_nav_left_button=self._midimap['Arrow_Left_Button'], device_nav_right_button=self._midimap['Arrow_Right_Button'])) device_background_layer_mode = LayerMode( self._device_background, layer=Layer(arrow_up_button=self._midimap['Arrow_Up_Button'], arrow_down_button=self._midimap['Arrow_Down_Button'])) self._modes.add_mode('device_mode', [ partial(self._layout_setup, consts.FADER_LAYOUT_SYSEX_BYTE), self._device, device_layer_mode, device_nav_layer_mode, device_background_layer_mode, self._clip_actions_component, self._clip_delete_layer_mode, device_mode_scene_launch_translation, self._show_playing_clip, self._set_clip_actions_type ], behaviour=ReenterBehaviour( self.toggle_detail_view))
def _create_note_modes(self): note_mode_matrix_translation = self._create_translation('Note_Mode_Matrix_Translation', consts.CHROM_MAP_CHANNEL, Layer(button_matrix=self._midimap['Main_Button_Matrix'], note_button_matrix=self._midimap['Note_Button_Matrix'], drum_matrix=self._midimap['Drum_Button_Matrix'], mixer_button_matrix=self._midimap['Mixer_Button_Matrix']), should_enable=False) note_mode_scene_launch_translation = self._create_translation('Note_Mode_Scene_Launch_Translation', consts.CHROM_MAP_CHANNEL, Layer(scene_launch_buttons=self._midimap['Scene_Launch_Button_Matrix'])) scale_setup_mode_button_lighting = LedLightingComponent(name='LED_Lighting_Component', is_enabled=False, layer=Layer(button=self._midimap.with_shift('Note_Mode_Button'))) drum_mode_note_matrix_translation = self._create_translation('Drum_Mode_Note_Button_Translation', 0, Layer(note_button_matrix=self._midimap['Note_Button_Matrix']), should_enable=False, should_reset=False) drum_group_layer_mode = LayerMode(self._drum_group, layer=Layer(scroll_up_button=self._midimap['Arrow_Left_Button'], scroll_down_button=self._midimap['Arrow_Right_Button'], scroll_page_up_button=self._midimap['Arrow_Up_Button'], scroll_page_down_button=self._midimap['Arrow_Down_Button'], drum_matrix=self._midimap['Drum_Button_Matrix'], select_button=self._midimap['Shift_Button'], delete_button=self._midimap['Delete_Button'])) self._note_modes = SpecialModesComponent(name='Note_Modes') self._note_modes.add_mode('chromatic_mode', [ partial(self._layout_setup, consts.NOTE_LAYOUT_SYSEX_BYTE), self._clip_delete_layer_mode, note_mode_matrix_translation, scale_setup_mode_button_lighting]) self._note_modes.add_mode('drum_mode', [ partial(self._layout_setup, consts.DRUM_LAYOUT_SYSEX_BYTE), self._setup_drum_group, drum_group_layer_mode, drum_mode_note_matrix_translation]) self._note_modes.add_mode('audio_mode', [ partial(self._layout_setup, consts.AUDIO_LAYOUT_SYSEX_BYTE), self._clip_delete_layer_mode]) self._note_modes.set_enabled(False) self._modes.add_mode('note_mode', [ note_mode_scene_launch_translation, self._note_modes, self._select_note_mode, self._select_target_track, self._clip_actions_component, self._show_playing_clip, self._set_clip_actions_type], behaviour=ReenterBehaviour(self.toggle_detail_view)) self._session_record.set_modes_component(self._modes) self._session_record.set_note_mode_name('note_mode')
def _create_arrangement_mode(self): self._arrangement_mixer = SpecialMixerComponent( NUM_TRACKS, auto_name=True, is_enabled=True, invert_mute_feedback=True) self._arrangement_mixer.name = 'Arrangement_Mixer_Control' self._arrangement.set_mixer(self._arrangement_mixer) arrangement_mixer_layer_mode = LayerMode( self._arrangement_mixer, layer=Layer( track_select_buttons=self._midimap['Main_Button_Matrix']. submatrix[4, :], arm_buttons=self._midimap['Main_Button_Matrix'].submatrix[ 7, :], solo_buttons=self._midimap['Main_Button_Matrix'].submatrix[ 6, :], mute_buttons=self._midimap['Main_Button_Matrix'].submatrix[ 5, :])) # LHS_layer_mode = LayerMode( quantize_button=self._midimap['Quantize_Button'] ) self._modes.add_mode('arrangement_mode', [ partial(self._layout_setup, consts.SESSION_LAYOUT_SYSEX_BYTE), arrangement_mixer_layer_mode, self._arrangement.update_navigation_buttons ], behaviour=ReenterBehaviour( self.toggle_detail_view))