コード例 #1
0
 def __init__(self, *a, **k):
     super(OperatorDeviceDecorator, self).__init__(*a, **k)
     self._osc_types_provider = NotifyingList(available_values=[
      'A', 'B', 'C', 'D'], default_value=OscillatorType.a)
     self._env_feature_provider = NotifyingList(available_values=[
      'Time', 'Level'], default_value=EnvelopeFeature.time)
     self._sloped_env_feature_provider = NotifyingList(available_values=[
      'Time', 'Slope', 'Level'], default_value=SlopedEnvelopeFeature.time)
     self.__on_parameters_changed.subject = self._live_object
     self.oscillator = EnumWrappingParameter(name='Oscillator', parent=self, values_host=self._osc_types_provider, index_property_host=self._osc_types_provider, values_property='available_values', index_property='index', value_type=OscillatorType)
     self.env_feature = EnumWrappingParameter(name='Envelope Feature Time/Level', parent=self, values_host=self._env_feature_provider, index_property_host=self._env_feature_provider, values_property='available_values', index_property='index', value_type=EnvelopeFeature)
     self.sloped_env_feature = EnumWrappingParameter(name='Envelope Feature Time/Slope/Level', parent=self, values_host=self._sloped_env_feature_provider, index_property_host=self._sloped_env_feature_provider, values_property='available_values', index_property='index', value_type=SlopedEnvelopeFeature)
     self.__on_oscillator_switch_value_changed.subject = self.oscillator
     self.filter_slope_option = DeviceSwitchOption(name='Filter Slope', parameter=get_parameter_by_name(self, 'Filter Slope'))
     self.register_disconnectables(self.options)
コード例 #2
0
 def __init__(self, *a, **k):
     super(EchoDeviceDecorator, self).__init__(*a, **k)
     self._channel_names_provider = NotifyingList(available_values=[
      'Left', 'Right'], default_value=EchoDeviceDecorator.EchoChannelName.left)
     self.channel_switch_parameter = EnumWrappingParameter(name='Channel Toggle', parent=self, values_host=self._channel_names_provider, index_property_host=self._channel_names_provider, values_property='available_values', index_property='index', value_type=EchoDeviceDecorator.EchoChannelName)
     self._additional_parameters = (
      self.channel_switch_parameter,)
     self.link_option = DeviceOnOffOption(name='Link', property_host=get_parameter_by_name(self, 'Link'))
     self.sync_l_option = DeviceOnOffOption(name='L Sync', property_host=get_parameter_by_name(self, 'L Sync'))
     self.sync_r_option = DeviceOnOffOption(name='R Sync', property_host=get_parameter_by_name(self, 'R Sync'))
     self.sync_m_option = DeviceOnOffOption(name='M Sync', property_host=get_parameter_by_name(self, 'L Sync'))
     self.sync_s_option = DeviceOnOffOption(name='S Sync', property_host=get_parameter_by_name(self, 'R Sync'))
     self.clip_dry_option = DeviceOnOffOption(name='Clip Dry', property_host=get_parameter_by_name(self, 'Clip Dry'))
     self.filter_on_option = DeviceOnOffOption(name='Filter', property_host=get_parameter_by_name(self, 'Filter On'))
     self.feedback_inv_option = DeviceOnOffOption(name='Invert', property_host=get_parameter_by_name(self, 'Feedback Inv'))
     self.modulation_times_four_option = DeviceOnOffOption(name='Mod 4x', property_host=get_parameter_by_name(self, 'Mod 4x'))
     self.reverb_loc_option = DeviceSwitchOption(name='Reverb Loc', parameter=get_parameter_by_name(self, 'Reverb Loc'))
     self.duck_option = DeviceOnOffOption(name='Duck', property_host=get_parameter_by_name(self, 'Duck On'))
     self.gate_option = DeviceOnOffOption(name='Gate', property_host=get_parameter_by_name(self, 'Gate On'))
     self.wobble_option = DeviceOnOffOption(name='Wobble', property_host=get_parameter_by_name(self, 'Wobble On'))
     self.noise_option = DeviceOnOffOption(name='Noise', property_host=get_parameter_by_name(self, 'Noise On'))
     self.channel_switch_lr_option = DeviceSwitchOption(name='L/R Switch', parameter=self.channel_switch_parameter, labels=[
      'Left', 'Right'])
     self.channel_switch_ms_option = DeviceSwitchOption(name='M/S Switch', parameter=self.channel_switch_parameter, labels=[
      'Mid', 'Side'])
     self.register_disconnectables(self._additional_parameters)
     self.register_disconnectables(self.options)
