Example #1
0
	def _hack_stuff(self):
		crossfader_strip = TouchStripControllerComponent()
		crossfader_strip.layer = Layer(touch_strip = self.elements.touch_strip_control)
		crossfader_strip.set_enabled(False)
		self._crossfader_control = AumPushCrossfader(strip_controller = crossfader_strip, task_group = self._task_group, is_root = True)
		self._crossfader_control.set_enabled(False)
		
		self._device_selector = DeviceSelectorComponent(self)
		self._device_selector._off_value = 64
		self._device_selector.layer = Layer(priority = 9, matrix = self.elements.matrix.submatrix[:, :4])
		self._device_selector.set_enabled(False)

		self._send_reset = AumPushResetSendsComponent(self)
		self._send_reset.layer = Layer(priority = 9, send_a_button = self._with_select(self.elements.track_state_buttons_raw[4]), send_b_button = self._with_select(self.elements.track_state_buttons_raw[5]), send_c_button = self._with_select(self.elements.track_state_buttons_raw[6]), send_d_button = self._with_select(self.elements.track_state_buttons_raw[7]))
		self._send_reset.set_enabled(False)

		self._troll_submodes = ModesComponent()
		self._troll_submodes.add_mode('Strip', [])
		self._troll_submodes.add_mode('FX1', [])
		self._troll_submodes.add_mode('FX2', [])
		self._troll_submodes.add_mode('Inputs', [])
		self._troll_submodes.layer = Layer(priority = 8, Strip_button = 'side_buttons_raw[0]', FX1_button = 'side_buttons_raw[1]', FX2_button = 'side_buttons_raw[2]', Inputs_button = 'side_buttons_raw[3]')
		self._troll_submodes.selected_mode = 'Strip'
		self._troll_submodes.set_enabled(False)

		static_modes = CompoundMode(self._crossfader_control, self._device_selector, self._send_reset, self._troll_submodes)

		self._troll_modes = ModesComponent()
		self._troll_modes.add_mode('disabled', [], cycle_mode_button_color = 'DefaultButton.Off')
		self._troll_modes.add_mode('enabled', [static_modes, tuple([self._grab_track_mode, self._release_track_mode, ])], cycle_mode_button_color = 'DefaultButton.Alert')
		self._troll_modes.layer = Layer(cycle_mode_button = 'master_select_button')
		self._troll_modes.selected_mode = 'disabled'
Example #2
0
	def _setup_modes(self):

		self._modswitcher = ModesComponent(name = 'ModSwitcher')
		self._modswitcher.add_mode('mod', [self._mixer,
													self._mixer.fader_layer,
													self.modhandler,
													self._mod_device,
													self._device_selector,])
		self._modswitcher.add_mode('translations', [self._translations,
													self._device,
													self._mixer,
													self._mixer.fader_layer,
													self._device_navigator,
													self._device_selector])
		self._modswitcher.selected_mode = 'translations'
		self._modswitcher.set_enabled(False)

		self._session_modes = ModesComponent(name = 'SessionModes')
		self._session_modes.add_mode('Launch', [self._session])
		self._session_modes.add_mode('Zoom', [self._session_zoom])
		self._session_modes.layer = Layer(priority = 4, cycle_mode_button = self._button[31])
		self._session_modes.set_enabled(False)

		self._main_modes = ModesComponent(name = 'MainModes')
		self._main_modes.add_mode('disabled', [self._background, self.encoder_navigation_on])
		self._main_modes.add_mode('MixMode', [self._mixer,
													self._mixer.fader_layer,
													self._mixer.button_layer,
													self._session_modes,
													self._session_navigation,
													self._session_ring,
													self._device,
													self._device_navigator,
													self._send_reset,
													self._transport])

		self._main_modes.add_mode('ModMode1', [self._modswitcher,
													self._choose_mod,
													DelayMode(self._update_modswitcher, delay = .1, parent_task_group = self._task_group),
													DelayMode(self.modhandler.update, delay = .2, parent_task_group = self._task_group)],
													behaviour = DefaultedBehaviour(default_mode = 'MixMode'))
		self._main_modes.add_mode('ModMode2', [self._modswitcher,
													self._choose_mod,
													DelayMode(self._update_modswitcher, delay = .1, parent_task_group = self._task_group),
													DelayMode(self.modhandler.update, delay = .2, parent_task_group = self._task_group)],
													behaviour = DefaultedBehaviour(default_mode = 'MixMode'))
		self._main_modes.add_mode('ModMode3', [self._modswitcher,
													self._choose_mod,
													DelayMode(self._update_modswitcher, delay = .1, parent_task_group = self._task_group),
													DelayMode(self.modhandler.update, delay = .2, parent_task_group = self._task_group)],
													behaviour = DefaultedBehaviour(default_mode = 'MixMode'))
		self._main_modes.add_mode('ModMode4', [self._modswitcher,
													self._choose_mod,
													DelayMode(self._update_modswitcher, delay = .1, parent_task_group = self._task_group),
													DelayMode(self.modhandler.update, delay = .2, parent_task_group = self._task_group)],
													behaviour = DefaultedBehaviour(default_mode = 'MixMode'))

		self._main_modes.layer = Layer(priority = 4, ModMode1_button = self._encoder_button[0], ModMode2_button = self._encoder_button[1], ModMode3_button = self._encoder_button[2], ModMode4_button = self._encoder_button[3]) #,
		self._main_modes.selected_mode = 'disabled'
		self._main_modes.set_enabled(True)
