diff --git a/src/lib.rs b/src/lib.rs index 08af373..caac1e1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,6 @@ #![no_std] +mod synthesizer; mod wavetable; + +//TODO: +// * patch mod w/ trait Input and trait Output(?) diff --git a/src/synthesizer.rs b/src/synthesizer.rs new file mode 100644 index 0000000..9979397 --- /dev/null +++ b/src/synthesizer.rs @@ -0,0 +1,21 @@ +use crate::wavetable::Wavetable; + +pub trait Synthesizer {} + +pub struct SimpleWavetableSynthesizer { + wavetable: W, + clock_freq_hz: usize, + output_freq_hz: usize, + enable: bool, +} + +impl SimpleWavetableSynthesizer { + pub fn new(wavetable: W, clock_freq_hz: usize) -> Self { + Self { + wavetable, + clock_freq_hz, + output_freq_hz: 0, + enable: false, + } + } +}