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) :
Droplet(m_patch,
m_state) {
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;
}
SetControls();
}
MixerDroplet::~MixerDroplet() {}
@ -100,4 +76,34 @@ void MixerDroplet::Draw() {
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.
*/
void UpdateStateCallback();
/*
* Set up the controls for the droplet.
*/
void SetControls();
};
#endif // DROPLETS_VCA_DROPLET_H_