Esempio n. 1
0
  def _init_matrix_modes(self):
    """ Switch between Session and StepSequencer modes """
    
 
 
   
    """here we go trying to switch.... lew  05:53   21/10/17"""
    
    self._auto_arm = AutoArmComponent(name='Auto_Arm')
    
    self._drum_group_finder = DrumGroupFinderComponent()
    self._on_drum_group_changed.subject = self._drum_group_finder
    
    
    self._drum_modes = ModesComponent(name='Drum_Modes', is_enabled=False)
    self._drum_modes.add_mode('sequencer', self._step_sequencer)   
    self._drum_modes.add_mode('64pads', self._drum_component)                                     # added 15:18 subday 22/10/17     can maybe look into this. causes issues when trying to scroll.(drumcomp1)
    
    self._drum_modes.selected_mode = 'sequencer'
   
    self._note_modes = ModesComponent(name='Note_Modes')#, is_enabled=False)
    self._note_modes.add_mode('drums', [self._note_repeat_enabler, self._drum_modes])
    self._drum_modes.selected_mode = 'sequencer'
    self._note_modes.add_mode('looper', self._audio_loop if consts.PROTO_AUDIO_NOTE_MODE else self._matrix_background)
    self._note_modes.add_mode('instrument', [self._note_repeat_enabler, self._instrument])
    self._note_modes.add_mode('disabled', self._matrix_background)
    self._note_modes.selected_mode = 'disabled'    
    self._note_modes.set_enabled(False)
    
    
    
    def switch_note_mode_layout():
      self._matrix_modes.selected_mode = 'note'

      if self._note_modes.selected_mode == 'instrument':
        getattr(self._instrument, 'cycle_mode', nop)()
      elif self._note_modes.selected_mode == 'drums':
        getattr(self._drum_modes, 'cycle_mode', nop)()    
    
    
    self._matrix_modes = ModesComponent(name='Matrix_Modes', is_root=True)
    self._matrix_modes.add_mode('session', self._session_mode_layers())
    self._matrix_modes.add_mode('note', [self._drum_group_finder, self._view_control, self._note_modes],behaviour=self._auto_arm.auto_arm_restore_behaviour(ReenterBehaviour, on_reenter=switch_note_mode_layout))
    
    self._matrix_modes.selected_mode = 'note'
    self._matrix_modes.layer = Layer(session_button=self._pan_button, note_button=self._user_button)
    
    self._on_matrix_mode_changed.subject = self._matrix_modes   
    self._matrix_modes.selected_mode = 'note'
