From 9f69ef4e6a811a4708cd61b0c379e8ac91b92038 Mon Sep 17 00:00:00 2001 From: Gordon JC Pearce Date: Sat, 15 Mar 2025 01:18:40 +0000 Subject: [PATCH] chorus buttons work --- plugin/ui.cpp | 39 ++++++++++++++++++++++++++++++++------- plugin/ui.hpp | 2 +- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/plugin/ui.cpp b/plugin/ui.cpp index a815a29..9d9ee7c 100644 --- a/plugin/ui.cpp +++ b/plugin/ui.cpp @@ -52,7 +52,7 @@ DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundH xSliderHPF = new ImageSlider(this, blueSlider); prepSlider(xSliderHPF, pHPF, 618, 72); xSliderHPF->setStep(1); - xSliderHPF->setRange(0,3); + xSliderHPF->setRange(0, 3); xSliderHPF->setCallback(this); xSliderCutoff = new ImageSlider(this, blueSlider); @@ -111,19 +111,34 @@ DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundH xBtn4ft->setId(btn4); xBtn4ft->setCallback(this); + // waveform xBtnPls = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA), Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); xBtnPls->setAbsolutePos(414, 104); xBtnPls->setId(btnPls); xBtnPls->setCallback(this); xBtnSaw = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA), - Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); -xBtnSaw->setAbsolutePos(455, 104); -xBtnSaw->setId(btnSaw); -xBtnSaw->setCallback(this); - - + Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); + xBtnSaw->setAbsolutePos(455, 104); + xBtnSaw->setId(btnSaw); + xBtnSaw->setCallback(this); + // Chorus + xBtnCh0 = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA), + Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); + xBtnCh0->setAbsolutePos(562, 293); + xBtnCh0->setId(btnCh0); + xBtnCh0->setCallback(this); + xBtnCh1 = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA), + Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); + xBtnCh1->setAbsolutePos(603, 293); + xBtnCh1->setId(btnCh1); + xBtnCh1->setCallback(this); + xBtnCh2 = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA), + Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGBA)); + xBtnCh2->setAbsolutePos(644, 293); + xBtnCh2->setId(btnCh2); + xBtnCh2->setCallback(this); programLoaded(0); } @@ -257,6 +272,16 @@ void DistrhoUIchassis::imageButtonClicked(ImageButton* imgBtn, int) { case btnSaw: sw1 ^= 0x10; break; + case btnCh0: + sw1 = (sw1 & 0x1f) | 0x20; + break; + case btnCh1: + sw1 = (sw1 & 0x1f) | 0x40; + break; + case btnCh2: + sw1 = (sw1 & 0x1f); + break; + default: break; } diff --git a/plugin/ui.hpp b/plugin/ui.hpp index 70b148e..1151a9d 100644 --- a/plugin/ui.hpp +++ b/plugin/ui.hpp @@ -33,7 +33,7 @@ class DistrhoUIchassis : public UI, xSliderLFODepth, xSliderPWMDepth, xSliderSubLevel, xSliderNoiseLevel, xSliderHPF, xSliderCutoff, xSliderRes, xSliderEnv, xSliderLfo, xSliderKyb, xSliderVCALevel, xSliderAtk, xSliderDcy, xSliderStn, xSliderRls; - ScopedPointer xBtn16ft, xBtn8ft, xBtn4ft, xBtnPls, xBtnSaw; + ScopedPointer xBtn16ft, xBtn8ft, xBtn4ft, xBtnPls, xBtnSaw, xBtnCh0, xBtnCh1, xBtnCh2; uint8_t sw1 = 0, sw2 = 0; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIchassis)