From bdb0e33d495754962eb713147c98843fd8255202 Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Sat, 12 Sep 2020 21:04:00 -0400 Subject: [PATCH] Refactored droplet design --- src/droplets/droplet.h | 8 ++++++-- src/droplets/noise_droplet.cpp | 9 ++++++--- src/droplets/noise_droplet.h | 8 +++++--- src/main.cpp | 3 ++- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/droplets/droplet.h b/src/droplets/droplet.h index f0b250a..a78fea3 100644 --- a/src/droplets/droplet.h +++ b/src/droplets/droplet.h @@ -3,12 +3,16 @@ #ifndef CASCADE_DROPLETS_DROPLET_H_ #define CASCADE_DROPLETS_DROPLET_H_ +#include "daisy_patch.h" + +using namespace daisy; + class Droplet { public: virtual ~Droplet() {}; - virtual void Control(float, float, float, float)=0; + virtual void Control()=0; virtual void Process(float**, float**, size_t)=0; - virtual void Draw(int*, int, int)=0; + virtual void Draw()=0; }; #endif // CASCADE_DROPLETS_DROPLET_H_ diff --git a/src/droplets/noise_droplet.cpp b/src/droplets/noise_droplet.cpp index ea093fa..4ce677b 100644 --- a/src/droplets/noise_droplet.cpp +++ b/src/droplets/noise_droplet.cpp @@ -1,10 +1,11 @@ #include "noise_droplet.h" -NoiseDroplet::NoiseDroplet(float sample_rate) { +NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, float sample_rate) { noise.Init(); + patch = m_patch; } -void NoiseDroplet::Control(float ctr_1, float ctr_2, float ctr_3, float ctr_4) {} +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(); @@ -13,4 +14,6 @@ void NoiseDroplet::Process(float** in, float** out, size_t size) { } } } -void NoiseDroplet::Draw(int* d, int width, int height) {} +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 76cbbf8..43794cb 100644 --- a/src/droplets/noise_droplet.h +++ b/src/droplets/noise_droplet.h @@ -7,15 +7,17 @@ #include "daisy_patch.h" #include "droplet.h" +#include "../util.h" class NoiseDroplet: public Droplet { private: + DaisyPatch* patch; daisysp::WhiteNoise noise; public: - NoiseDroplet(float); - void Control(float, float, float, float); + NoiseDroplet(DaisyPatch*, float); + void Control(); void Process(float**, float**, size_t); - void Draw(int*, int, int); + void Draw(); }; #endif // CASCADE_DROPLETS_NOISE_DROPLET_H_ diff --git a/src/main.cpp b/src/main.cpp index 18524ec..97620af 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(samplerate); + droplet = new NoiseDroplet(&patch, samplerate); patch.StartAdc(); patch.StartAudio(AudioThrough); @@ -56,6 +56,7 @@ void ProcessOled() { } else { WriteString(patch, 0, 0, Font_6x8, menu.SelectedName()); } + droplet->Draw(); patch.display.Update(); }