Created droplet system with noise droplet

This commit is contained in:
2020-09-12 17:00:00 -04:00
parent 91a31ecd9d
commit 3198556e00
7 changed files with 69 additions and 4 deletions

14
src/droplets/droplet.h Normal file
View File

@ -0,0 +1,14 @@
#pragma once
#ifndef CASCADE_DROPLETS_DROPLET_H_
#define CASCADE_DROPLETS_DROPLET_H_
class Droplet {
public:
virtual ~Droplet() {};
virtual void Control(float, float, float, float)=0;
virtual void Process(float**, float**, size_t)=0;
virtual void Draw(int*, int, int)=0;
};
#endif // CASCADE_DROPLETS_DROPLET_H_

View File

@ -0,0 +1,16 @@
#include "noise_droplet.h"
NoiseDroplet::NoiseDroplet(float sample_rate) {
noise.Init();
}
void NoiseDroplet::Control(float ctr_1, float ctr_2, float ctr_3, float ctr_4) {}
void NoiseDroplet::Process(float** in, float** out, size_t size) {
for (size_t i = 0; i < size; i += 2) {
float sig = noise.Process();
for (size_t chn = 0; chn < 4; chn++) {
out[chn][i] = sig;
}
}
}
void NoiseDroplet::Draw(int* d, int width, int height) {}

View File

@ -0,0 +1,21 @@
#pragma once
#ifndef CASCADE_DROPLETS_NOISE_DROPLET_H_
#define CASCADE_DROPLETS_NOISE_DROPLET_H_
#include "daisysp.h"
#include "daisy_patch.h"
#include "droplet.h"
class NoiseDroplet: public Droplet {
private:
daisysp::WhiteNoise noise;
public:
NoiseDroplet(float);
void Control(float, float, float, float);
void Process(float**, float**, size_t);
void Draw(int*, int, int);
};
#endif // CASCADE_DROPLETS_NOISE_DROPLET_H_