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,
|
||||
DropletState m_state,
|
||||
float sample_rate) :
|
||||
float m_sample_rate) :
|
||||
Droplet(m_patch,
|
||||
m_state) {
|
||||
sample_rate = m_sample_rate;
|
||||
SetAnimationRate(5);
|
||||
CreateTitleGraph();
|
||||
|
||||
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;
|
||||
}
|
||||
SetControls();
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
for(size_t i = 0; i < size; i++) {
|
||||
@ -130,4 +108,33 @@ void LFODroplet::Draw() {
|
||||
void LFODroplet::UpdateStateCallback() {
|
||||
delete title_graph;
|
||||
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:
|
||||
LFO lfo[2];
|
||||
Graph* title_graph;
|
||||
float sample_rate;
|
||||
|
||||
/*
|
||||
* Create a new graph for the title bar.
|
||||
@ -120,6 +121,11 @@ public:
|
||||
* Runs when droplet state is updated.
|
||||
*/
|
||||
void UpdateStateCallback();
|
||||
|
||||
/*
|
||||
* Set up the controls for the droplet.
|
||||
*/
|
||||
void SetControls();
|
||||
};
|
||||
|
||||
#endif // DROPLETS_LFO_DROPLET_H_
|
||||
|
Loading…
x
Reference in New Issue
Block a user