Exemplo n.º 1
1
 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";
 }
Exemplo n.º 2
0
 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";
 }
Exemplo n.º 4
0
 //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";
 }
Exemplo n.º 5
0
 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";
 }
Exemplo n.º 6
0
 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";
 }
Exemplo n.º 7
0
 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";
 }
Exemplo n.º 8
0
        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;
        }
Exemplo n.º 9
0
 public ChangedEventArgs(int bandIndex, float value, Band band)
 {
     BandIndex = bandIndex;
     Value = value;
     Band = band;
 }