Example #3
0
	def _setup_shift_modes(self):
		self._main_shift_modes = ModesComponent(name = 'MainShiftModes')
		self._main_shift_modes.add_mode('disabled', [self.normal_encoder_sysex], cycle_mode_button_color = 'DefaultButton.Off')
		self._main_shift_modes.add_mode('enabled', [self.slow_encoder_sysex], cycle_mode_button_color = 'DefaultButton.On')  #, self._value_default
		self._main_shift_modes.layer = Layer(priority = 4, cycle_mode_button = self._livid)
		self._main_shift_modes.set_enabled(False)
		self._main_shift_modes.selected_mode = 'disabled'

		self._mod_shift_modes = ModesComponent(name = 'ModShiftModes')
		self._mod_shift_modes.layer = Layer(priority = 4, cycle_mode_button = self._livid)
		self._mod_shift_modes.set_enabled(False)
 def _create_recording_modes(self):
     self._create_session_recording()
     self._create_track_recording()
     self._recording_modes = ModesComponent(name=b'Recording_Modes')
     self._recording_modes.add_mode(b'session', self._session_recording)
     self._recording_modes.add_mode(b'track', self._track_recording)
     self._recording_modes.selected_mode = b'session'
Example #5
0
 def _setup_modes(self):
     self._modswitcher = ModesComponent(name='ModSwitcher')
     self._modswitcher.add_mode('mod', [self.modhandler, self._device])
     self._modswitcher.add_mode('device',
                                [self._device, self._device.bank_layer])
     self._modswitcher.selected_mode = 'device'
     self._modswitcher.set_enabled(True)
Example #6
0
 def __init__(self, device_bank_registry=None, banking_info=None, delete_handler=None, track_list_component=None, *a, **k):
     assert banking_info is not None
     assert device_bank_registry is not None
     assert track_list_component is not None
     self._flattened_chain = FlattenedDeviceChain(collect_devices)
     self._track_decorator = DecoratorFactory()
     self._modes = NullModes()
     self.move_device = None
     super(DeviceNavigationComponent, self).__init__(item_provider=self._flattened_chain, *a, **k)
     self._delete_handler = delete_handler
     self.chain_selection = ChainSelectionComponent(parent=self, is_enabled=False)
     self.bank_selection = BankSelectionComponent(bank_registry=device_bank_registry, banking_info=banking_info, device_options_provider=self._device_component, is_enabled=False, parent=self)
     self.move_device = MoveDeviceComponent(parent=self, is_enabled=False)
     self._last_pressed_button_index = -1
     self._selected_on_previous_press = None
     self._modes = ModesComponent(parent=self)
     self._modes.add_mode('default', [
      partial(self.chain_selection.set_parent, None),
      partial(self.bank_selection.set_device, None)])
     self._modes.add_mode('chain_selection', [self.chain_selection])
     self._modes.add_mode('bank_selection', [self.bank_selection])
     self._modes.selected_mode = 'default'
     self.register_disconnectable(self._flattened_chain)
     self.__on_items_changed.subject = self
     self.__on_bank_selection_closed.subject = self.bank_selection
     self._update_selected_track()
     self._track_list = track_list_component
     watcher = self.register_disconnectable(DeviceChainStateWatcher(device_navigation=self))
     self.__on_device_item_state_changed.subject = watcher
     self._update_device()
     self._update_button_colors()
     return
