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)
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)
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')
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
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])
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])
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)
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))
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)
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)