diff --git a/examples/basic.rs b/examples/basic.rs index 2db9af4..0251210 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -3,8 +3,25 @@ extern crate cpal; fn main() { let mut channel = cpal::Channel::new(); + let mut data_source = + std::iter::iterate(0.0f32, |f| f + 0.03) + .map(|angle| { + use std::num::FloatMath; + use std::num::Int; + + let angle = angle.sin(); + + let max: u16 = Int::max_value(); + let value = (max as f32 / 2.0) + (angle * (max as f32 / 2.0)); + value as u16 + }) + .map(|v| (v, v)); + loop { let mut buffer = channel.append_data::<(u16, u16)>(); - buffer[0] = std::rand::random(); + + for value in buffer.iter_mut() { + *value = data_source.next().unwrap(); + } } }