예제 #1
0
        /// <summary>
        /// Метод, привязывающий параметры фильтра плагина к редактору.
        /// </summary>
        private void BindFilter(FiltersManager filter, EnvelopesManager env)
        {
            var color = (Brush)Resources["filterKnobColor"];

            // Filter
            FilterCutoff.AttachTo(filter.CutoffManager, color,
                                  Converters.FilterCutoffMultiplierToString);

            FilterResonanse.AttachTo(filter.CurveManager, color,
                                     Converters.PercentsToString);

            FilterType.AttachTo(filter.FilterTypeManager, color,
                                Converters.FilterTypeToString);

            FilterKeyTracking.AttachTo(filter.TrackingCoeffManager, color,
                                       Converters.PercentsToString);

            // Filter envelope
            FilterAttack.AttachTo(env.AttackTimeManager, color,
                                  Converters.EnvelopeTimeToString);

            FilterDecay.AttachTo(env.DecayTimeManager, color,
                                 Converters.EnvelopeTimeToString);

            FilterSustain.AttachTo(env.SustainLevelManager, color,
                                   Converters.PercentsToString);

            FilterRelease.AttachTo(env.ReleaseTimeManager, color,
                                   Converters.EnvelopeTimeToString);

            FilterEnvelopeAmp.AttachTo(env.EnvelopeAmplitudeManager, color,
                                       Converters.PercentsToString);

            FilterAttackCurve.AttachTo(env.AttackCurveManager, color,
                                       Converters.EnvelopeCurveToString);

            FilterDecayReleaseCurve.AttachTo(env.DecayReleaseCurveManager, color,
                                             Converters.EnvelopeCurveToString);
        }