summaryrefslogtreecommitdiff
path: root/plugins/ZamComp/ZamCompUI.cpp
diff options
context:
space:
mode:
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 ccc319b..5cf8f31 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;
@@ -107,6 +110,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);
}
@@ -139,6 +147,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)
{
@@ -167,6 +178,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);
@@ -176,6 +188,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);
@@ -185,6 +198,7 @@ void ZamCompUI::programLoaded(uint32_t index)
fKnobThresh->setValue(-16.0f);
fKnobMakeup->setValue(9.0f);
fKnobSlew->setValue(1.0f);
+ fToggleSidechain->setDown(false);
break;
}
}
@@ -207,6 +221,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();