コード例 #3
0
 def __init__(self, song=None, band_types_provider=None, *a, **k):
     super(_Eq8DeviceDecorator, self).__init__(*a, **k)
     self._band_types_provider = band_types_provider if band_types_provider is not None else BandTypesList(
     )
     self.band = EnumWrappingParameter(
         name='Band',
         parent=self,
         values_property_host=self._band_types_provider,
         index_property_host=self._band_types_provider,
         values_property='available_values',
         index_property='index')
コード例 #4
0
ファイル: eq8.py プロジェクト: cce/buttons10
 def __init__(self, *a, **k):
     super(Eq8DeviceDecorator, self).__init__(*a, **k)
     self.band = EnumWrappingParameter(
         name=u'Band',
         parent=self,
         values_host=self,
         index_property_host=self.view,
         values_property=u'available_band_indices',
         index_property=u'selected_band')
     self.mode = EnumWrappingParameter(
         name=u'Eq Mode',
         parent=self,
         values_host=self,
         index_property_host=self,
         values_property=u'available_global_modes',
         index_property=u'global_mode')
     self.edit_switch = BoolWrappingParameter(name=u'Edit Mode',
                                              parent=self,
                                              property_host=self,
                                              source_property=u'edit_mode')
     self.oversampling = BoolWrappingParameter(
         name=u'Oversampling',
         parent=self,
         property_host=self,
         source_property=u'oversample')
     self.left_right_curve_switch_option = DeviceSwitchOption(
         name=u'Left/Right',
         labels=[u'Left', u'Right'],
         parameter=self.edit_switch)
     self.mid_side_curve_switch_option = DeviceSwitchOption(
         name=u'Mid/Side',
         labels=[u'Mid', u'Side'],
         parameter=self.edit_switch)
     self._additional_parameters = (self.band, self.mode, self.edit_switch,
                                    self.oversampling)
     self._additional_options = (self.left_right_curve_switch_option,
                                 self.mid_side_curve_switch_option)
     self.register_disconnectables(self._additional_parameters +
                                   self._additional_options)
     self.__on_parameters_changed.subject = self
コード例 #5
0
 def setup_parameters(self):
     super(_SimplerDeviceDecorator, self).setup_parameters()
     self.zoom = WaveformNavigationParameter(name='Zoom',
                                             parent=self,
                                             simpler=self)
     self.zoom.focus_object(self.start)
     self.zoom.add_waveform_navigation_listener(
         self.notify_waveform_navigation)
     self.envelope = EnumWrappingParameter(
         name='Env. Type',
         parent=self,
         values_property_host=self._envelope_types_provider,
         index_property_host=self._envelope_types_provider,
         values_property='available_values',
         index_property='index',
         value_type=EnvelopeType)
     self._additional_parameters.extend([self.zoom, self.envelope])
コード例 #6
0
 def setup_parameters(self):
     super(_SimplerDeviceDecorator, self).setup_parameters()
     self.positions = self.register_disconnectable(SimplerPositions(self))
     self.zoom = WaveformNavigationParameter(name='Zoom',
                                             parent=self,
                                             simpler=self)
     self.zoom.focus_region_of_interest('start_end_marker',
                                        self.get_parameter_by_name('Start'))
     self.zoom.add_waveform_navigation_listener(
         self.notify_waveform_navigation)
     self.envelope = EnumWrappingParameter(
         name='Env. Type',
         parent=self,
         values_host=self._envelope_types_provider,
         index_property_host=self._envelope_types_provider,
         values_property='available_values',
         index_property='index',
         value_type=EnvelopeType)
     self._additional_parameters.extend([self.zoom, self.envelope])
コード例 #7
0
 def __init__(self, song=None, osc_types_provider=None, *a, **k):
     super(_OperatorDeviceDecorator, self).__init__(*a, **k)
     self._osc_types_provider = osc_types_provider if osc_types_provider is not None else OscillatorTypesList(
     )
     self.__on_parameters_changed.subject = self._live_object
     self.oscillator = EnumWrappingParameter(
         name='Oscillator',
         parent=self,
         values_property_host=self._osc_types_provider,
         index_property_host=self._osc_types_provider,
         values_property='available_values',
         index_property='index',
         value_type=OscillatorType)
     self.filter_slope_option = DeviceSwitchOption(
         name='Filter Slope',
         default_label='12dB',
         second_label='24dB',
         parameter=get_parameter_by_name(self, 'Filter Slope'))
     self.register_disconnectables(self.options)
コード例 #8
0
    def __init__(self, *a, **k):
        super(CompressorDeviceDecorator, self).__init__(*a, **k)
        for event, func in (('input_routing_type',
                             self.notify_input_routing_type_index),
                            ('input_routing_channel',
                             self.notify_input_routing_channel_index)):
            self.register_slot(event_name=event,
                               subject=self._live_object,
                               listener=func)

        make_option = lambda option_name, parameter_name: DeviceOnOffOption(
            name=option_name,
            property_host=get_parameter_by_name(self, parameter_name))
        self._options = tuple([
            self.register_disconnectable(make_option(option_name, param_name))
            for option_name, param_name in ((u'Auto Release',
                                             u'Auto Release On/Off'),
                                            (u'Makeup', u'Makeup'),
                                            (u'Listen', u'S/C Listen'),
                                            (u'Sidechain', u'S/C On'))
        ])
        make_parameter = lambda name, values, index: EnumWrappingParameter(
            name=name,
            parent=self,
            values_host=self,
            index_property_host=self,
            values_property=values,
            index_property=index)
        self._position_parameter = make_parameter(
            'Position', 'input_channel_positions',
            'input_channel_position_index')
        self._additional_parameters = self.register_disconnectables(
            (make_parameter('Input Type', 'available_input_routing_types',
                            'input_routing_type_index'),
             make_parameter('Input Channel',
                            'available_input_routing_channels',
                            'input_routing_channel_index'),
             self._position_parameter))
