summaryrefslogtreecommitdiff
path: root/plugins/ZamComp/ZamCompUI.cpp
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2016-03-24 19:39:04 +1100
committerDamien Zammit <damien@zamaudio.com>2016-04-03 13:56:50 +1000
commitf438845b5cd013f6028345b340a29ac6155c4324 (patch)
tree0808daaed719f00bbb9be8dc3a77627b45a1583b /plugins/ZamComp/ZamCompUI.cpp
parent3e23ce9b91baea8282726bf4dfb92d87096ff85b (diff)
Add sidechain to ZamComp
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'plugins/ZamComp/ZamCompUI.cpp')
-rw-r--r--plugins/ZamComp/ZamCompUI.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/ZamComp/ZamCompUI.cpp b/plugins/ZamComp/ZamCompUI.cpp
index ddc010e..7d1f59f 100644
--- a/plugins/ZamComp/ZamCompUI.cpp
+++ b/plugins/ZamComp/ZamCompUI.cpp
@@ -36,6 +36,9 @@ ZamCompUI::ZamCompUI()
fLedRedImg = Image(ZamCompArtwork::ledredData, ZamCompArtwork::ledredWidth, ZamCompArtwork::ledredHeight);
fLedYellowImg = Image(ZamCompArtwork::ledyellowData, ZamCompArtwork::ledyellowWidth, ZamCompArtwork::ledyellowHeight);
+ fTogOn = Image(ZamCompArtwork::toggleonData, ZamCompArtwork::toggleonWidth, ZamCompArtwork::toggleonHeight);
+ fTogOff = Image(ZamCompArtwork::toggleoffData, ZamCompArtwork::toggleoffWidth, ZamCompArtwork::toggleoffHeight);
+
// led values
fLedRedValue = 0.0f;
fLedYellowValue = 0.0f;
@@ -101,6 +104,11 @@ ZamCompUI::ZamCompUI()
fKnobSlew->setRotationAngle(240);
fKnobSlew->setCallback(this);
+ fToggleSidechain = new ImageSwitch(this, fTogOff, fTogOn);
+ fToggleSidechain->setAbsolutePos(500, 61);
+ fToggleSidechain->setId(ZamCompPlugin::paramSidechain);
+ fToggleSidechain->setCallback(this);
+
// set default values
programLoaded(0);
}
@@ -133,6 +141,9 @@ void ZamCompUI::parameterChanged(uint32_t index, float value)
case ZamCompPlugin::paramSlew:
fKnobSlew->setValue(value);
break;
+ case ZamCompPlugin::paramSidechain:
+ fToggleSidechain->setDown(value > 0.5);
+ break;
case ZamCompPlugin::paramGainRed:
if (fLedRedValue != value)
{
@@ -161,6 +172,7 @@ void ZamCompUI::programLoaded(uint32_t index)
fKnobThresh->setValue(0.0f);
fKnobMakeup->setValue(0.0f);
fKnobSlew->setValue(1.0f);
+ fToggleSidechain->setDown(false);
break;
case 1:
fKnobAttack->setValue(10.0f);
@@ -170,6 +182,7 @@ void ZamCompUI::programLoaded(uint32_t index)
fKnobThresh->setValue(-18.0f);
fKnobMakeup->setValue(6.0f);
fKnobSlew->setValue(20.0f);
+ fToggleSidechain->setDown(false);
break;
case 2:
fKnobAttack->setValue(50.0f);
@@ -179,6 +192,7 @@ void ZamCompUI::programLoaded(uint32_t index)
fKnobThresh->setValue(-16.0f);
fKnobMakeup->setValue(9.0f);
fKnobSlew->setValue(1.0f);
+ fToggleSidechain->setDown(false);
break;
}
}
@@ -201,6 +215,11 @@ void ZamCompUI::imageKnobValueChanged(ImageKnob* knob, float value)
setParameterValue(knob->getId(), value);
}
+void ZamCompUI::imageSwitchClicked(ImageSwitch* tog, bool down)
+{
+ setParameterValue(tog->getId(), down ? 1.f : 0.f);
+}
+
void ZamCompUI::onDisplay()
{
fImgBackground.draw();