Example #7
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_track_assign_button_modes(self):
     self._background = BackgroundComponent(name='Background')
     self._modes = ModesComponent(name='Track_Assign_Button_Modes', is_enabled=False)
     self._modes.add_mode('mute', [
      ExtendComboElementMode(combo_pairs=zip(self._elements.mute_buttons_raw, self._elements.track_assign_buttons_raw)),
      AddLayerMode(self._mixer, Layer(mute_color_controls='track_assign_color_controls'))])
     self._modes.add_mode('solo', [
      ExtendComboElementMode(combo_pairs=zip(self._elements.solo_buttons_raw, self._elements.track_assign_buttons_raw)),
      AddLayerMode(self._mixer, Layer(solo_color_controls='track_assign_color_controls'))])
     self._modes.add_mode('rec_arm', [
      ExtendComboElementMode(combo_pairs=zip(self._elements.arm_buttons_raw, self._elements.track_assign_buttons_raw)),
      AddLayerMode(self._mixer, Layer(arm_color_controls='track_assign_color_controls'))])
     self._modes.add_mode('clip_stop', [
      ExtendComboElementMode(combo_pairs=zip(self._elements.clip_stop_buttons_raw, self._elements.track_assign_buttons_raw)),
      AddLayerMode(self._session, Layer(stop_clip_color_controls='track_assign_color_controls'))])
     self._modes.add_mode('shift', [
      AddLayerMode(self._transport, Layer(metronome_color_control='track_assign_color_controls_raw[4]', clip_trigger_quantization_color_controls='physical_track_color_controls')),
      AddLayerMode(self._clip_actions, Layer(quantize_color_control='track_assign_color_controls_raw[0]')),
      LayerMode(self._background, Layer(button1='track_assign_color_controls_raw[1]', button2='track_assign_color_controls_raw[2]', button3='track_assign_color_controls_raw[3]', button5='track_assign_color_controls_raw[5]', button6='track_assign_color_controls_raw[6]', button7='track_assign_color_controls_raw[7]'))], behaviour=MomentaryBehaviour())
     self._modes.add_mode('assign_a', [
      AddLayerMode(self._mixer, Layer(assign_a_buttons='track_assign_buttons', assign_a_color_controls='track_assign_color_controls'))], behaviour=MomentaryBehaviour())
     self._modes.add_mode('assign_b', [
      AddLayerMode(self._mixer, Layer(assign_b_buttons='track_assign_buttons', assign_b_color_controls='track_assign_color_controls'))], behaviour=MomentaryBehaviour())
     self._modes.layer = Layer(mute_button='mute_button', solo_button='solo_button', rec_arm_button='rec_arm_button', clip_stop_button='clip_stop_button', shift_button='shift_button', assign_a_button='assign_a_button', assign_b_button='assign_b_button')
     self._modes.selected_mode = 'clip_stop'
Example #9
0
 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'
Example #10
0
 def _setup_modes(self):
     self._button_modes = ModesComponent(name='Button_Modes')
     self._button_modes.add_mode('looper', [
         self._looper, self._viewcontrol, self._recorder, self._delete_clip
     ])
     self._button_modes.selected_mode = 'looper'
     self._button_modes.set_enabled(True)
