Fixed application-shutdown problems

This commit is contained in:
DarthAffe committed 2017-08-05 20:49:17 +02:00
1 parent 89330368fa
commit 823f8d73dd
4 files changed
+21 -5

No files matched your search

@@ -72,7 +72,12 @@ namespace KeyboardAudioVisualizer
_configurationWindow.Show();
}
private void Exit() => Application.Current.Shutdown();
private void Exit()
{
RGBSurface.Instance.Dispose();
AudioProcessor.Instance.Dispose();
Application.Current.Shutdown();
}
#endregion
}
@@ -38,6 +38,12 @@ namespace KeyboardAudioVisualizer.AudioCapture
_capture.Start();
}
public void Dispose()
{
_capture?.Stop();
_capture?.Dispose();
}
private void OnSoundDataAvailable(object sender, DataAvailableEventArgs dataAvailableEventArgs)
{
int readCount;
@@ -1,8 +1,10 @@
namespace KeyboardAudioVisualizer.AudioCapture
using System;
namespace KeyboardAudioVisualizer.AudioCapture
{
public delegate void AudioData(float[] data, int offset, int count);
public interface IAudioInput
public interface IAudioInput : IDisposable
{
int SampleRate { get; }
@@ -1,11 +1,12 @@
using KeyboardAudioVisualizer.AudioCapture;
using System;
using KeyboardAudioVisualizer.AudioCapture;
using KeyboardAudioVisualizer.AudioProcessing.Equalizer;
using KeyboardAudioVisualizer.AudioProcessing.Spectrum;
using KeyboardAudioVisualizer.AudioProcessing.VisualizationPRovider;
namespace KeyboardAudioVisualizer.AudioProcessing
{
public class AudioProcessor
public class AudioProcessor : IDisposable
{
#region Constants
@@ -72,6 +73,8 @@ namespace KeyboardAudioVisualizer.AudioProcessing
return sampleSize;
}
public void Dispose() => _audioInput.Dispose();
#endregion
}
}