예제 #1
0
        /// <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;
                }
            }
        }
예제 #2
0
        /// <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);
        }