Esempio n. 2
0
 def _create_controls(self):
     self.log(
         '_create_controls: dynamic: ' + str(self._dynamic) +
         ', function: ' + str(self._enable_function), True)
     if not self._dynamic:
         self._track_left = 105
         self._track_right = 106
         self._device_toggle = 107
     elif not self._enable_function:
         self._device_toggle = 105
         self._track_fold = 106
         self._device_lock = 106
         self._bank_up = 107
         self._bank_down = 108
     self.log('left: ' + str(self._track_left) + ', right: ' +
              str(self._track_right) + ', toggle: ' +
              str(self._device_toggle) + ', user_custom: ' +
              str(self._user_custom))
     if self._dynamic:
         if self._user_custom:
             self._bcr_controls.connect(self._toggle_1, self._toggle_2,
                                        self._toggle_3, self._toggle_4)
         else:
             self._bcr_controls.connect()
     self._modes = ModesComponent()
     self._create_our_controls()
     self._create_mixer()
     self._create_session()
     self._create_device()
     self._create_transport()
 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 = self.register_component(ModesComponent())
     self._create_device_modes.add_mode('create', [
         SetAttributeMode(browser_component, '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(
         '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()
    def _create_global_control(self):
        def set_pan_controls():
            for index, control in enumerate(self._global_param_controls):
                self._mixer.channel_strip(index).set_pan_control(control)
                self._mixer.channel_strip(index).set_send_controls(
                    (None, None, None))
                control.set_channel(0)

        def set_send_controls(send_index):
            for index, control in enumerate(self._global_param_controls):
                self._mixer.channel_strip(index).set_pan_control(None)
                send_controls = [None] * 3
                send_controls[send_index] = control
                self._mixer.channel_strip(index).set_send_controls(
                    send_controls)
                control.set_channel(send_index + 1)

        encoder_modes = ModesComponent(name=u'Track_Control_Modes',
                                       is_enabled=False)
        encoder_modes.add_mode(u'pan', [set_pan_controls])
        encoder_modes.add_mode(u'send_a', [partial(set_send_controls, 0)])
        encoder_modes.add_mode(u'send_b', [partial(set_send_controls, 1)])
        encoder_modes.add_mode(u'send_c', [partial(set_send_controls, 2)])
        encoder_modes.selected_mode = u'pan'
        encoder_modes.layer = Layer(pan_button=self._global_bank_buttons[0],
                                    send_a_button=self._global_bank_buttons[1],
                                    send_b_button=self._global_bank_buttons[2],
                                    send_c_button=self._global_bank_buttons[3])
        self._translation_selector = ChannelTranslationSelector(
            name=u'Global_Translations')
 def _create_mixer(self):
     self._mixer = MixerComponent(NUM_TRACKS,
       auto_name=True,
       is_enabled=False,
       invert_mute_feedback=True,
       layer=Layer(volume_controls=(self._volume_controls),
       arm_buttons=(self._arm_buttons),
       solo_buttons=(self._solo_buttons),
       mute_buttons=(self._mute_buttons),
       shift_button=(self._shift_button),
       track_select_buttons=(self._select_buttons),
       prehear_volume_control=(self._prehear_control),
       crossfader_control=(self._crossfader_control),
       crossfade_buttons=(self._crossfade_buttons)))
     self._mixer.master_strip().layer = Layer(volume_control=(self._master_volume_control),
       select_button=(self._master_select_button))
     self._encoder_mode = ModesComponent(name='Encoder_Mode', is_enabled=False)
     self._encoder_mode.default_behaviour = ImmediateBehaviour()
     self._encoder_mode.add_mode('pan', [AddLayerMode(self._mixer, Layer(pan_controls=(self._mixer_encoders)))])
     self._encoder_mode.add_mode('sends', [
      AddLayerMode(self._mixer, Layer(send_controls=(self._mixer_encoders))),
      DelayMode(AddLayerMode(self._mixer, Layer(send_select_buttons=(self._send_select_buttons))))])
     self._encoder_mode.add_mode('user', [AddLayerMode(self._mixer, Layer(user_controls=(self._mixer_encoders)))])
     self._encoder_mode.layer = Layer(pan_button=(self._pan_button),
       sends_button=(self._sends_button),
       user_button=(self._user_button))
     self._encoder_mode.selected_mode = 'pan'
 def __init__(self, *a, **k):
     super(InstrumentScalesComponent, self).__init__(*a, **k)
     self._key_center_slots = self.register_slot_manager()
     self._key_center_buttons = []
     self._encoder_touch_button_slots = self.register_slot_manager()
     self._encoder_touch_buttons = []
     self._top_key_center_buttons = None
     self._bottom_key_center_buttons = None
     self._absolute_relative_button = None
     self._diatonic_chromatic_button = None
     table = consts.MUSICAL_MODES
     self._modus_list = [
         Modus(table[k], table[k + 1])
         for k in xrange(0, len(consts.MUSICAL_MODES), 2)
     ]
     self._selected_modus = 0
     self._line_sources = recursive_map(DisplayDataSource,
                                        SCALES_DISPLAY_STRINGS)
     self._presets = self.register_component(InstrumentPresetsComponent())
     self._presets.set_enabled(False)
     self._presets_modes = self.register_component(ModesComponent())
     self._presets_modes.add_mode('disabled', None)
     self._presets_modes.add_mode('enabled', self._presets,
                                  'Scales.PresetsEnabled')
     self._presets_modes.selected_mode = 'disabled'
     self._presets_modes.momentary_toggle = True
     self._presets.selected_mode = 'scale_p4_vertical'
     self._scales_info = self.register_component(ScalesInfoComponent())
     self._scales_info.set_enabled(True)
     self._modus_scroll = self.register_component(ScrollComponent())
     self._modus_scroll.scrollable = self
     self._update_data_sources()
Esempio n. 7
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)
Esempio n. 8
0
 def _create_encoder_modes(self):
     knob_modes = ModesComponent(name=u'Knob Modes', is_enabled=False)
     parameter_knobs_matrix = self.wrap_matrix(self._parameter_knobs)
     send_toggle_component = SendToggleComponent(
         self._mixer,
         name=u'Toggle Send',
         is_enabled=False,
         layer=Layer(toggle_button=self._send_button, priority=1))
     knob_modes.add_mode(
         u'volume',
         AddLayerMode(self._mixer,
                      Layer(volume_controls=parameter_knobs_matrix)))
     knob_modes.add_mode(
         u'pan',
         AddLayerMode(self._mixer,
                      Layer(pan_controls=parameter_knobs_matrix)))
     knob_modes.add_mode(u'send', [
         AddLayerMode(self._mixer,
                      Layer(send_controls=parameter_knobs_matrix)),
         send_toggle_component
     ])
     knob_modes.add_mode(
         u'device',
         AddLayerMode(self._device,
                      Layer(parameter_controls=parameter_knobs_matrix)))
     knob_modes.selected_mode = u'volume'
     knob_modes.layer = Layer(volume_button=self._volume_button,
                              pan_button=self._pan_button,
                              send_button=self._send_button,
                              device_button=self._device_button)
     return knob_modes
Esempio n. 9
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 = self.register_component(NavigationBox(self, 16, 16, 8, 8, self.set_offset))
		self._mod_button = None
 def _create_encoder_modes(self):
     knob_modes = ModesComponent(name='Knob Modes', is_enabled=False)
     parameter_knobs_matrix = self.wrap_matrix(self._parameter_knobs)
     knob_modes.add_mode(
         'volume',
         AddLayerMode(self._mixer,
                      Layer(volume_controls=parameter_knobs_matrix)))
     knob_modes.add_mode(
         'pan',
         AddLayerMode(self._mixer,
                      Layer(pan_controls=parameter_knobs_matrix)))
     knob_modes.add_mode('send', [
         AddLayerMode(self._mixer,
                      Layer(send_controls=parameter_knobs_matrix)),
         DelayMode(LayerMode(
             SendToggleComponent(
                 self._mixer, name='Toggle Send', is_enabled=False),
             Layer(priority=MODE_PRIORITY,
                   toggle_button=self._send_button)),
                   delay=TIMER_DELAY)
     ])
     knob_modes.add_mode(
         'device',
         AddLayerMode(self._device,
                      Layer(parameter_controls=parameter_knobs_matrix)))
     knob_modes.selected_mode = 'volume'
     knob_modes.layer = Layer(volume_button=self._volume_button,
                              pan_button=self._pan_button,
                              send_button=self._send_button,
                              device_button=self._device_button)
     knob_modes.layer.priority = MODE_PRIORITY
Esempio n. 11
0
    def _init_matrix_modes(self):
        """ Switch between Session and StepSequencer modes """
        """here we go trying to switch.... lew  05:53   21/10/17"""

        self._auto_arm = AutoArmComponent(name='Auto_Arm')

        self._matrix_modes = ModesComponent(name='Matrix_Modes', is_root=True)
        self._matrix_modes.default_behaviour = ImmediateBehaviour()
        self._matrix_modes.add_mode(
            'disable',
            [self._matrix_background, self._background, self._mod_background])
        self._matrix_modes.add_mode('sends', self._session_mode_layers())

        self._matrix_modes.add_mode('user', self._user_mode_layers())
        self._matrix_modes.add_mode('user2', self._user2_mode_layers())

        self._matrix_modes.add_mode('session', self._session_mode_layers())

        #self._matrix_modes.add_mode('user', [self._user_modes], behaviour=CustomReenterBehaviour(on_reenter=self.switch_note_mode_layout, on_enter=self.enter_note_mode_layout))

        #self._matrix_modes.add_mode('user', [self._drum_group_finder, self._view_control, self._user_modes],
        #                           behaviour=self._auto_arm.auto_arm_restore_behaviour(ReenterBehaviour,
        #                                                                               on_reenter=self.switch_note_mode_layout))

        self._matrix_modes.layer = Layer(session_button=self._pan_button,
                                         sends_button=self._sends_button,
                                         user_button=self._user_button,
                                         user2_button=self._metronome_button)

        self._on_matrix_mode_changed.subject = self._matrix_modes
        self._matrix_modes.selected_mode = 'session'
 def _create_track_button_modes(self):
     track_button_modes = ModesComponent(name='Track Button Modes',
                                         is_enabled=False)
     select_button_matrix = self.wrap_matrix(self._select_buttons)
     track_button_modes.add_mode(
         'clip_stop',
         AddLayerMode(self._session,
                      Layer(stop_track_clip_buttons=select_button_matrix)))
     track_button_modes.add_mode(
         'solo',
         AddLayerMode(self._mixer,
                      layer=Layer(solo_buttons=select_button_matrix)))
     track_button_modes.add_mode(
         'arm',
         AddLayerMode(self._mixer,
                      layer=Layer(arm_buttons=select_button_matrix)))
     track_button_modes.add_mode(
         'mute',
         AddLayerMode(self._mixer,
                      layer=Layer(mute_buttons=select_button_matrix)))
     track_button_modes.add_mode(
         'select',
         AddLayerMode(
             self._mixer,
             layer=Layer(track_select_buttons=select_button_matrix)))
     track_button_modes.selected_mode = 'clip_stop'
     track_button_modes.layer = Layer(clip_stop_button=self._stop_button,
                                      solo_button=self._solo_button,
                                      arm_button=self._arm_button,
                                      mute_button=self._mute_button,
                                      select_button=self._select_button)
Esempio n. 13
0
    def _create_mixer(self):
        mixer = MixerComponent(NUM_TRACKS, is_enabled=True, auto_name=True)
        mixer.layer = Layer(track_select_buttons=self._select_buttons,
                            send_controls=self._send_encoders,
                            next_sends_button=self._down_button,
                            prev_sends_button=self._up_button,
                            pan_controls=self._pan_device_encoders,
                            volume_controls=self._volume_faders,
                            send_lights=self._send_encoder_lights,
                            pan_lights=self._pan_device_encoder_lights)
        mixer.on_send_index_changed = partial(
            self._show_controlled_sends_message, mixer)
        for channel_strip in map(mixer.channel_strip, xrange(NUM_TRACKS)):
            channel_strip.empty_color = 'Mixer.NoTrack'

        mixer_modes = ModesComponent()
        mixer_modes.add_mode(
            'mute',
            [AddLayerMode(mixer, Layer(mute_buttons=self._state_buttons))])
        mixer_modes.add_mode(
            'solo',
            [AddLayerMode(mixer, Layer(solo_buttons=self._state_buttons))])
        mixer_modes.add_mode(
            'arm',
            [AddLayerMode(mixer, Layer(arm_buttons=self._state_buttons))])
        mixer_modes.layer = Layer(mute_button=self._mute_mode_button,
                                  solo_button=self._solo_mode_button,
                                  arm_button=self._arm_mode_button)
        mixer_modes.selected_mode = 'mute'
        return mixer
Esempio n. 14
0
	def __init__(self, script, *a, **k):
		super(MonoScaleComponent, self).__init__(*a, **k)
		self._script = script
		self._matrix = None
		self._setup_selected_session_control()
		self._touchstrip = None

		self._display = MonoScaleDisplayComponent(self)
		self._display.set_enabled(False)

		self._scales_modes = self.register_component(ModesComponent())
		self._scales_modes.add_mode('disabled', None)
		self._scales_modes.add_mode('enabled', self._display, 'DefaultButton.On')
		self._scales_modes.selected_mode = 'disabled'

		self._offsets = [{'offset':DEFAULT_OFFSET, 'vertoffset':DEFAULT_VERTOFFSET, 'drumoffset':DEFAULT_DRUMOFFSET, 'scale':DEFAULT_SCALE, 'split':DEFAULT_SPLIT} for index in range(16)]

		self._split_mode_selector = SplitModeSelector(self._split_mode_value)

		self._vertical_offset_component = ScrollingOffsetComponent(self._vertical_offset_value)

		self._offset_component = ScrollingOffsetComponent(self._offset_value)
		self._offset_component._shifted_value = 11
		self._shift_is_momentary = OFFSET_SHIFT_IS_MOMENTARY

		self._scale_offset_component = ScrollingOffsetComponent(self._scale_offset_value)
		self._scale_offset_component._minimum = 0
		self._scale_offset_component._maximum = len(SCALES.keys())-1
 def _create_mixer(self):
     mixer_volume_layer = None
     if self._is_25_key_model:
         mixer_volume_layer = Layer(volume_control=self._25_key_slider)
     else:
         mixer_volume_layer = Layer(volume_controls=self._sliders)
     self._mixer = MixerComponent(is_enabled=False,
                                  name='Mixer',
                                  num_tracks=self._sliders.width(),
                                  layer=mixer_volume_layer)
     if not self._is_25_key_model:
         self._mixer.master_strip().layer = Layer(
             volume_control=self._master_slider)
     self._mixer.set_enabled(True)
     self._mute_button_modes = ModesComponent()
     mute_mode = AddLayerMode(self._mixer,
                              Layer(mute_buttons=self._mute_buttons))
     solo_mode = AddLayerMode(self._mixer,
                              Layer(solo_buttons=self._mute_buttons))
     self._mute_button_modes.add_mode('mute_mode', mute_mode)
     self._mute_button_modes.add_mode('solo_mode',
                                      solo_mode,
                                      behaviour=CancellableBehaviour())
     self._mute_button_modes.layer = Layer(
         solo_mode_button=self._master_button)
     self._mute_button_modes.selected_mode = 'mute_mode'
     self._mute_button_modes.set_enabled(True)
Esempio n. 16
0
    def __init__(self, control_surface, drum_component=None, *a, **k):

        self._control_surface = control_surface
        self._drum_component = drum_component
        self._implicit_arm = True
        self._modes = ModesComponent(name='Instrument_Modes', is_enabled=False)
        self._modes.set_enabled = self.set_enabled
        self._feedback_channels = [
            consts.DR_MAP_CHANNEL, consts.DR_MAP_CHANNEL + 1,
            consts.DR_MAP_CHANNEL + 2, consts.DR_MAP_CHANNEL + 3,
            consts.DR_MAP_CHANNEL + 4
        ]
        self._non_feedback_channel = consts.DR_MAP_CHANNEL + 5

        self._common_component = CommonModeComponent(
            instrument_component=self, control_surface=self._control_surface)
        self._scale_component = ScaleComponent(
            control_surface=self._control_surface, enabled=True)
        self._note_component = NoteComponent(
            control_surface=self._control_surface,
            feedback_channels=self._feedback_channels,
            non_feedback_channel=self._non_feedback_channel,
            get_pattern=self._scale_component.get_pattern)

        super(InstrumentComponent, self).__init__(*a, **k)
Esempio n. 17
0
	def __init__(self, *a, **k):
		super(PushMonomodComponent, self).__init__(*a, **k)
		self._buttons = None
		self._shift = None
		self._is_modlocked = False
		self._nav_up_button = None
		self._nav_down_button = None
		self._nav_right_button = None
		self._nav_left_button = None
		self._nav_locked = False
		self.nav_buttons_layer = None
		self.is_push = True
		self._device_component = None
		for index in range(16):
			self._color_maps[index][1:8] = [3, 85, 33, 95, 5, 21, 67]
			self._color_maps[index][127] = 67

		self._alt_display = MonomodDisplayComponent(self, [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '], [' ', ' ', ' ', ' ', 'Display', 'Mute', 'Enable', 'Select'])
		self._shift_display = MonomodDisplayComponent(self, ['ModLock', ' ', ' ', ' ', ' ', ' ', 'Channel', 'Name'], [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '])

		self._shift_modes = self.register_component(ModesComponent())
		self._shift_modes.add_mode('disabled', None)
		self._shift_modes.add_mode('alt', self._alt_display, groups = 'alt', behaviour = ModShiftBehaviour())
		self._shift_modes.add_mode('shift', self._shift_display, groups = 'shift', behaviour = ModShiftBehaviour())
		self._shift_modes.selected_mode = 'disabled'

		self._shift_display.set_value_string(self._is_modlocked, 0)
Esempio n. 18
0
 def _setup_modes(self):
     super(AumTroll, self)._setup_modes()
     self._alt_shift_mode = ModesComponent()
     self._alt_shift_mode.add_mode(
         'alt_shift',
         tuple([self._enable_alt_shift, self._disable_alt_shift]),
         behaviour=CancellableBehaviourWithRelease())
     self._alt_shift_mode.set_mode_button('alt_shift', self._grid[15])
Esempio n. 19
0
 def _create_mode_selector(self):
     self._mode_selector = ModesComponent()
     mode_selection = LayerMode(self._encoder_modes, Layer(device_mode_button=self._device_mode_button, pan_mode_button=self._pan_mode_button, **self._send_mode_buttons))
     device_navigation = AddLayerMode(self._device, Layer(device_nav_left_button=self._track_left_button, device_nav_right_button=self._track_right_button))
     self._mode_selector.add_mode(u'mode_selection', [partial(self._toggle_in_control, True), mode_selection, device_navigation], behaviour=MomentaryBehaviour())
     session_control = AddLayerMode(self._session, Layer(clip_launch_buttons=self._top_pad_row))
     self._mode_selector.add_mode(u'session_mode', [partial(self._toggle_in_control, False), session_control])
     self._mode_selector.layer = Layer(mode_selection_button=self._encoder_incontrol_button2)
Esempio n. 20
0
 def _create_delete_component(self):
     self._delete_component = ModesComponent(name='DeleteClipComponent')
     self._delete_component.add_mode('disabled', None)
     self._delete_component.add_mode(
         'enabled',
         [DelayMode(tuple([self._delete_on, self._delete_off]), delay=1.5)])
     self._delete_component.layer = Layer(
         toggle_button=self._selected_scene_launch_button)
     self._delete_component.selected_mode = 'disabled'
 def _create_step_button_modes(self):
     matrix_modes = ModesComponent(name='Step_Button_Modes')
     clip_mode = AddLayerMode(self._session, Layer(clip_launch_buttons=self._step_buttons, stop_track_clip_buttons=self._modified_step_buttons))
     scene_mode = AddLayerMode(self._session, Layer(scene_launch_buttons=self._step_buttons))
     matrix_modes.add_mode('clip', clip_mode)
     matrix_modes.add_mode('scene', scene_mode)
     matrix_modes.layer = Layer(clip_button=self._recall_button, scene_button=self._store_button)
     matrix_modes.selected_mode = 'clip'
     return matrix_modes
Esempio n. 22
0
    def _user2_mode_layers(self):

        self._user_modes = ModesComponent(name='Instrument_Modes',
                                          is_enabled=False)
        #self._user_modes.add_mode('drums', [self._drum_modes])
        self._user_modes.add_mode(
            'instrument', [self._note_repeat_enabler, self._instrument])
        self._user_modes.selected_mode = 'instrument'

        return [self._user_modes, self._view_control,
                self._matrix_background]  # , self._mixer
Esempio n. 23
0
 def _create_session_mode(self): 
   """ Switch between Session and StepSequencer modes """
   self._session_mode = ModesComponent(name='Session_Mode', is_enabled = False)
   self._session_mode.default_behaviour = ImmediateBehaviour()
   self._session_mode.add_mode('session', self._session_mode_layers())
   self._session_mode.add_mode('session_2', self._session_mode_layers())
   self._session_mode.add_mode('sequencer', (self._sequencer, self._sequencer_layer()))
   self._session_mode.layer = Layer(
       session_button = self._pan_button,
       session_2_button = self._sends_button, 
       sequencer_button = self._user_button)
   self._session_mode.selected_mode = "session"
 def __init__(self, num_tracks, mode_layer = None, pan_volume_layer = None, sends_layer = None, *a, **k):
     super(SpecialMixerComponent, self).__init__(num_tracks, *a, **k)
     self.set_enabled(False)
     self._send_controls = None
     self._selected_send_index = 0
     self._modes = self.register_component(ModesComponent())
     self._modes.add_mode('pan_volume', [LayerMode(self, pan_volume_layer)])
     self._modes.add_mode('sends', [LayerMode(self, sends_layer)], behaviour=SendSelectButtonBehaviour(self))
     self._modes.selected_mode = 'pan_volume'
     self._modes.layer = mode_layer
     self._on_visible_tracks.subject = self.song()
     self._on_selected_mixer_mode.subject = self._modes
Esempio n. 25
0
 def __init__(self, selection = None, browser_mode = None, browser_component = None, browser_hotswap_mode = None, *a, **k):
     super(CreateInstrumentTrackComponent, self).__init__(*a, **k)
     self._selection = selection
     self._with_browser_modes = self.register_component(ModesComponent())
     self._with_browser_modes.add_mode('create', [self._prepare_browser,
      SetAttributeMode(self.application().browser, 'filter_type', Live.Browser.FilterType.instrument_hotswap),
      SetAttributeMode(browser_component, 'do_load_item', self._do_browser_load_item),
      browser_mode,
      browser_component.reset_load_memory])
     self._with_browser_modes.add_mode('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()
Esempio n. 26
0
 def _setup_modes(self):
     self._modes = self.register_component(ModesComponent())
     self._modes.add_mode('empty', [ComponentMode(self._empty)])
     self._modes.add_mode('device', [
         ComponentMode(self._device_buttons),
         ComponentMode(self._device),
         ComponentMode(self._background)
     ])
     self._modes.add_mode(
         'menu', [ComponentMode(self._top_menu),
                  ComponentMode(self._menu)])
     self._modes.selected_mode = 'empty'
 def _create_modes(self):
     self._modes = ModesComponent(name='Launchpad_Modes', is_enabled=False)
     self._session_layer_mode = AddLayerMode(
         self._session,
         Layer(scene_launch_buttons=self.
               _midimap['Scene_Launch_Button_Matrix'],
               clip_launch_buttons=self._midimap['Main_Button_Matrix'],
               delete_button=self._midimap['Delete_Button'],
               duplicate_button=self._midimap['Duplicate_Button'],
               double_button=self._midimap['Double_Loop_Button'],
               quantize_button=self._midimap['Quantize_Button']))
     # self._arrangement_layer_mode = AddLayerMode(self._arrangement, Layer(transport_buttons=self._midimap['Scene_Launch_Button_Matrix'], track_buttons=self._midimap['Main_Button_Matrix'], quantize_button=self._midimap['Quantize_Button']))
     action_button_background = BackgroundComponent(name='No_Op_Buttons')
     self._action_button_background_layer_mode = LayerMode(
         action_button_background,
         Layer(delete_button=self._midimap['Delete_Button'],
               quantize_button=self._midimap['Quantize_Button'],
               duplicate_button=self._midimap['Duplicate_Button'],
               double_button=self._midimap['Double_Loop_Button']))
     self._clip_delete_layer_mode = AddLayerMode(
         self._clip_actions_component,
         layer=Layer(delete_button=self._midimap['Delete_Button']))
     self._create_session_zooming_modes()
     self._create_session_mode()
     self._create_note_modes()
     self._create_device_mode()
     # self._create_user_mode()
     self._create_arrangement_mode()
     self._create_record_arm_mode()
     self._create_track_select_mode()
     self._create_mute_mode()
     self._create_solo_mode()
     self._create_volume_mode()
     self._create_pan_mode()
     self._create_sends_mode()
     self._create_stop_clips_mode()
     self._modes.layer = Layer(
         session_mode_button=self._midimap['Session_Mode_Button'],
         note_mode_button=self._midimap['Note_Mode_Button'],
         device_mode_button=self._midimap['Device_Mode_Button'],
         arrangement_mode_button=self._midimap['User_Mode_Button'],
         record_arm_mode_button=self._midimap['Record_Arm_Mode_Button'],
         track_select_mode_button=self._midimap['Track_Select_Mode_Button'],
         mute_mode_button=self._midimap['Mute_Mode_Button'],
         solo_mode_button=self._midimap['Solo_Mode_Button'],
         volume_mode_button=self._midimap['Volume_Mode_Button'],
         pan_mode_button=self._midimap['Pan_Mode_Button'],
         sends_mode_button=self._midimap['Sends_Mode_Button'],
         stop_clip_mode_button=self._midimap['Stop_Clip_Mode_Button'])
     self._modes.selected_mode = 'session_mode'
     self._on_layout_changed.subject = self._modes
     self._create_view_control_component()
Esempio n. 28
0
 def _create_session_switcher(self):
     self._session_switcher = ModesComponent(
         name='SessionSwitcher')  # is_enabled = False)
     self._session_switcher.add_mode('session',
                                     [self._session, self._session_zoom],
                                     toggle_value='DefaultButton.Off')
     self._session_switcher.add_mode('altsession', [
         self._alt_session, self._alt_session_zoom,
         tuple([self._enable_alt_session, self._disable_alt_session])
     ],
                                     toggle_value='DefaultButton.On')
     self._session_switcher.layer = Layer(
         toggle_button=self._detail_toggle_button)
     self._session_switcher.selected_mode = 'session'
 def _init_modes(self):
     self._modes = ModesComponent()
     self._modes.add_mode('mixer', [partial(self._session.set_mixer, self._mixer),
      LayerMode(self._session, self._mixer_track_nav_layer),
      self._mixer,
      self._session,
      self._show_controlled_tracks_message])
     self._modes.add_mode('session', [partial(self._session.set_mixer, self._session_mixer),
      LayerMode(self._session, self._session_layer),
      self._session_mixer,
      self._session,
      self._show_controlled_tracks_message])
     self._modes.add_mode('device', [self._device, self._device_navigation, self._view_control])
     self._modes.add_mode('user', None)
     self._modes.selected_mode = 'mixer'
     self._modes.layer = Layer(mixer_button=ButtonSysexControl(Sysex.MIXER_MODE), session_button=ButtonSysexControl(Sysex.SESSION_MODE), device_button=ButtonSysexControl(Sysex.DEVICE_MODE))
 def __init__(self, *a, **k):
     super(SpecialSessionComponent, self).__init__(*a, **k)
     self._slot_launch_button = None
     self._duplicate_button = None
     self._duplicate, self._duplicate_modes, self._paginator = self.register_components(
         DuplicateSceneComponent(self), ModesComponent(), ScrollComponent())
     self._paginator.can_scroll_up = self._can_scroll_page_up
     self._paginator.can_scroll_down = self._can_scroll_page_down
     self._paginator.scroll_up = self._scroll_page_up
     self._paginator.scroll_down = self._scroll_page_down
     self._duplicate.set_enabled(False)
     self._duplicate_modes.add_mode('disabled', None)
     self._duplicate_modes.add_mode('enabled', self._duplicate)
     self._duplicate_modes.selected_mode = 'disabled'
     self._duplicate_modes.momentary_toggle = True
     self._track_playing_slots = self.register_slot_manager()
     self._end_initialisation()