diff options
Diffstat (limited to 'klangfarbrs/src/osc.rs')
-rw-r--r-- | klangfarbrs/src/osc.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/klangfarbrs/src/osc.rs b/klangfarbrs/src/osc.rs index 8225eb1..c609286 100644 --- a/klangfarbrs/src/osc.rs +++ b/klangfarbrs/src/osc.rs @@ -1,7 +1,7 @@ use std::f32::consts::TAU; use rand::Rng; use super::{Hz, Sample}; -use super::phasor::{Phasor}; +use super::phasor::Phasor; /// The various waveforms the `MonoSynth` can generate. pub enum Waveform { @@ -35,6 +35,13 @@ impl Osc { pub fn set_frequency(&mut self, frequency: Hz) { self.phasor.frequency = frequency; } + + pub fn sample(&mut self) -> Sample { + match self.next() { + Some(s) => { s }, + None => 0.0 + } + } } impl Iterator for Osc { |