From 2922aca05aa52b03c4e291f8627f0990bdaad8a9 Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Sun, 13 Sep 2020 09:04:24 -0400 Subject: [PATCH] Droplet size --- src/droplets/droplet.h | 3 +++ src/droplets/noise_droplet.cpp | 8 +++++++- src/droplets/noise_droplet.h | 3 ++- src/main.cpp | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/droplets/droplet.h b/src/droplets/droplet.h index a78fea3..efbc4ee 100644 --- a/src/droplets/droplet.h +++ b/src/droplets/droplet.h @@ -7,8 +7,11 @@ using namespace daisy; +enum class DropletState {kFull, kLeft, kRight}; + class Droplet { public: + DropletState state; virtual ~Droplet() {}; virtual void Control()=0; virtual void Process(float**, float**, size_t)=0; diff --git a/src/droplets/noise_droplet.cpp b/src/droplets/noise_droplet.cpp index 4ce677b..e36a532 100644 --- a/src/droplets/noise_droplet.cpp +++ b/src/droplets/noise_droplet.cpp @@ -1,11 +1,16 @@ #include "noise_droplet.h" -NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, float sample_rate) { +NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, + float sample_rate, + DropletState m_state) { noise.Init(); + filter.Init(); patch = m_patch; + state = m_state; } void NoiseDroplet::Control() {} + void NoiseDroplet::Process(float** in, float** out, size_t size) { for (size_t i = 0; i < size; i += 2) { float sig = noise.Process(); @@ -14,6 +19,7 @@ void NoiseDroplet::Process(float** in, float** out, size_t size) { } } } + void NoiseDroplet::Draw() { WriteString(*patch, 0, 30, Font_6x8, "Test"); } diff --git a/src/droplets/noise_droplet.h b/src/droplets/noise_droplet.h index 43794cb..4ef697c 100644 --- a/src/droplets/noise_droplet.h +++ b/src/droplets/noise_droplet.h @@ -13,8 +13,9 @@ class NoiseDroplet: public Droplet { private: DaisyPatch* patch; daisysp::WhiteNoise noise; + daisysp::NlFilt filter; public: - NoiseDroplet(DaisyPatch*, float); + NoiseDroplet(DaisyPatch*, float, DropletState); void Control(); void Process(float**, float**, size_t); void Draw(); diff --git a/src/main.cpp b/src/main.cpp index 97620af..b632b44 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,7 +19,7 @@ Droplet* droplet; int main(void) { patch.Init(); float samplerate = patch.AudioSampleRate(); - droplet = new NoiseDroplet(&patch, samplerate); + droplet = new NoiseDroplet(&patch, samplerate, DropletState::kFull); patch.StartAdc(); patch.StartAudio(AudioThrough); @@ -54,9 +54,9 @@ void ProcessOled() { if (menu.InMenu()) { menu.ProcessMenuOled(); } else { + droplet->Draw(); WriteString(patch, 0, 0, Font_6x8, menu.SelectedName()); } - droplet->Draw(); patch.display.Update(); }