void Set(ConditionVariables cv) { SoundEffectSettings ap = new SoundEffectSettings(cv); // we have no control over values, user could have messed them up, and it excepts if out of range trackBarEM.Enabled = trackBarEF.Enabled = trackBarED.Enabled = checkBoxE.Checked = ap.echoenabled; try { trackBarEM.Value = ap.echomix; trackBarEF.Value = ap.echofeedback; trackBarED.Value = ap.echodelay; } catch { } trackBarCM.Enabled = trackBarCF.Enabled = trackBarCD.Enabled = trackBarCDp.Enabled = checkBoxC.Checked = ap.chorusenabled; try { trackBarCM.Value = ap.chorusmix; trackBarCF.Value = ap.chorusfeedback; trackBarCD.Value = ap.chorusdelay; trackBarCDp.Value = ap.chorusdepth; } catch { } trackBarRM.Enabled = trackBarRT.Enabled = trackBarRH.Enabled = checkBoxR.Checked = ap.reverbenabled; try { trackBarRM.Value = ap.reverbmix; trackBarRT.Value = ap.reverbtime; trackBarRH.Value = ap.reverbhfratio; } catch { } trackBarDG.Enabled = trackBarDE.Enabled = trackBarDC.Enabled = trackBarDW.Enabled = checkBoxD.Checked = ap.distortionenabled; try { trackBarDG.Value = ap.distortiongain; trackBarDE.Value = ap.distortionedge; trackBarDC.Value = ap.distortioncentrefreq; trackBarDW.Value = ap.distortionfreqwidth; } catch { } trackBarGF.Enabled = checkBoxG.Checked = ap.gargleenabled; try { trackBarGF.Value = ap.garglefreq; } catch { } trackBarPitch.Enabled = checkBoxP.Checked = ap.pitchshiftenabled; try { trackBarPitch.Value = ap.pitchshift; } catch { } checkBoxCustomNone.Checked = ap.OverrideNone; EDDiscovery.EDDTheme.Instance.ApplyToForm(this, System.Drawing.SystemFonts.DefaultFont); }
public ConditionVariables GetEffects() { SoundEffectSettings ap = new SoundEffectSettings(); if (checkBoxE.Checked) { ap.echomix = trackBarEM.Value; ap.echofeedback = trackBarEF.Value; ap.echodelay = trackBarED.Value; } if (checkBoxC.Checked) { ap.chorusmix = trackBarCM.Value; ap.chorusfeedback = trackBarCF.Value; ap.chorusdelay = trackBarCD.Value; ap.chorusdepth = trackBarCDp.Value; } if (checkBoxR.Checked) { ap.reverbmix = trackBarRM.Value; ap.reverbtime = trackBarRT.Value; ap.reverbhfratio = trackBarRH.Value; } if (checkBoxD.Checked) { ap.distortiongain = trackBarDG.Value; ap.distortionedge = trackBarDE.Value; ap.distortioncentrefreq = trackBarDC.Value; ap.distortionfreqwidth = trackBarDW.Value; } if (checkBoxG.Checked) { ap.garglefreq = trackBarGF.Value; } if (checkBoxP.Checked) { ap.pitchshift = trackBarPitch.Value; } if (checkBoxCustomNone.Checked) { ap.OverrideNone = true; } return(ap.values); }
static private void ApplyEffects(ref IWaveSource src, ConditionVariables effect) { if (effect != null) { SoundEffectSettings ap = new SoundEffectSettings(effect); int extend = 0; if (ap.echoenabled) { extend = ap.echodelay * 2; } if (ap.chorusenabled) { extend = Math.Max(extend, 50); } if (ap.reverbenabled) { extend = Math.Max(extend, 50); } if (extend > 0) { //System.Diagnostics.Debug.WriteLine("Extend by " + extend + " ms due to effects"); src = src.AppendSource(x => new ExtendWaveSource(x, extend)); } if (ap.chorusenabled) { src = src.AppendSource(x => new DmoChorusEffect(x) { WetDryMix = ap.chorusmix, Feedback = ap.chorusfeedback, Delay = ap.chorusdelay, Depth = ap.chorusdepth }); } if (ap.reverbenabled) { src = src.AppendSource(x => new DmoWavesReverbEffect(x) { InGain = 0, ReverbMix = ap.reverbmix, ReverbTime = ((float)ap.reverbtime) / 1000.0F, HighFrequencyRTRatio = ((float)ap.reverbhfratio) / 1000.0F }); } if (ap.distortionenabled) { src = src.AppendSource(x => new DmoDistortionEffect(x) { Gain = ap.distortiongain, Edge = ap.distortionedge, PostEQCenterFrequency = ap.distortioncentrefreq, PostEQBandwidth = ap.distortionfreqwidth }); } if (ap.gargleenabled) { src = src.AppendSource(x => new DmoGargleEffect(x) { RateHz = ap.garglefreq }); } if (ap.echoenabled) { src = src.AppendSource(x => new DmoEchoEffect(x) { WetDryMix = ap.echomix, Feedback = ap.echofeedback, LeftDelay = ap.echodelay, RightDelay = ap.echodelay }); } if (ap.pitchshiftenabled) { ISampleSource srs = src.ToSampleSource(); srs = srs.AppendSource(x => new PitchShifter(x) { PitchShiftFactor = ((float)ap.pitchshift) / 100.0F }); src = srs.ToWaveSource(); } } }