Example #11
0
 def _create_note_modes(self):
     self._drum_group = DrumGroupComponent(
         name='Drum_Group',
         is_enabled=False,
         translation_channel=DRUM_FEEDBACK_CHANNEL,
         layer=Layer(matrix='drum_pads',
                     scroll_up_button='left_button',
                     scroll_down_button='right_button',
                     scroll_page_up_button='up_button',
                     scroll_page_down_button='down_button'))
     self._scale_pad_translator = ConfigurablePlayableComponent(
         SCALE_FEEDBACK_CHANNEL,
         name='Scale_Pads',
         is_enabled=False,
         layer=Layer(matrix='scale_pads'))
     self._note_modes = ModesComponent(name='Note_Modes', is_enabled=False)
     self._note_modes.add_mode(
         'scale', (self._scale_pad_translator,
                   AddLayerMode((self._background),
                                layer=Layer(up_button='up_button',
                                            down_button='down_button',
                                            left_button='left_button',
                                            right_button='right_button'))))
     self._note_modes.add_mode('drum', self._drum_group)
     self._note_modes.selected_mode = 'scale'
     self._Launchpad_X__on_note_mode_changed.subject = self._note_modes
Example #12
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'
Example #13
0
 def _create_user_assignments_mode(self):
     self._translating_background = TranslatingBackgroundComponent(midi.USER_CHANNEL, name=b'Translating_Background', is_enabled=False, add_nop_listeners=True, layer=Layer(note_repeat_button=b'note_repeat_button', full_level_button=b'full_level_button', bank_button=b'bank_button', preset_button=b'preset_button', show_hide_button=b'show_hide_button', nudge_button=b'nudge_button', set_loop_button=b'set_loop_button', setup_button=b'setup_button', up_button=b'up_button', down_button=b'down_button', left_button=b'left_button', right_button=b'right_button', select_button=b'select_button', click_button=b'click_button', record_button=b'record_button', play_button=b'play_button', stop_button=b'stop_button', pads=b'pads', encoders=b'encoders'))
     self._top_level_modes = ModesComponent(name=b'Top_Level_Modes', is_enabled=False, support_momentary_mode_cycling=False, layer=Layer(cycle_mode_button=b'editor_button'))
     self._top_level_modes.add_mode(b'default', self.refresh_state, cycle_mode_button_color=b'DefaultButton.Off')
     self._top_level_modes.add_mode(b'user', self._translating_background, cycle_mode_button_color=b'DefaultButton.On')
     self._top_level_modes.selected_mode = b'default'
     self._top_level_modes.set_enabled(True)
Example #14
0
 def __init__(self,
              selection=None,
              browser_component=None,
              browser_mode=None,
              browser_hotswap_mode=None,
              insert_left=False,
              *a,
              **k):
     super(CreateDeviceComponent, self).__init__(*a, **k)
     self._selection = selection
     self._add_effect_mode = BrowserAddEffectMode(
         selection=selection,
         browser=self.application.browser,
         application_view=self.application.view,
         insert_left=insert_left)
     self._create_device_modes = ModesComponent(parent=self)
     self._create_device_modes.add_mode(u'create', [
         SetAttributeMode(browser_component, u'do_load_item',
                          self._do_browser_load_item),
         self._add_effect_mode, browser_mode,
         browser_component.reset_load_memory
     ])
     self._create_device_modes.add_mode(
         u'hotswap', [browser_hotswap_mode, browser_mode])
     self._go_to_hotswap_task = self._tasks.add(
         task.sequence(task.delay(1), task.run(self._go_to_hotswap)))
     self._go_to_hotswap_task.kill()