コード例 #9
0
ファイル: wavetable.py プロジェクト: cce/buttons10
 def _create_parameters(self):
     self.oscillator_switch = EnumWrappingParameter(
         name=u'Oscillator',
         parent=self,
         values_host=self._osc_types_provider,
         index_property_host=self._osc_types_provider,
         values_property=u'available_values',
         index_property=u'index',
         value_type=InstrumentVectorOscillatorType)
     self.osc_1_pitch = PitchParameter(
         name=u'Osc 1 Pitch',
         parent=self,
         integer_value_host=get_parameter_by_name(self, u'Osc 1 Transp'),
         decimal_value_host=get_parameter_by_name(self, u'Osc 1 Detune'))
     self.osc_2_pitch = PitchParameter(
         name=u'Osc 2 Pitch',
         parent=self,
         integer_value_host=get_parameter_by_name(self, u'Osc 2 Transp'),
         decimal_value_host=get_parameter_by_name(self, u'Osc 2 Detune'))
     self.filter_switch_for_filter_switch_option = EnumWrappingParameter(
         name=u'Internal Filter',
         parent=self,
         values_host=self._filter_types_provider,
         index_property_host=self._filter_types_provider,
         values_property=u'available_values',
         index_property=u'index',
         value_type=InstrumentVectorFilterType)
     self.current_mod_target = InternalParameter(name=u'Current Mod Target',
                                                 parent=self)
     self.envelope_switch = EnumWrappingParameter(
         name=u'Envelopes',
         parent=self,
         values_host=self._envelope_types_provider,
         index_property_host=self._envelope_types_provider,
         values_property=u'available_values',
         index_property=u'index',
         value_type=InstrumentVectorEnvelopeType)
     self.lfo_switch = EnumWrappingParameter(
         name=u'LFO',
         parent=self,
         values_host=self._lfo_types_provider,
         index_property_host=self._lfo_types_provider,
         values_property=u'available_values',
         index_property=u'index',
         value_type=InstrumentVectorLfoType)
     self._osc_1_category_switch = EnumWrappingParameter(
         name=u'Osc 1 Category',
         parent=self,
         values_host=self._live_object,
         index_property_host=self,
         values_property=u'oscillator_wavetable_categories',
         index_property=u'oscillator_1_wavetable_category')
     self._osc_2_category_switch = EnumWrappingParameter(
         name=u'Osc 2 Category',
         parent=self,
         values_host=self._live_object,
         index_property_host=self,
         values_property=u'oscillator_wavetable_categories',
         index_property=u'oscillator_2_wavetable_category')
     self._osc_1_table_switch = EnumWrappingParameter(
         name=u'Osc 1 Table',
         parent=self,
         values_host=self._live_object,
         index_property_host=self,
         values_property=u'oscillator_1_wavetables',
         index_property=u'oscillator_1_wavetable_index')
     self._osc_2_table_switch = EnumWrappingParameter(
         name=u'Osc 2 Table',
         parent=self,
         values_host=self._live_object,
         index_property_host=self,
         values_property=u'oscillator_2_wavetables',
         index_property=u'oscillator_2_wavetable_index')
     self._osc_1_effect_type_switch = EnumWrappingParameter(
         name=u'Osc 1 Effect Type',
         parent=self,
         values_host=self,
         index_property_host=self,
         values_property=u'available_effect_modes',
         index_property=u'oscillator_1_effect_mode')
     self._osc_2_effect_type_switch = EnumWrappingParameter(
         name=u'Osc 2 Effect Type',
         parent=self,
         values_host=self,
         index_property_host=self,
         values_property=u'available_effect_modes',
         index_property=u'oscillator_2_effect_mode')
     self._filter_1_circuit_lp_hp_switch = EnumWrappingParameter(
         name=u'Filter 1 Circuit LP/HP',
         parent=self,
         values_host=self,
         index_property_host=get_parameter_by_name(self, u'Filter 1 LP/HP'),
         values_property=u'available_filter_curcuit_lp_hp_values',
         index_property=u'value')
     self._filter_2_circuit_lp_hp_switch = EnumWrappingParameter(
         name=u'Filter 2 Circuit LP/HP',
         parent=self,
         values_host=self,
         index_property_host=get_parameter_by_name(self, u'Filter 2 LP/HP'),
         values_property=u'available_filter_curcuit_lp_hp_values',
         index_property=u'value')
     self._filter_1_circuit_bp_no_morph_switch = EnumWrappingParameter(
         name=u'Filter 1 Circuit BP/NO/Morph',
         parent=self,
         values_host=self,
         index_property_host=get_parameter_by_name(self,
                                                   u'Filter 1 BP/NO/Morph'),
         values_property=u'available_filter_curcuit_bp_no_morph_values',
         index_property=u'value')
     self._filter_2_circuit_bp_no_morph_switch = EnumWrappingParameter(
         name=u'Filter 2 Circuit BP/NO/Morph',
         parent=self,
         values_host=self,
         index_property_host=get_parameter_by_name(self,
                                                   u'Filter 2 BP/NO/Morph'),
         values_property=u'available_filter_curcuit_bp_no_morph_values',
         index_property=u'value')
     return (
         EnumWrappingParameter(
             name=u'Filter',
             parent=self,
             values_host=self._filter_types_provider,
             index_property_host=self._filter_types_provider,
             values_property=u'available_values',
             index_property=u'index',
             value_type=InstrumentVectorFilterType),
         EnumWrappingParameter(
             name=u'Amp Env View',
             parent=self,
             values_host=self._amp_envelope_view_types_provider,
             index_property_host=self._amp_envelope_view_types_provider,
             values_property=u'available_values',
             index_property=u'index',
             value_type=InstrumentVectorEnvelopeViewType),
         EnumWrappingParameter(
             name=u'Mod Env View',
             parent=self,
             values_host=self._mod_envelope_view_types_provider,
             index_property_host=self._mod_envelope_view_types_provider,
             values_property=u'available_values',
             index_property=u'index',
             value_type=InstrumentVectorEnvelopeViewType),
         EnumWrappingParameter(
             name=u'Modulation Target Names',
             parent=self,
             values_host=self._live_object,
             index_property_host=self.current_mod_target_index,
             values_property=u'visible_modulation_target_names',
             index_property=u'index'),
         ModMatrixParameter(
             name=u'Amp Env Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.amp_envelope),
         ModMatrixParameter(
             name=u'Env 2 Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.envelope_2),
         ModMatrixParameter(
             name=u'Env 3 Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.envelope_3),
         ModMatrixParameter(
             name=u'Lfo 1 Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.lfo_1),
         ModMatrixParameter(
             name=u'Lfo 2 Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.lfo_2),
         ModMatrixParameter(
             name=u'MIDI Velocity Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.midi_velocity),
         ModMatrixParameter(
             name=u'MIDI Note Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.midi_note),
         ModMatrixParameter(
             name=u'MIDI Pitch Bend Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.midi_pitch_bend),
         ModMatrixParameter(
             name=u'MIDI Aftertouch Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.midi_channel_pressure),
         ModMatrixParameter(
             name=u'MIDI Mod Wheel Mod Amount',
             parent=self,
             modulation_value_host=self._live_object,
             modulation_target_index_host=self.current_mod_target_index,
             modulation_source=ModulationSource.midi_mod_wheel),
         EnumWrappingParameter(name=u'Unison Mode',
                               parent=self,
                               values_host=self,
                               index_property_host=self,
                               values_property=u'available_unison_modes',
                               index_property=u'unison_mode'),
         IntegerParameter(name=u'Unison Voices',
                          parent=self,
                          integer_value_host=self._live_object,
                          integer_value_property_name=u'unison_voice_count',
                          min_value=self.MIN_UNISON_VOICE_COUNT,
                          max_value=self.MAX_UNISON_VOICE_COUNT,
                          show_as_quantized=True),
         EnumWrappingParameter(
             name=u'Mono On',
             parent=self,
             values_host=self,
             index_property_host=self,
             values_property=u'mono_off_on_values',
             index_property=u'mono_poly',
             to_index_conversion=lambda index: int(not index),
             from_index_conversion=lambda index: int(not index)),
         EnumWrappingParameter(name=u'Poly Voices',
                               parent=self,
                               values_host=self,
                               index_property_host=self,
                               values_property=u'poly_voices_values',
                               index_property=u'poly_voices'),
         EnumWrappingParameter(name=u'Filter Routing',
                               parent=self,
                               values_host=self,
                               index_property_host=self,
                               values_property=u'available_filter_routings',
                               index_property=u'filter_routing')
     ) + (self.oscillator_switch, self.osc_1_pitch, self.osc_2_pitch,
          self.filter_switch_for_filter_switch_option,
          self.current_mod_target, self.envelope_switch, self.lfo_switch,
          self._osc_1_category_switch, self._osc_2_category_switch,
          self._osc_1_table_switch, self._osc_2_table_switch,
          self._osc_1_effect_type_switch, self._osc_2_effect_type_switch,
          self._filter_1_circuit_lp_hp_switch,
          self._filter_2_circuit_lp_hp_switch,
          self._filter_1_circuit_bp_no_morph_switch,
          self._filter_2_circuit_bp_no_morph_switch)
コード例 #10
0
 def _create_parameters(self):
     self.filter_switch_for_filter_switch_option = EnumWrappingParameter(name='Internal Filter', parent=self, values_host=self._filter_types_provider, index_property_host=self._filter_types_provider, values_property='available_values', index_property='index', value_type=WavetableFilterType)
     self.current_mod_target = InternalParameter(name='Current Mod Target', parent=self)
     return super(WavetableDeviceDecorator, self)._create_parameters() + (EnumWrappingParameter(name='Modulation Target Names', parent=self, values_host=self._live_object, index_property_host=self.current_mod_target_index, values_property='visible_modulation_target_names', index_property='index'), ModMatrixParameter(name='Amp Env Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.amp_envelope), ModMatrixParameter(name='Env 2 Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.envelope_2), ModMatrixParameter(name='Env 3 Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.envelope_3), ModMatrixParameter(name='Lfo 1 Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.lfo_1), ModMatrixParameter(name='Lfo 2 Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.lfo_2), ModMatrixParameter(name='MIDI Velocity Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.midi_velocity), ModMatrixParameter(name='MIDI Note Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.midi_note), ModMatrixParameter(name='MIDI Pitch Bend Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.midi_pitch_bend), ModMatrixParameter(name='MIDI Aftertouch Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.midi_channel_pressure), ModMatrixParameter(name='MIDI Mod Wheel Mod Amount', parent=self, modulation_value_host=self._live_object, modulation_target_index_host=self.current_mod_target_index, modulation_source=ModulationSource.midi_mod_wheel)) + (
      self.filter_switch_for_filter_switch_option,
      self.current_mod_target)