chorus buttons work

This commit is contained in:
Gordon JC Pearce 2025-03-15 01:18:40 +00:00
parent 04446708c3
commit 9f69ef4e6a
2 changed files with 33 additions and 8 deletions

View File

@ -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;
}

View File

@ -33,7 +33,7 @@ class DistrhoUIchassis : public UI,
xSliderLFODepth, xSliderPWMDepth, xSliderSubLevel, xSliderNoiseLevel,
xSliderHPF, xSliderCutoff, xSliderRes, xSliderEnv, xSliderLfo, xSliderKyb,
xSliderVCALevel, xSliderAtk, xSliderDcy, xSliderStn, xSliderRls;
ScopedPointer<ImageButton> xBtn16ft, xBtn8ft, xBtn4ft, xBtnPls, xBtnSaw;
ScopedPointer<ImageButton> xBtn16ft, xBtn8ft, xBtn4ft, xBtnPls, xBtnSaw, xBtnCh0, xBtnCh1, xBtnCh2;
uint8_t sw1 = 0, sw2 = 0;
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIchassis)