示例#1
0
    def __init__(self, c_instance):
        ControlSurface.__init__(self, c_instance)

        self._main_modes = NullModes()
        self._element_injector = inject(
            element_container=const(None)).everywhere()
        self._message_injector = inject(message=const(None)).everywhere()
        with self.component_guard():
            with inject(skin=const(skin),
                        message_cache=const(
                            self._sysex_message_cache)).everywhere():
                self._elements = Elements()
        self._element_injector = inject(
            element_container=const(self._elements)).everywhere()
        with self.component_guard():
            self._create_message()
        self._message_injector = inject(
            message=const(self._message)).everywhere()
        self._switch_display_layout(sysex.KNOB_SCREEN_LAYOUT_BYTE)
        self._device_bank_registry = DeviceBankRegistry()
        with self.component_guard():
            self._create_session()
            self._create_mixer()
            self._create_session_recording()
            self._create_auto_arm()
            self._create_track_navigation()
            self._create_device()
            self._create_device_navigation()
            self._create_background()
            self._create_modes()
        return
示例#2
0
 def __init__(self, *a, **k):
     super(ComradeEncoders, self).__init__((), *a, **k)
     self._main_modes = NullModes()
     self._element_injector = inject(element_container=const(None)).everywhere()
     self._message_injector = inject(message=const(None)).everywhere()
     with self.component_guard():
         with inject(skin=const(skin), message_cache=const(self._sysex_message_cache)).everywhere():
             self._elements = Elements()
     self._element_injector = inject(element_container=const(self._elements)).everywhere()
     with self.component_guard():
         self._create_message()
     self._message_injector = inject(message=const(self._message)).everywhere()
     self._switch_display_layout(sysex.KNOB_SCREEN_LAYOUT_BYTE)
     self._device_bank_registry = DeviceBankRegistry()
     with self.component_guard():
         self._create_transport()
         self._create_auto_arm()
         self._create_drums()
         self._create_device()
         self._create_device_navigation()
         self._create_actions()
         self._create_clip_actions()
         self._create_background()
         self._create_modes()
     self._drum_group_finder = self.register_disconnectable(PercussionInstrumentFinder(device_parent=self.song.view.selected_track))
     self.__on_drum_group_found.subject = self._drum_group_finder
     self.__on_drum_group_found()
     self.__on_selected_track_changed.subject = self.song.view
     self.__on_selected_track_changed()
     self.__on_record_mode_changed.subject = self.song
     self.set_feedback_channels([DRUM_FEEDBACK_CHANNEL])
     self._set_feedback_velocity()
示例#3
0
 def _setup_device_control(self):
     self._device = DeviceComponent(
         name='Device_Component',
         device_provider=self._device_provider,
         device_bank_registry=DeviceBankRegistry())
     self._device.layer = Layer(
         parameter_controls=self._parameter_control_matrix)
     self._device.set_enabled(True)
示例#4
0
文件: DS1.py 项目: aumhaa/m4m8
    def _setup_device_control(self):
        self._device = DeviceComponent(
            name='Device_Component',
            device_provider=self._device_provider,
            device_bank_registry=DeviceBankRegistry())

        self._device_navigator = DeviceNavigator(self._device_provider,
                                                 self._mixer, self)
        self._device_navigator.name = 'Device_Navigator'
示例#5
0
	def _setup_special_device_control(self):
		self._special_device = SpecialCodecDeviceComponent(self, device_bank_registry = DeviceBankRegistry(), device_provider = self._device_provider)
		self._special_device.name = 'SpecialCodecDeviceComponent'
		self._is_active_device = True
		self._special_device.layer = Layer(priority = 4, parameter_controls = self._encoder_matrix.submatrix[:,:],
											on_off_button = self._button[1][0],
											bank_prev_button = self._button[4][0],
											bank_next_button = self._button[5][0],
											)
		self._special_device.set_enabled(False)
示例#6
0
	def _setup_device_controls(self):
		self._device = [None for index in range(4)]
		for index in range(4):
			self._device[index] = CodecDeviceComponent(self, index+1, device_bank_registry = DeviceBankRegistry())
			self._device[index].name = 'CodecDevice_Component_' + str(index+1)
			self._device[index].layer = Layer(priority = 4, parameter_controls = self._encoder_matrix.submatrix[:, index],
												on_off_button = self._button[1][index],
												bank_prev_button = self._button[2][index],
												bank_next_button = self._button[3][index],
												)
			self._device[index]._nav_layer = AddLayerMode(self._device[index], Layer(priority = 4, nav_prev_button = self._button[6][index],
																					nav_next_button = self._button[7][index],))
			self._device[index].set_enabled(False)
示例#7
0
    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)
示例#8
0
 def __init__(self, *a, **k):
     (super(SLMkIII, self).__init__)(
         a,
         product_id_bytes=sysex.NOVATION_MANUFACTURER_ID +
         sysex.DEVICE_FAMILY_CODE + sysex.DEVICE_FAMILY_MEMBER_CODE,
         **k)
     self._main_modes = NullModes()
     self._element_injector = inject(
         element_container=(const(None))).everywhere()
     self._message_injector = inject(message=(const(None))).everywhere()
     with self.component_guard():
         with inject(skin=(const(skin)),
                     message_cache=(const(
                         self._sysex_message_cache))).everywhere():
             self._elements = Elements()
     self._element_injector = inject(
         element_container=(const(self._elements))).everywhere()
     with self.component_guard():
         self._create_message()
     self._message_injector = inject(
         message=(const(self._message))).everywhere()
     self._switch_display_layout(sysex.KNOB_SCREEN_LAYOUT_BYTE)
     self._device_bank_registry = DeviceBankRegistry()
     with self.component_guard():
         self._create_session()
         self._create_mixer()
         self._create_transport()
         self._create_session_recording()
         self._create_auto_arm()
         self._create_track_navigation()
         self._create_drums()
         self._create_device()
         self._create_device_navigation()
         self._create_actions()
         self._create_clip_actions()
         self._create_background()
         self._create_modes()
     self._drum_group_finder = self.register_disconnectable(
         PercussionInstrumentFinder(
             device_parent=(self.song.view.selected_track)))
     self._SLMkIII__on_drum_group_found.subject = self._drum_group_finder
     self._SLMkIII__on_drum_group_found()
     self._SLMkIII__on_selected_track_changed.subject = self.song.view
     self._SLMkIII__on_selected_track_changed()
     self._SLMkIII__on_session_record_changed.subject = self.song
     self._SLMkIII__on_record_mode_changed.subject = self.song
     self.set_feedback_channels([DRUM_FEEDBACK_CHANNEL])
     self._set_feedback_velocity()
示例#9
0
 def _setup_device_control(self):
     self._device = SpecialDeviceComponent(
         name='Device_Component',
         device_provider=self._device_provider,
         device_bank_registry=DeviceBankRegistry(),
         script=self)
     self._device.layer = Layer(
         priority=4,
         parameter_controls=self._dial_matrix.submatrix[:, :],
     )
     self._device.bank_layer = AddLayerMode(
         self._device,
         Layer(priority=4,
               bank_prev_button=self._encoder_button[12],
               bank_next_button=self._encoder_button[13]))
     self._device.set_enabled(False)
示例#10
0
 def __init__(self, *a, **k):
     super(MonoChannelStripComponent, self).__init__(*a, **k)
     self._device_provider = ChannelStripStaticDeviceProvider()
     self._device_component = ChannelStripDeviceComponent(
         device_provider=self._device_provider,
         device_bank_registry=DeviceBankRegistry(),
         *a,
         **k)
     self._device_component._show_msg_callback = lambda message: None
     self._track_state = self.register_disconnectable(TrackArmState())
     self._fold_task = self._tasks.add(
         Task.sequence(Task.wait(TRACK_FOLD_DELAY),
                       Task.run(self._do_fold_track))).kill()
     self._on_arm_state_changed.subject = self._track_state
     self._ChannelStripComponent__on_selected_track_changed.subject = None
     self._ChannelStripComponent__on_selected_track_changed = self.__on_selected_track_changed
     self.__on_selected_track_changed.subject = self.song.view
     self.__on_selected_track_changed()
示例#11
0
    def _setup_device_control(self):
        self._device_selection_follows_track_selection = FOLLOW
        self._device = DeviceComponent(
            name='Device_Component',
            device_provider=self._device_provider,
            device_bank_registry=DeviceBankRegistry())
        self._device.layer = Layer(
            priority=4,
            parameter_controls=self._dial_matrix.submatrix[:, 1:3],
        )
        #self._device.mod_layer = AddLayerMode(self._device, Layer(priority = 4, parameter_controls = self._dial_matrix.submatrix[:, 1:3],))
        self._device.main_layer = AddLayerMode(
            self._device,
            Layer(
                priority=4,
                parameter_controls=self._dial_matrix.submatrix[:, 1:3],
                on_off_button=self._encoder_button[4],
                bank_prev_button=self._encoder_button[6],
                bank_next_button=self._encoder_button[7],
            ))
        #lock_button = self._encoder_button[5],
        self._device.set_enabled(False)

        self._device_navigator = DeviceNavigator(self._device_provider,
                                                 self._mixer, self)
        self._device_navigator.name = 'Device_Navigator'
        self._device_navigator.select_dial_layer = AddLayerMode(
            self._device_navigator,
            Layer(
                priority=6,
                device_select_dial=self._encoder[0],
            ))
        self._device_navigator.main_layer = AddLayerMode(
            self._device_navigator,
            Layer(
                priority=4,
                prev_chain_button=self._encoder_button[8],
                next_chain_button=self._encoder_button[9],
                exit_button=self._encoder_button[10],
                enter_button=self._encoder_button[11],
            ))
        self._device_navigator.set_enabled(False)
示例#12
0
    def _setup_device_control(self):
        self._device = OhmDeviceComponent(
            script=self,
            name='Device_Component',
            device_provider=self._device_provider,
            device_bank_registry=DeviceBankRegistry())
        self._device.layer = Layer(priority=5,
                                   parameter_controls=self._parameter_controls)
        self._device.set_enabled(False)

        self._device_navigator = DeviceNavigator(
            self._device_provider,
            self._mixer,
            self,
            name='Device_Navigator',
        )
        self._device_navigator.layer = Layer(priority=5,
                                             prev_button=self._menu[3],
                                             next_button=self._menu[4])
        self._device_navigator.set_enabled(False)
示例#13
0
    def __init__(self, *a, **k):
        super(MonoChannelStripComponent, self).__init__(*a, **k)

        def make_property_slot(name, alias=None):
            alias = alias or name
            return self.register_slot(None,
                                      getattr(self, '_on_%s_changed' % alias),
                                      name)

        self._track_property_slots.append(
            make_property_slot('output_meter_level'))
        self._track_property_slots.append(
            make_property_slot('output_meter_left'))
        self._track_property_slots.append(
            make_property_slot('output_meter_right'))

        # def make_control_slot(name):
        #     return self.register_slot(None, getattr(self, u'_%s_value' % name), u'value')
        self.register_slot(None, getattr(self, '_output_meter_level_value'),
                           'value')
        self.register_slot(None, getattr(self, '_output_meter_left_value'),
                           'value')
        self.register_slot(None, getattr(self, '_output_meter_right_value'),
                           'value')

        self._device_provider = ChannelStripStaticDeviceProvider()
        self._device_component = ChannelStripDeviceComponent(
            device_provider=self._device_provider,
            device_bank_registry=DeviceBankRegistry(),
            *a,
            **k)
        self._device_component._show_msg_callback = lambda message: None
        self._track_state = self.register_disconnectable(TrackArmState())
        self._fold_task = self._tasks.add(
            Task.sequence(Task.wait(TRACK_FOLD_DELAY),
                          Task.run(self._do_fold_track))).kill()
        self._on_arm_state_changed.subject = self._track_state
        self._ChannelStripComponent__on_selected_track_changed.subject = None
        self._ChannelStripComponent__on_selected_track_changed = self.__on_selected_track_changed
        self.__on_selected_track_changed.subject = self.song.view
        self.__on_selected_track_changed()
示例#14
0
文件: Cntrlr.py 项目: thomasf/m4m8
	def _setup_mod_device_control(self):
		self._mod_device = SpecialCntrlrDeviceComponent(script = self, name = 'Device_Component', device_provider = self._device_provider, device_bank_registry = DeviceBankRegistry())
		self._mod_device.layer = Layer(priority = 4, parameter_controls = self._dial_matrix.submatrix[:, :],)
		self._mod_device.set_enabled(False)
示例#15
0
文件: Cntrlr.py 项目: thomasf/m4m8
	def _setup_device_control(self):
		self._device_selection_follows_track_selection = FOLLOW
		self._device = CntrlrDeviceComponent(script = self, name = 'Device_Component', device_provider = self._device_provider, device_bank_registry = DeviceBankRegistry())
		self._device.layer = Layer(priority = 4, parameter_controls = self._dial_matrix.submatrix[:, 1:],
													on_off_button = self._encoder_button[4],
													bank_prev_button = self._encoder_button[8],
													bank_next_button = self._encoder_button[9],)
													#lock_button = self._encoder_button[7])
		self._device.set_enabled(False)

		self._device_navigator = DeviceNavigator(self._device_provider, self._mixer, self)
		self._device_navigator.name = 'Device_Navigator'
		self._device_navigator.layer = Layer(priority = 4,
											prev_button = self._encoder_button[10],
											next_button = self._encoder_button[11],)
		self._device_navigator.set_enabled(False)