Beispiel #1
0
        public ReverbPanel()
        {
            InitializeComponent();

            var labels = new[]
            {
                labelDecayTime, labelDensity, labelDiffusion, labelEarlyDelay,
                labelEarlyLateMix, labelHFDecayRatio, labelHFReference, labelHighCut,
                labelLateDelay, labelLowShelfFreq, labelLowShelfGain, labelWetLevel
            };

            foreach (var label in labels)
            {
                var sliderName = Regex.Replace(label.Name, "label", "slider");
                var slider     = (ColorSlider)Controls.Find(sliderName, true)[0];
                slider.ValueChanged += (s, a) => label.Text = $"{slider.Value} {label.Tag}";
                label.Text           = $"{slider.Value} {label.Tag}";
                slider.Scroll       += Slider_Scroll;
            }

            var names = ReverbPresets.GetNames().ToArray();

            for (var i = 0; i < names.Length; i++)
            {
                var radioName = $"radioButton{i + 1}";
                var radio     = (RadioButton)tableLayoutPresets.Controls.Find(radioName, false)[0];
                radio.Text            = names[i];
                radio.Tag             = i;
                radio.CheckedChanged += Radio_CheckedChanged;
            }
        }
        /// <summary>
        /// Converts from presets enumeration to ReverbParameters type
        /// </summary>
        /// <param name="preset">Preset value</param>
        /// <returns>Returns the ReverbParameters type</returns>
        public static ReverbParameters Convert(ReverbPresets preset)
        {
            var reverbPreset = reverbPresetsList[(int)(preset)];
            var reverbParams = (ReverbParameters)reverbPreset;

            return(reverbParams);
        }
Beispiel #3
0
        private void Radio_CheckedChanged(object sender, EventArgs e)
        {
            var radio      = (RadioButton)sender;
            var index      = Convert.ToInt32(radio.Tag);
            var properties = ReverbPresets.FromIndex(index);

            UpdateProperties(properties);
        }
Beispiel #4
0
        /// <summary>
        /// Sets the Reverb effect parameters from an existing preset.
        /// </summary>
        /// <param name="preset">The existing Reverb preset.</param>
        public void SetReverbEffectParameters(ReverbPresets preset)
        {
            DisposeGuard();

            SetReverbEffectParameters((ReverbParameters)reverbPresets[(int)preset]);
        }