mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-29 17:35:33 +00:00
Fixed LFO merging
This commit is contained in:
parent
8618675c2d
commit
e0294c97c7
@ -34,37 +34,13 @@ float LFO::GetSignal() {
|
|||||||
|
|
||||||
LFODroplet::LFODroplet(DaisyPatch* m_patch,
|
LFODroplet::LFODroplet(DaisyPatch* m_patch,
|
||||||
DropletState m_state,
|
DropletState m_state,
|
||||||
float sample_rate) :
|
float m_sample_rate) :
|
||||||
Droplet(m_patch,
|
Droplet(m_patch,
|
||||||
m_state) {
|
m_state) {
|
||||||
|
sample_rate = m_sample_rate;
|
||||||
SetAnimationRate(5);
|
SetAnimationRate(5);
|
||||||
CreateTitleGraph();
|
CreateTitleGraph();
|
||||||
|
SetControls();
|
||||||
switch (GetState()) {
|
|
||||||
default:
|
|
||||||
case DropletState::kFull:
|
|
||||||
lfo[0].Init(Patch(),
|
|
||||||
sample_rate,
|
|
||||||
Patch()->controls[Patch()->CTRL_1],
|
|
||||||
Patch()->controls[Patch()->CTRL_2]);
|
|
||||||
lfo[1].Init(Patch(),
|
|
||||||
sample_rate,
|
|
||||||
Patch()->controls[Patch()->CTRL_3],
|
|
||||||
Patch()->controls[Patch()->CTRL_4]);
|
|
||||||
break;
|
|
||||||
case DropletState::kLeft:
|
|
||||||
lfo[0].Init(Patch(),
|
|
||||||
sample_rate,
|
|
||||||
Patch()->controls[Patch()->CTRL_1],
|
|
||||||
Patch()->controls[Patch()->CTRL_2]);
|
|
||||||
break;
|
|
||||||
case DropletState::kRight:
|
|
||||||
lfo[0].Init(Patch(),
|
|
||||||
sample_rate,
|
|
||||||
Patch()->controls[Patch()->CTRL_3],
|
|
||||||
Patch()->controls[Patch()->CTRL_4]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LFODroplet::~LFODroplet() {
|
LFODroplet::~LFODroplet() {
|
||||||
@ -85,7 +61,9 @@ void LFODroplet::Control() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LFODroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer out, size_t size) {
|
void LFODroplet::Process(AudioHandle::InputBuffer in,
|
||||||
|
AudioHandle::OutputBuffer out,
|
||||||
|
size_t size) {
|
||||||
Patch()->ProcessAnalogControls();
|
Patch()->ProcessAnalogControls();
|
||||||
|
|
||||||
for(size_t i = 0; i < size; i++) {
|
for(size_t i = 0; i < size; i++) {
|
||||||
@ -130,4 +108,33 @@ void LFODroplet::Draw() {
|
|||||||
void LFODroplet::UpdateStateCallback() {
|
void LFODroplet::UpdateStateCallback() {
|
||||||
delete title_graph;
|
delete title_graph;
|
||||||
CreateTitleGraph();
|
CreateTitleGraph();
|
||||||
|
SetControls();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LFODroplet::SetControls() {
|
||||||
|
switch (GetState()) {
|
||||||
|
default:
|
||||||
|
case DropletState::kFull:
|
||||||
|
lfo[0].Init(Patch(),
|
||||||
|
sample_rate,
|
||||||
|
Patch()->controls[Patch()->CTRL_1],
|
||||||
|
Patch()->controls[Patch()->CTRL_2]);
|
||||||
|
lfo[1].Init(Patch(),
|
||||||
|
sample_rate,
|
||||||
|
Patch()->controls[Patch()->CTRL_3],
|
||||||
|
Patch()->controls[Patch()->CTRL_4]);
|
||||||
|
break;
|
||||||
|
case DropletState::kLeft:
|
||||||
|
lfo[0].Init(Patch(),
|
||||||
|
sample_rate,
|
||||||
|
Patch()->controls[Patch()->CTRL_1],
|
||||||
|
Patch()->controls[Patch()->CTRL_2]);
|
||||||
|
break;
|
||||||
|
case DropletState::kRight:
|
||||||
|
lfo[0].Init(Patch(),
|
||||||
|
sample_rate,
|
||||||
|
Patch()->controls[Patch()->CTRL_3],
|
||||||
|
Patch()->controls[Patch()->CTRL_4]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,6 +72,7 @@ class LFODroplet: public Droplet {
|
|||||||
private:
|
private:
|
||||||
LFO lfo[2];
|
LFO lfo[2];
|
||||||
Graph* title_graph;
|
Graph* title_graph;
|
||||||
|
float sample_rate;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a new graph for the title bar.
|
* Create a new graph for the title bar.
|
||||||
@ -120,6 +121,11 @@ public:
|
|||||||
* Runs when droplet state is updated.
|
* Runs when droplet state is updated.
|
||||||
*/
|
*/
|
||||||
void UpdateStateCallback();
|
void UpdateStateCallback();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up the controls for the droplet.
|
||||||
|
*/
|
||||||
|
void SetControls();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DROPLETS_LFO_DROPLET_H_
|
#endif // DROPLETS_LFO_DROPLET_H_
|
||||||
|
Loading…
x
Reference in New Issue
Block a user