public CompressorService() { _effect = new BASS_BFX_COMPRESSOR2(); Band Gain = new Band(0, +60.0f, -60.0f, 1.0f, "Gain"); Band Threshold = new Band(-15f, +0.0f, -60.0f, 0.5f, "Threshold"); Band Ratio = new Band(3f, +10.0f, +1.0f, 0.1f, "Ratio"); Band Attack = new Band(10f, +1000.0f, 0.01f, 0.01f, "Attack"); Band Release = new Band(200f, 5000.0f, 0.01f, 0.01f, "Release"); Bands = new List<Band>() { Gain, Threshold, Ratio, Attack, Release }; Settings = new SettingsService<Band>("CompressorEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "Compressor"; PresetName = "CurrentPreset"; }
public EchoService() { _effect = new BASS_BFX_ECHO4(); Band DryMix = new Band(0, +2.0f, -2.0f, 0.2f, "DryMix"); Band WetMix = new Band(0, +2.0f, -2.0f, 0.2f, "WetMix"); Band Feedback = new Band(0, +1.0f, -1.0f, 0.01f, "Feedback"); Band Delay = new Band(0, +5.0f, 0.01f, 0.01f, "Delay"); Bands = new List<Band>() { DryMix, WetMix, Feedback, Delay }; Settings = new SettingsService<Band>("EchoEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "Echo"; PresetName = "CurrentPreset"; }
public DynamicAmplificationService() { _effect = new BASS_BFX_DAMP(); Band Target = new Band(0, +1.0f, 0.0f, 0.02f, "Target"); Band Quiet = new Band(0, +1.0f, 0.0f, 0.02f, "Quiet"); Band Rate = new Band(0, +1.0f, 0.0f, 0.02f, "Rate"); Band Gain = new Band(0, +2.0f, 0.0f, 0.04f, "Gain"); Band Delay = new Band(0, +10.0f, 0.0f, 0.2f, "Delay"); Bands = new List<Band>() { Target, Quiet, Rate, Gain, Delay }; Settings = new SettingsService<Band>("DynamicAmplificationEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "DynamicAmplification"; PresetName = "CurrentPreset"; }
//FFTSize and Semitones not work public PitchShiftService() { _effect = new BASS_BFX_PITCHSHIFT(); Band PitchShift = new Band(1, +2.0f, 0.5f, 0.1f, "PitchShift"); Band Semitones = new Band(0, +100.0f, 0.0f, 2.0f, "Semitones"); Band FFTSize = new Band(2048L, 8192L, 1024L, new DoubleCollection() {1024L, 2048L, 4096L, 8192L }, "FFTSize"); Band Osamp = new Band(0L, 32L, 4L, 1L, "Osamp"); Bands = new List<Band>() { PitchShift, Semitones, FFTSize, Osamp }; Settings = new SettingsService<Band>("PitchShiftEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "PitchShift"; PresetName = "CurrentPreset"; }
public ReverberationService() { _effect = new BASS_BFX_FREEVERB(); Band DryMix = new Band(0.0f, +1.0f, 0.0f, 0.05f, "DryMix"); Band WetMix = new Band(1.0f, +3.0f, 0.0f, 0.05f, "WetMix"); Band RoomSize = new Band(0.5f, +1.0f, 0.0f, 0.01f, "RoomSize"); Band Damp = new Band(0.5f, +1.0f, 0.0f, 0.01f, "Damp"); Band Width = new Band(1.0f, 1.0f, 0.0f, 0.01f, "Width"); Bands = new List<Band>() { DryMix, WetMix, RoomSize, Damp, Width }; Settings = new SettingsService<Band>("ReverberationEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "Reverberation"; PresetName = "CurrentPreset"; }
public PhaserService() { _effect = new BASS_BFX_PHASER(); Band DryMix = new Band(0, +2.0f, -2.0f, 0.1f, "DryMix"); Band WetMix = new Band(0, +2.0f, -2.0f, 0.1f, "WetMix"); Band Feedback = new Band(0, +1.0f, -1.0f, 0.05f, "Feedback"); Band Freq = new Band(0, 1000.0f, 0.0f, 50f, "Freq"); Band Range = new Band(0, 10.0f, 0.0f, 0.5f, "Range"); Band Rate = new Band(0, 10.0f, 0.0f, 0.5f, "Rate"); Bands = new List<Band>() { DryMix, WetMix, Feedback, Freq, Range, Rate }; Settings = new SettingsService<Band>("PhaserEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); EffectName = "Phaser"; PresetName = "CurrentPreset"; }
public ChorusService() { _effect = new BASS_BFX_CHORUS(); Band DryMix = new Band(0, +2.0f, -2.0f, 0.05f, "DryMix"); Band WetMix = new Band(0, +2.0f, -2.0f, 0.05f, "WetMix"); Band Feedback = new Band(0, +0.5f, -0.5f, 0.05f, "Feedback"); Band MinSweep = new Band(0, 500.0f, 0.0f, 1f, "MinSweep"); Band MaxSweep = new Band(0, 500.0f, 0.0f, 1f, "MaxSweep"); Band Rate = new Band(0, 400.0f, 0.0f, 1f, "Rate"); Bands = new List<Band>() { DryMix, WetMix, Feedback, MinSweep, MaxSweep, Rate }; Settings = new SettingsService<Band>("ChorusEffect"); CurrentSettings = Settings.GetCurrentSettings(); CurrentSettings.SetPreset(Bands, "CurrentPreset"); IsActive = CurrentSettings.IsActive; BandChanged += ((object sender, ChangedEventArgs e) => { SetEffectToBand(e.Value, e.BandIndex); }); PresetNames = new List<string>(CurrentSettings.Presets.Keys); PresetName = "CurrentPreset"; EffectName = "Chorus"; }
public DSP() { DSPGainBand = new SingleBand(0.0f, 15.0f, -15.0f, 1.0f, "Gain"); DSPStereoEnhancerWetDryBand = new Band(0.5f, 1.0f, 0.0f, 0.01f, "WetDry"); DSPStereoEnhancerWideCoeffBand = new Band(2.0f, 10.0f, 0.0f, 0.2f, "WideCoef"); DSPDelaySamplesBand = new Band(4096.0f, 88200.0f, 0.0f, 1.0f, "Samples"); DSPDelayWetDryBand = new Band(0.5f, 1.0f, 0.0f, 0.01f, "WetDry"); DSPDelayFeedbackBand = new Band(0.5f, 1.0f, 0.0f, 0.01f, "Feedback"); TempoBand = new Band(0.0f, 100.0f, -50.0f, 1.0f, "Tempo"); TempoPitchBand = new Band(0.0f, 20.0f, -20.0f, 1.0f, "TempoPitch"); TempoFreqBand = new Band(44100.0f, 57330, 30870, 441f, "TempoFreq"); TempoBands = new List<Band>() { TempoBand, TempoPitchBand, TempoFreqBand }; DSPDelayBands = new List<Band>() { DSPDelaySamplesBand, DSPDelayWetDryBand, DSPDelayFeedbackBand }; DSPStereoEnhancerBands = new List<Band>() { DSPStereoEnhancerWetDryBand, DSPStereoEnhancerWideCoeffBand }; SettingsTempo = new SettingsService<Band>("Tempo"); CurrentSettingsTempo = SettingsTempo.GetCurrentSettings(); CurrentSettingsTempo.SetPreset(TempoBands, "CurrentPreset"); TempoIsActive = CurrentSettingsTempo.IsActive; SettingsDSPDelay = new SettingsService<Band>("DSPDelay"); CurrentSettingsDSPDelay = SettingsDSPDelay.GetCurrentSettings(); CurrentSettingsDSPDelay.SetPreset(DSPDelayBands, "CurrentPreset"); DSPDelayIsActive = CurrentSettingsDSPDelay.IsActive; SettingsDSPStereoEnhancer = new SettingsService<Band>("DSPStereoEnhancer"); CurrentSettingsDSPStereoEnhancer = SettingsDSPStereoEnhancer.GetCurrentSettings(); CurrentSettingsDSPStereoEnhancer.SetPreset(DSPStereoEnhancerBands, "CurrentPreset"); DSPStereoEnhancerIsActive = CurrentSettingsDSPStereoEnhancer.IsActive; TempoBandChanged += ((object sender, ChangedEventArgs e) => { SetTempoValueToBand(e.Value, e.BandIndex); }); DSPStereoEnhancerBandChanged += ((object sender, ChangedEventArgs e) => { SetStereoEnhancerValueToBand(e.Value, e.BandIndex); }); DSPDelayBandChanged += ((object sender, ChangedEventArgs e) => { SetDSPDelayValueToBand(e.Value, e.BandIndex); }); StereoEnhancerEnabled = (DSPStereoEnhancerIsActive == StatusEffect.Enabled) ? true : false; DelayEnabled = (DSPDelayIsActive == StatusEffect.Enabled) ? true : false; TempoEnabled = (TempoIsActive == StatusEffect.Enabled) ? true : false; DSPDelayEnabledEvent += DSPDelayEnableChanged; DSPStereoEnhancerEnabledEvent += DSPStereoEnhancerEnableChanged; TempoEnabledEvent += TempoEnableChanged; DSPMonoInvertEvent += DSPMonoInvertChanged; DSPMonoCheckedEvent += DSPMonoCheckedChanged; DSPGainBand.ValueChanged += DSPGainValueChanged; }
public ChangedEventArgs(int bandIndex, float value, Band band) { BandIndex = bandIndex; Value = value; Band = band; }