Example #15
0
	def _create_main_mixer_modes(self):

		self._mixer_control = MixerControlComponent(name='Global_Mix_Component', view_model=self._model.mixerView, tracks_provider=self._session_ring, is_enabled=False, layer=Layer(controls='fine_grain_param_controls', volume_button='track_state_buttons_raw[0]', panning_button='track_state_buttons_raw[1]', send_slot_one_button='track_state_buttons_raw[2]', send_slot_two_button='track_state_buttons_raw[3]', send_slot_three_button='track_state_buttons_raw[4]', send_slot_four_button='track_state_buttons_raw[5]', send_slot_five_button='track_state_buttons_raw[6]', cycle_sends_button='track_state_buttons_raw[7]'))
		self._model.mixerView.realtimeMeterData = self._mixer_control.real_time_meter_handlers
		track_mixer_control = TrollMixerControlComponent(script = self, troll_submodes = self._troll_submodes, name='Track_Mix_Component', is_enabled=False, tracks_provider=self._session_ring, layer=Layer(controls='fine_grain_param_controls', scroll_left_button='track_state_buttons_raw[6]', scroll_right_button='track_state_buttons_raw[7]'))
		self._track_mixer_control = track_mixer_control
		#track_mixer_control = TrackMixerControlComponent(name='Track_Mix_Component', is_enabled=False, tracks_provider=self._session_ring, layer=Layer(controls='fine_grain_param_controls', scroll_left_button='track_state_buttons_raw[6]', scroll_right_button='track_state_buttons_raw[7]'))
		routing_control = RoutingControlComponent(is_enabled=False, layer=Layer(monitor_state_encoder='parameter_controls_raw[0]'))
		track_mix_or_routing_chooser = TrackOrRoutingControlChooserComponent(tracks_provider=self._session_ring, track_mixer_component=track_mixer_control, routing_control_component=routing_control, is_enabled=False, layer=Layer(mix_button='track_state_buttons_raw[0]', routing_button='track_state_buttons_raw[1]'))
		self._model.mixerView.trackControlView = track_mix_or_routing_chooser
		self._mix_modes = ModesComponent(is_enabled=False)
		self._mix_modes.add_mode('global', self._mixer_control)
		self._mix_modes.add_mode('track', track_mix_or_routing_chooser)
		self._mix_modes.selected_mode = 'global'
		self._model.mixerSelectView = self._mixer_control
		self._model.trackMixerSelectView = track_mixer_control

		class MixModeBehaviour(ReenterBehaviour):

			def press_immediate(behaviour_self, component, mode):
				if self._is_on_master() and self._mix_modes.selected_mode != 'track':
					self._mix_modes.selected_mode = 'track'
				super(MixModeBehaviour, behaviour_self).press_immediate(component, mode)
			

			def on_reenter(behaviour_self):
				if not self._is_on_master():
					self._mix_modes.cycle_mode()
			

		

		self._main_modes.add_mode('mix', [self._mix_modes, SetAttributeMode(obj=self._note_editor_settings_component, attribute='parameter_provider', value=self._track_parameter_provider)], behaviour=MixModeBehaviour())
Example #16
0
 def _create_launch_modes(self):
     self._scene_list = SceneListComponent(name=b'Expanded_Scene_Launch',
                                           session_ring=self._session_ring,
                                           num_scenes=16)
     self._launch_modes = ModesComponent(name=b'Launch_Modes')
     self._launch_modes.add_mode(b'clip_launch', [
         partial(self._elements.launch_mode_switch.send_value, 0),
         ExtendComboElementMode(combo_pairs=zip(
             chain(*self._elements.clip_launch_buttons_raw),
             chain(*self._elements.physical_clip_launch_buttons_raw))),
         ExtendComboElementMode(combo_pairs=zip(
             chain(*self._elements.clip_color_controls_raw),
             chain(*self._elements.physical_clip_color_controls_raw)))
     ],
                                 cycle_mode_button_color=b'Mode.Off')
     if not self.is_force:
         self._launch_modes.add_mode(b'scene_launch', [
             partial(self._elements.launch_mode_switch.send_value, 1),
             LayerMode(
                 self._scene_list,
                 Layer(scene_launch_buttons=b'mpc_scene_launch_buttons',
                       scene_color_controls=b'mpc_scene_color_controls'))
         ],
                                     cycle_mode_button_color=b'Mode.On')
         self._launch_modes.layer = Layer(
             cycle_mode_button=b'xyfx_button' if self._product_id ==
             MPC_X_PRODUCT_ID else b'sixteen_level_button')
     self._launch_modes.selected_mode = b'clip_launch'
