From 12029e3281169c328bdf1e747b80a886b18ec573 Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Sat, 19 Sep 2020 13:40:38 -0400 Subject: [PATCH] Superclass constructors --- src/droplets/droplet.cpp | 5 +++++ src/droplets/droplet.h | 2 +- src/droplets/noise_droplet.cpp | 6 +++--- src/droplets/vco_droplet.cpp | 6 +++--- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/droplets/droplet.cpp b/src/droplets/droplet.cpp index 36820ba..71a562a 100644 --- a/src/droplets/droplet.cpp +++ b/src/droplets/droplet.cpp @@ -1,5 +1,10 @@ #include "droplet.h" +Droplet::Droplet(DaisyPatch* m_patch, DropletState m_state) { + patch = m_patch; + UpdateState(m_state); +} + void Droplet::DrawName(DaisyPatch* patch, std::string name) { WriteCenteredString(*patch, (screen_min + screen_max) / 2, 0, Font_6x8, name); diff --git a/src/droplets/droplet.h b/src/droplets/droplet.h index e9e6573..ef6cb4f 100644 --- a/src/droplets/droplet.h +++ b/src/droplets/droplet.h @@ -17,7 +17,7 @@ class Droplet { public: DaisyPatch* patch; DropletState state; - virtual ~Droplet() {}; + Droplet(DaisyPatch*, DropletState); virtual void Control()=0; virtual void Process(float**, float**, size_t)=0; virtual void Draw()=0; diff --git a/src/droplets/noise_droplet.cpp b/src/droplets/noise_droplet.cpp index 707a880..77a84f4 100644 --- a/src/droplets/noise_droplet.cpp +++ b/src/droplets/noise_droplet.cpp @@ -2,11 +2,11 @@ NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, float sample_rate, - DropletState m_state) { - patch = m_patch; + DropletState m_state) : + Droplet(m_patch, + m_state) { noise.Init(); filter.Init(); - UpdateState(m_state); } void NoiseDroplet::Control() {} diff --git a/src/droplets/vco_droplet.cpp b/src/droplets/vco_droplet.cpp index a5f53ae..e8538ae 100644 --- a/src/droplets/vco_droplet.cpp +++ b/src/droplets/vco_droplet.cpp @@ -2,9 +2,9 @@ VCODroplet::VCODroplet(DaisyPatch* m_patch, float sample_rate, - DropletState m_state) { - UpdateState(m_state); - patch = m_patch; + DropletState m_state) : + Droplet(m_patch, + m_state){ int num_waves = Oscillator::WAVE_LAST; osc.Init(sample_rate); freqctrl.Init(patch->controls[patch->CTRL_1], 10.0,