mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-29 17:35:33 +00:00
Refactored droplet design
This commit is contained in:
parent
e8fc038ebd
commit
bdb0e33d49
@ -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_
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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_
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user