/// <summary> /// Обработчик изменения типа дисторшна. /// </summary> /// <param name="value">Нормированное новое значение параметра.</param> private void SetMode(float value) { var newMode = Converters.ToDistortionMode(value); if (newMode != mode) { mode = newMode; switch (mode) { case DistortionMode.AbsClipping: ChangeDistortion(absClipper); break; case DistortionMode.SoftClipping: ChangeDistortion(softClipper); break; case DistortionMode.CubicClipping: ChangeDistortion(cubicClipper); break; case DistortionMode.BitCrush: ChangeDistortion(bitCrusher); break; case DistortionMode.SampleRateReduction: ChangeDistortion(sampleRateReductor); break; } } }
/// <summary> /// Метод, привязывающий параметры эффекта дисторшн плагина к редактору. /// </summary> private void BindDistortion(DistortionManager distortion) { var color = (Brush)Resources["distortionKnobColor"]; DistortionMode.AttachTo(distortion.ModeManager, color, Converters.DistortionModeToString); DistortionAmount.AttachTo(distortion.AmountManager, color, Converters.PercentsToString); DistortionAmp.AttachTo(distortion.AmpManager, color, Converters.DistortionAmpToString); DistortionAsymmetry.AttachTo(distortion.AsymmetryManager, color, Converters.AsymmetryToString); DistortionLowpass.AttachTo(distortion.LowPassCutoffManager, color, Converters.DistortionLowpassCutoffToString); DistortionMix.AttachTo(distortion.MixManager, color, Converters.PercentsToString); }