diff options
author | Graham Northup <grissess@nexusg.org> | 2017-09-19 23:56:15 -0400 |
---|---|---|
committer | Graham Northup <grissess@nexusg.org> | 2017-09-19 23:56:15 -0400 |
commit | 9866c0f34c268a09ecaaa9a4361c1c267799358e (patch) | |
tree | d10bea3717c25105ced7457535412072d343686f /src/synth/sine.rs | |
parent | 26e95364ad9073dd7cb571454cd52ae66f320a73 (diff) |
Starting work on proto decode
Diffstat (limited to 'src/synth/sine.rs')
-rw-r--r-- | src/synth/sine.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/synth/sine.rs b/src/synth/sine.rs index 212ab21..90f3200 100644 --- a/src/synth/sine.rs +++ b/src/synth/sine.rs @@ -3,6 +3,7 @@ use super::*; const TAU: f32 = 2f32 * PI; +#[derive(Debug)] pub struct Sine { pub freq: GenBox, pub phase: f32, @@ -11,7 +12,7 @@ pub struct Sine { impl Generator for Sine { fn eval<'a>(&'a mut self, params: &Parameters) -> &'a SampleBuffer { - self.buf.rate = Rate::Control; + self.buf.rate = Rate::Sample; let pvel = TAU * self.freq.eval(params).first() / params.env.sample_rate; for i in 0..self.buf.len() { @@ -21,4 +22,7 @@ impl Generator for Sine { self.phase = (self.phase + pvel * (self.buf.len() as f32)) % TAU; &self.buf } + fn set_buffer(&mut self, buf: SampleBuffer) -> SampleBuffer { + mem::replace(&mut self.buf, buf) + } } |