mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-30 01:35:34 +00:00
Droplet size
This commit is contained in:
parent
bdb0e33d49
commit
2922aca05a
@ -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;
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user