Fixed VCA merging

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

View File

@ -4,31 +4,7 @@ VCADroplet::VCADroplet(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:
vca[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
vca[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
vca[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
vca[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kLeft:
vca[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
vca[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kRight:
vca[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
vca[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
}
} }
VCADroplet::~VCADroplet() {} VCADroplet::~VCADroplet() {}
@ -90,4 +66,34 @@ void VCADroplet::Draw() {
DrawName("VCA"); DrawName("VCA");
} }
void VCADroplet::UpdateStateCallback() {} void VCADroplet::UpdateStateCallback() {
SetControls();
}
void VCADroplet::SetControls() {
switch (GetState()) {
default:
case DropletState::kFull:
vca[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
vca[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
vca[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
vca[3].Init(Patch()->controls[Patch()->CTRL_4],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kLeft:
vca[0].Init(Patch()->controls[Patch()->CTRL_1],
0.0, 1.0f, Parameter::LINEAR);
vca[1].Init(Patch()->controls[Patch()->CTRL_2],
0.0, 1.0f, Parameter::LINEAR);
break;
case DropletState::kRight:
vca[2].Init(Patch()->controls[Patch()->CTRL_3],
0.0, 1.0f, Parameter::LINEAR);
vca[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_