示例#1
0
        private void HandleUnloaded(object sender, RoutedEventArgs e)
        {
            if (_clockSource != null)
            {
                _clockSource.Dispose();
            }

            _clockSource = null;
        }
示例#2
0
        private void HandleLoaded(object sender, RoutedEventArgs e)
        {
            if (_clockSource != null)
            {
                _clockSource.Dispose();
            }

            _clockSource = null;

            if (!this.IsInDesignMode())
            {
                _clockSource = new AudioClockDivider(_audioLink, METER_REFRESH_FREQ, id => HandleControlClockTick());
            }
        }
示例#3
0
        public LfoCore(IAudioLink audioLink, float initialFrequency = 5, float initialAmount = 0)
        {
            if (audioLink == null)
            {
                throw new ArgumentNullException("audioLink");
            }
            _audioLink = audioLink;

            InitializeInputs(initialFrequency, initialAmount);

            _clockSource = new AudioClockDivider(_audioLink, 100, id => HandleControlClockTick());

            HandleQualityChanged(null, null);
            _audioLink.SampleRateChanged += HandleQualityChanged;
        }
示例#4
0
        public GlideCore(IAudioLink audioLink)
        {
            if (audioLink == null)
            {
                throw new ArgumentNullException("audioLink");
            }
            _audioLink = audioLink;

            SourceValue = new FloatInput("Source Value", 0, float.MinValue, float.MaxValue, ValueOutOfRangeStrategy.Accept, (name, v0, v1) => HandleSourceValueChanged(v1));
            Rate        = new FloatInput("Rate", 1, 0, 1, ValueOutOfRangeStrategy.ForceIntoRange, (name, v0, v1) => HandleRateChanged());

            HandleQualityChanged(null, null);
            _audioLink.SampleRateChanged += HandleQualityChanged;

            _clockSource = new AudioClockDivider(_audioLink, 100, id => HandleControlClockTick());
        }
示例#5
0
        public EnvelopeCore(IAudioLink audioLink)
        {
            if (audioLink == null)
            {
                throw new ArgumentNullException("audioLink");
            }
            _audioLink = audioLink;

            SetOutput(0);

            InitializeInputs();
            InitializeStepCollections();
            _steps = new[] { Attack, Loop, Release };

            _audioLink.SampleRateChanged += HandleQualityChanged;
            _clockSource = new AudioClockDivider(_audioLink, 50, id => HandleControlClockTick());

            HandleQualityChanged(null, null);
        }