Fixed Mixer merging

This commit is contained in:
Christian Colglazier 2022-01-22 16:30:26 -05:00
parent e0294c97c7
commit 32b12c45c3
2 changed files with 37 additions and 26 deletions

View File

@ -4,31 +4,7 @@ MixerDroplet::MixerDroplet(DaisyPatch* m_patch,
DropletState m_state) : DropletState m_state) :
Droplet(m_patch, Droplet(m_patch,
m_state) { m_state) {
switch (GetState()) { SetControls();
default:
case DropletState::kFull:
mix[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
mix[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
mix[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
mix[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kLeft:
mix[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
mix[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kRight:
mix[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
mix[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
}
} }
MixerDroplet::~MixerDroplet() {} MixerDroplet::~MixerDroplet() {}
@ -100,4 +76,34 @@ void MixerDroplet::Draw() {
DrawName("Mixer"); DrawName("Mixer");
} }
void MixerDroplet::UpdateStateCallback() {} void MixerDroplet::UpdateStateCallback() {
SetControls();
}
void MixerDroplet::SetControls() {
switch (GetState()) {
default:
case DropletState::kFull:
mix[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
mix[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
mix[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
mix[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kLeft:
mix[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
mix[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kRight:
mix[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
mix[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
}
}

View File

@ -56,6 +56,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_VCA_DROPLET_H_ #endif // DROPLETS_VCA_DROPLET_H_