summaryrefslogtreecommitdiff
path: root/plugins/ZamGateX2/ZamGateX2UI.cpp
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2016-04-03 17:07:06 +1000
committerDamien Zammit <damien@zamaudio.com>2016-04-03 17:19:44 +1000
commit0cd50e32d893256fe3e83b4514e70e59e8c4db94 (patch)
tree5f475db41c90c90d7f11e4a68a75ed19619c854c /plugins/ZamGateX2/ZamGateX2UI.cpp
parentf438845b5cd013f6028345b340a29ac6155c4324 (diff)
Added sidechain feature to ZamComp* and ZamGate*
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'plugins/ZamGateX2/ZamGateX2UI.cpp')
-rw-r--r--plugins/ZamGateX2/ZamGateX2UI.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/ZamGateX2/ZamGateX2UI.cpp b/plugins/ZamGateX2/ZamGateX2UI.cpp
index bab2545..92b02c4 100644
--- a/plugins/ZamGateX2/ZamGateX2UI.cpp
+++ b/plugins/ZamGateX2/ZamGateX2UI.cpp
@@ -34,6 +34,10 @@ ZamGateX2UI::ZamGateX2UI()
fLedRedImg = Image(ZamGateX2Artwork::ledredData, ZamGateX2Artwork::ledredWidth, ZamGateX2Artwork::ledredHeight);
fLedYellowImg = Image(ZamGateX2Artwork::ledyellowData, ZamGateX2Artwork::ledyellowWidth, ZamGateX2Artwork::ledyellowHeight);
+ // toggle images
+ fTogOn = Image(ZamGateX2Artwork::toggleonData, ZamGateX2Artwork::toggleonWidth, ZamGateX2Artwork::toggleonHeight);
+ fTogOff = Image(ZamGateX2Artwork::toggleoffData, ZamGateX2Artwork::toggleoffWidth, ZamGateX2Artwork::toggleoffHeight);
+
// led values
fLedRedValue = 0.0f;
fLedYellowValue = 0.0f;
@@ -74,6 +78,11 @@ ZamGateX2UI::ZamGateX2UI()
fKnobMakeup->setRotationAngle(240);
fKnobMakeup->setCallback(this);
+ fToggleSidechain = new ImageSwitch(this, fTogOff, fTogOn);
+ fToggleSidechain->setAbsolutePos(350, 61);
+ fToggleSidechain->setId(ZamGateX2Plugin::paramSidechain);
+ fToggleSidechain->setCallback(this);
+
// set default values
programLoaded(0);
}
@@ -97,6 +106,9 @@ void ZamGateX2UI::parameterChanged(uint32_t index, float value)
case ZamGateX2Plugin::paramMakeup:
fKnobMakeup->setValue(value);
break;
+ case ZamGateX2Plugin::paramSidechain:
+ fToggleSidechain->setDown(value > 0.5);
+ break;
case ZamGateX2Plugin::paramGainR:
if (fLedRedValue != value)
{
@@ -121,6 +133,7 @@ void ZamGateX2UI::programLoaded(uint32_t index)
fKnobRelease->setValue(100.0f);
fKnobThresh->setValue(-60.0f);
fKnobMakeup->setValue(0.0f);
+ fToggleSidechain->setDown(false);
}
// -----------------------------------------------------------------------
@@ -141,6 +154,11 @@ void ZamGateX2UI::imageKnobValueChanged(ImageKnob* knob, float value)
setParameterValue(knob->getId(), value);
}
+void ZamGateX2UI::imageSwitchClicked(ImageSwitch* tog, bool down)
+{
+ setParameterValue(tog->getId(), down ? 1.f : 0.f);
+}
+
void ZamGateX2UI::onDisplay()
{
fImgBackground.draw();