Example #17
0
 def _setup_modes(self):
     self._button_modes = ModesComponent(name='Button_Modes')
     self._button_modes.add_mode('launcher', self._launcher)
     self._button_modes.add_mode('looper', self._looper)
     self._button_modes.add_mode('device', self._device_control)
     self._button_modes.selected_mode = 'looper'
     self._button_modes.set_enabled(True)
 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'
Example #19
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)
Example #20
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
Example #21
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'
 def _create_record_modes(self):
     self._session_record = SessionRecordingComponent(name='Session_Record',
       is_enabled=False,
       layer=Layer(record_button='record_button'))
     self._record_modes = ModesComponent(name='Record_Modes')
     self._record_modes.add_mode('session', EnablingMode(self._session_record))
     self._record_modes.add_mode('arrange', AddLayerMode((self._transport), layer=Layer(record_button='record_button')))
     self._Oxygen_Pro__on_main_view_changed()
 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'
Example #24
0
	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'
Example #25
0
 def _setup_modswitcher(self):
     self._modswitcher = ModesComponent(name='ModSwitcher')
     self._modswitcher.add_mode('mod', [
         self.modhandler, self._device,
         DelayMode(self.modhandler.update, delay=.5)
     ])
     self._modswitcher.add_mode('translations', [self._translations])
     self._modswitcher.selected_mode = 'translations'
     self._modswitcher.set_enabled(False)
Example #26
0
	def _setup_modes(self):

		self._main_modes = ModesComponent(name = 'MainModes')
		self._main_modes.add_mode('disabled', [self._background])
		self._main_modes.add_mode('Mix', [self._mixer, self._session, self._session.stop_clips_layer, self._session.clip_launch_layer, self._session.scene_launch_layer, self._session_navigation, self._session_navigation.scroll_navigation_layer])
		self._main_modes.add_mode('Instrument', [self._instrument])
		self._main_modes.selected_mode = 'disabled'
		self._main_modes.layer = Layer(priority = 5, Mix_button = self._shift_l, Instrument_button = self._shift_r)
		self._main_modes.set_enabled(True)
Example #27
0
 def __init__(self, *a, **k):
     super(OhmModHandler, self).__init__(*a, **k)
     self._shift_mode = ModesComponent()
     self._color_type = 'RGB'
     self._shift_mode.add_mode(
         'shift',
         tuple([self._enable_shift, self._disable_shift]),
         behaviour=CancellableBehaviourWithRelease())
     self.nav_box = NavigationBox(self, 16, 16, 8, 8, self.set_offset)
     self._mod_button = None
Example #28
0
	def _setup_modswitcher(self):
		self._modswitcher = ModesComponent(name = 'ModSwitcher')
		self._modswitcher.add_mode('mod', [self.modhandler, self._mod_shift_modes])
		self._modswitcher.add_mode('special_device', [self._special_device, self._mixer, self._mixer._select_layer, self._main_shift_modes])
		self._modswitcher.selected_mode = 'special_device'
		self._modswitcher.set_enabled(False)

		self._mod_shift_modes.add_mode('disabled', [self.modhandler.keys_layer], cycle_mode_button_color = 'Mod.ShiftOff')
		self._mod_shift_modes.add_mode('enabled', [self.modhandler.code_keys_layer, self.modhandler.code_buttons_layer, tuple([self._send_mod_shift, self._release_mod_shift])], cycle_mode_button_color = 'Mod.ShiftOn')
		self._mod_shift_modes.selected_mode = 'disabled'
Example #29
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()
 def _create_takeover_modes(self):
     self._takeover_modes = ModesComponent(name='Takeover_Modes',
       is_enabled=False,
       layer=Layer(daw_button='daw_mode_button', preset_button='preset_mode_button'))
     self._takeover_modes.add_mode('daw', self._select_knob_mode)
     self._takeover_modes.add_mode('preset', (
      self._select_knob_mode,
      AddLayerMode((self._background),
        layer=Layer(faders='faders', knobs='knobs'))))
     self._takeover_modes.selected_mode = 'daw'
     self._takeover_modes.set_enabled(True)