From 88dc9f058bfc40b56372c0e22983b0b979ad964b Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Wed, 2 Aug 2017 23:57:23 +0200 Subject: Readded frame skipping This was becoming an issue on debug builds on the laptop. Really, it's for the best to skip frames rather than getting stuck in a perpetual time delay. --- src/gui.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/gui.rs b/src/gui.rs index 3b2bfab..796b341 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -163,6 +163,9 @@ fn start_listening_current_dropdown_value(dropdown: >k::ComboBoxText, mic_send fn start_processing_audio(mic_receiver: Receiver>, cross_thread_state: Arc>) { thread::spawn(move || { while let Ok(samples) = mic_receiver.recv() { + //just in case we hit performance difficulties, clear out the channel + while mic_receiver.try_recv().ok() != None {} + let signal = ::transforms::align_to_rising_edge(&samples); let correlation = ::transforms::correlation(&samples); let fundamental = ::transforms::find_fundamental_frequency_correlation(&samples, ::audio::SAMPLE_RATE); -- cgit v1.2.3