From da50c0294696c3a327db4b2a0a089d7977df488e Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Tue, 26 Dec 2017 17:00:03 +0200 Subject: Refactored to use more extensive typing --- src/audio.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/audio.rs') diff --git a/src/audio.rs b/src/audio.rs index 01273d7..ddd7925 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -2,6 +2,8 @@ use portaudio as pa; use std::sync::mpsc::*; +use signal::Signal; + pub const SAMPLE_RATE: f32 = 44100.0; // I want to use the frames constant in contexts where I need to cast // it to f32 (eg for generating a sine wave). Therefore its type must @@ -31,13 +33,13 @@ pub fn get_default_device(pa: &pa::PortAudio) -> Result { Ok(default_input_index) } -pub fn start_listening_default(pa: &pa::PortAudio, sender: Sender>) -> Result>, pa::Error> { +pub fn start_listening_default(pa: &pa::PortAudio, sender: Sender) -> Result>, pa::Error> { let default = get_default_device(pa)?; start_listening(pa, default, sender) } pub fn start_listening(pa: &pa::PortAudio, device_index: u32, - sender: Sender>) -> Result>, pa::Error> { + sender: Sender) -> Result>, pa::Error> { let device_info = try!(pa.device_info(pa::DeviceIndex(device_index))); let latency = device_info.default_low_input_latency; @@ -53,7 +55,7 @@ pub fn start_listening(pa: &pa::PortAudio, device_index: u32, // This callback A callback to pass to the non-blocking stream. let callback = move |pa::InputStreamCallbackArgs { buffer, .. }| { - match sender.send(Vec::from(buffer)) { + match sender.send(Signal::new(buffer, SAMPLE_RATE)) { Ok(_) => pa::Continue, Err(_) => pa::Complete } -- cgit v1.2.3