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 create_note_repeat_component(self): self._note_repeat = MaschineNoteRepeatEnabler( note_repeat=self._c_instance.note_repeat, name='Note_Repeat_Enabler', is_enabled=False) self._note_repeat.layer = Layer( note_repeat_button='note_repeat_button') self._note_repeat.note_repeat_component.layer = Layer( select_buttons='group_matrix') self._note_repeat.set_enabled(True)
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.layer = Layer(priority = 2, clip_launch_buttons = self._pad_matrix,) # stop_all_clips_button = self._button[5]) self._session.set_enabled(False) self._session_navigation = SessionNavigationComponent(name = 'Session_Navigation', session_ring = self._session_ring) self._session_navigation.layer = Layer(priority = 2, left_button = self._button[0], right_button = self._button[1]) self._session_navigation.set_enabled(False)
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 _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 _setup_keys_group(self): # self._keys_group = MorphKeysGroup(translation_channel = KEY_TRANSLATION_CHANNEL) 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 _setup_drum_group2(self): # self._drum_group2 = MorphDrumGroup(set_pad_translations = self.set_pad_translations, translation_channel = DRUM_TRANSLATION_CHANNEL) self._drum_group2 = MorphDrumGroup() self._drum_group2.position = 9 self._drum_group2.main_layer = AddLayerMode( self._drum_group2, Layer(priority=2, matrix=self._pad_matrix)) self._drum_group2.nav_layer = AddLayerMode( self._drum_group2, Layer(priority=2, scroll_up_button=self._key[1], scroll_down_button=self._key[0])) self._drum_group2.set_enabled(False)
def _setup_session3(self): self._session3 = SessionComponent(name='Session3', session_ring=self._session_ring, auto_name=True) self._session3.layer = Layer(priority=2, clip_launch_buttons=self._pad_matrix) self._session3.set_enabled(False)
def _setup_transport(self): self._transport = TransportComponent(name='Transport') self._transport.layer = Layer(priority=2, play_button=self._button[4], stop_button=self._button[5], overdub_button=self._button[6]) self._transport.set_enabled(False)
def create_welcome_component(self): self._welcome = MaschineWelcome(name='Welcome') self._welcome.layer = Layer(pads='pad_matrix', group_buttons='group_matrix') self._tasks.add( task.sequence(task.wait(2), task.run(partial(self._welcome.set_enabled, False))))
def create_pad_matrix_modes(self): self._pad_modes = ModesComponent('Pad_Modes') self._pad_modes.layer = Layer(cycle_mode_button='select_button') self._pad_modes.add_mode('playable_mode', self._playable_mode) self._pad_modes.add_mode('track_selection_mode', self._track_selection_matrix) self._pad_modes.selected_mode = 'track_selection_mode'
def _setup_recorder(self): self._recorder = SessionRecordingComponent( view_controller=self._viewcontrol) self._recorder.layer = Layer(priority=4, new_button=self._side_button[2], record_button=self._side_button[1]) self._recorder.set_enabled(False)
def create_track_creation_component(self): self._track_creation = MaschineTrackCreation(name='Track_Creation', is_enabled=False) self._track_creation.layer = Layer( return_track_button='return_track_button', audio_track_button='audio_track_button', midi_track_button='midi_track_button') self._track_creation.set_enabled(True)
def create_transport_component(self): self._transport = MaschineTransport(name='Transport', is_enabled=False) layer = Layer(play_button='play_button', stop_button='stop_button', tap_tempo_button='tap_button', metronome_button='metro_button') self._transport.layer = layer self._transport.set_enabled(True)
def _setup_modes(self): self._main_modes = ModesComponent(name = 'MainModes') self._main_modes.add_mode('disabled', self._background) self._main_modes.add_mode('Main', [self._piano_group, self._piano_group.main_layer, self._mixer, self._mixer._selected_strip.main_layer, self._viewcontrol, self._drum_group, self._drum_group.main_layer, self._keys_group, self._keys_group.main_layer, self._device, self._transport, self._assign_crossfader, self._report_mode]) self._main_modes.add_mode('Shift', [self._mixer, self._mixer._selected_strip.shift_layer, self._session, self._session2, self._session_navigation, self._drum_group, self._drum_group.nav_layer, self._keys_group, self._keys_group.shift_layer, self._deassign_crossfader, self._recorder, self._translations, self._report_mode], behaviour = MomentaryBehaviour()) self._main_modes.layer = Layer(Shift_button = self._button[7]) self._main_modes.set_enabled(True) self._report_mode.subject = self._main_modes self._main_modes.selected_mode = 'disabled'
def _setup_background(self): self._background = BackgroundComponent() self._background.layer = Layer( priority=3, matrix=self._matrix.submatrix[:, :], side_buttons=self._side_button_matrix, top_buttons=self._top_button_matrix.submatrix[:, :], bottom_button=self._bottom_button) self._background.set_enabled(False)
def _setup_background(self): self._background = BackgroundComponent() self._background.layer = Layer(priority=1, pads=self._pad_matrix, buttons=self._button_matrix, keys=self._key_matrix, dials=self._dial_matrix, sliders=self._slider_matrix) self._background.set_enabled(False)
def create_track_selection_matrix_component(self): self._track_selection_matrix = MaschineTrackSelection( track_provider=MaschineTrackProvider(), name='Track_Selection_Matrix', is_enabled=False) self._track_selection_matrix.layer = Layer( select_buttons='selection_matrix', previous_track_page_button='chords_button', next_track_page_button='step_button')
def create_keyboard_component(self): self._keyboard = MaschineKeyboard(translation_channel=KEYBOARD_CHANNEL, name='Keyboard', is_enabled=False) self._keyboard.layer = Layer(matrix='pad_matrix', scroll_down_button='chords_button', scroll_up_button='step_button', next_scale_button='keyboard_button', previous_scale_button='pad_mode_button', next_key_button='next_key_button', previous_key_button='previous_key_button')
def _setup_piano_group(self): self._piano_group = MorphKeysGroup() self._piano_group._hi_limit = 8 self._piano_group.main_layer = AddLayerMode( self._piano_group, Layer(priority=2, matrix=self._piano_matrix, scroll_up_button=self._piano_button[1], scroll_down_button=self._piano_button[0])) #self._piano_group.shift_layer = AddLayerMode(self._piano_group, Layer(matrix = self._piano_shift_matrix, scroll_up_button = self._pian0[12], scroll_down_button = self._key[11])) self._piano_group.set_enabled(False)
def _setup_piano_group(self): # self._piano_group = MorphKeysGroup(translation_channel = PIANO_TRANSLATION_CHANNEL) self._piano_group = MorphKeysGroup() self._piano_group._hi_limit = 8 self._piano_group.main_layer = AddLayerMode( self._piano_group, Layer(priority=2, matrix=self._piano_matrix, scroll_up_button=self._piano_button[1], scroll_down_button=self._piano_button[0])) #self._piano_group.shift_layer = AddLayerMode(self._piano_group, Layer(matrix = self._piano_shift_matrix, scroll_up_button = self._pian0[12], scroll_down_button = self._key[11])) self._piano_group.set_enabled(False)
def create_drum_rack_component(self): self._drum_rack = MaschineDrumRack(translation_channel=DRUMS_CHANNEL, name='Drum_Rack', is_enabled=False) full_velocity_element = FullVelocityElement( full_velocity=self._c_instance.full_velocity) self._drum_rack.layer = Layer(matrix='pad_matrix', scroll_page_down_button='chords_button', scroll_page_up_button='step_button', mute_button='mute_button', solo_button='solo_button', accent_button='fixed_vel_button', full_velocity=full_velocity_element)
def create_main_modes(self): self._main_modes = ModesComponent(name='Main_Modes') layer = Layer( bypass_device_button='console_buttons[4]', reset_parameters_button='console_buttons[5]', previous_bank_button='console_buttons[6]', next_bank_button='console_buttons[7]', randomize_parameters_button='randomize_parameters_button') device_mode = LayerMode(self._device, layer=layer) layer = Layer(parameter_controls='knob_matrix') device_parameter_mode = LayerMode(self._device_parameter, layer=layer) layer = Layer(select_buttons='group_matrix', previous_device_button='left_button', next_device_button='right_button', remove_device_button='remove_device_button', move_backward_button='move_backward_button', move_forward_button='move_forward_button', collapse_device_button='click_button', next_chain_button='down_button', previous_chain_button='up_button', next_page_button='next_device_page_button', previous_page_button='previous_device_page_button') device_navigation_mode = LayerMode(self._device_navigation, layer=layer) layer = Layer(master_track_button='console_buttons[0]', previous_track_button='console_buttons[1]', next_track_button='console_buttons[2]') track_navigation_mode = LayerMode(self._track_navigation, layer=layer) self._main_modes.add_mode('device_contol_mode', [ device_mode, device_parameter_mode, device_navigation_mode, track_navigation_mode ]) self._main_modes.add_mode('mixer_contol_mode', Mode()) self._main_modes.add_mode('browser_contol_mode', Mode()) self._main_modes.layer = Layer( device_contol_mode_button='plugin_button', mixer_contol_mode_button='mixer_button', browser_contol_mode_button='browser_button') self._main_modes.selected_mode = 'device_contol_mode'
def _setup_device(self): self._device = MorphDeviceComponent( device_decorator_factory=DeviceDecoratorFactory(), banking_info=BankingInfo(self.bank_definitions), device_provider=self._device_provider, device_bank_registry=DeviceBankRegistry()) self._device_parameters = DeviceParameterComponent(self._device) self._device_parameters.layer = Layer( priority=2, parameter_controls=self._dial_matrix) self._device.set_enabled(False) self._device_parameters.set_enabled(False) self._device2 = MorphDeviceComponent( device_decorator_factory=DeviceDecoratorFactory(), banking_info=BankingInfo(self.bank_definitions), device_provider=self._device_provider, device_bank_registry=DeviceBankRegistry()) self._device_parameters2 = DeviceParameterComponent(self._device2) self._device_parameters2.layer = Layer( priority=2, parameter_controls=self._thunder_slider_matrix) self._device2.set_enabled(False) self._device_parameters2.set_enabled(False)
def _setup_modes(self): self._main_modes = ModesComponent(name='MainModes') self._main_modes.add_mode('disabled', []) self._main_modes.add_mode( 'session_shifted', [ self._recorder, self._mixer, self._mixer.solo_mute_record_stop_layer, self._session, self._session.stop_layer, self._session_navigation, self._session_navigation._vertical_layer, self._transport ], groups=['shifted'], behaviour=self._shift_latching(color='Mode.Session')) self._main_modes.add_mode( 'session', [ self._recorder, self._mixer, self._session, self._session.cliplaunch_layer, self._session_navigation, self._session_navigation._horizontal_layer, self._transport ], behaviour=self._shift_latching(color='Mode.Session')) self._main_modes.add_mode( 'instrument_shifted', [ self._recorder, self._mixer, self._mixer.mute_layer, self._viewcontrol, self._instrument, self._transport ], groups=['shifted'], behaviour=self._shift_latching(color='Mode.Instrument')) self._main_modes.add_mode( 'instrument', [ self._recorder, self._mixer, self._mixer.select_layer, self._viewcontrol, self._instrument, self._transport ], behaviour=self._shift_latching(color='Mode.Instrument')) self._main_modes.layer = Layer(priority=6, session_button=self._side_button[4], instrument_button=self._side_button[3]) self._main_modes.set_enabled(False) self._main_modes.selected_mode = 'disabled'
def _setup_recorder(self): self._recorder = SessionRecordingComponent(view_controller = ViewControlComponent()) self._recorder.layer = Layer(priority = 2, record_button = self._button[6]) self._recorder.set_enabled(False)
def _setup_viewcontrol(self): self._viewcontrol = ViewControlComponent() self._viewcontrol.layer = Layer(priority = 2, prev_track_button = self._button[0], next_track_button = self._button[1]) self._viewcontrol.set_enabled(False)
def _setup_device(self): self._device = MorphDeviceComponent(device_provider = self._device_provider, device_bank_registry = self._device_bank_registry) self._device.layer = Layer(priority = 2, parameter_controls = self._dial_matrix) self._device.set_enabled(False)
def create_recording_component(self): self._recording = MaschineRecording(name='Recording', is_enabled=False) layer = Layer(record_button='record_button', session_automation_button='auto_button') self._recording.layer = layer self._recording.set_enabled(True)