private void HandleUnloaded(object sender, RoutedEventArgs e) { if (_clockSource != null) { _clockSource.Dispose(); } _clockSource = null; }
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()); } }
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; }
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()); }
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); }