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
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)
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
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
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_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) return None 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) return encoder_modes = ModesComponent(name='Track_Control_Modes', is_enabled=False) encoder_modes.add_mode('pan', [set_pan_controls]) encoder_modes.add_mode('send_a', [partial(set_send_controls, 0)]) encoder_modes.add_mode('send_b', [partial(set_send_controls, 1)]) encoder_modes.add_mode('send_c', [partial(set_send_controls, 2)]) encoder_modes.selected_mode = '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='Global_Translations')
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
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)
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
def _create_encoder_modes(self): knob_modes = ModesComponent(name='Knob Modes', is_enabled=False) parameter_knobs_matrix = self.wrap_matrix(self._parameter_knobs) send_toggle_component = SendToggleComponent(self._mixer, name='Toggle Send', is_enabled=False, layer=Layer(toggle_button=self._send_button, priority=1)) 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)), send_toggle_component]) 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) return knob_modes
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
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, ) return track_button_modes