moved slider enum

This commit is contained in:
Gordon JC Pearce 2025-02-16 13:43:50 +00:00
parent b095ff1a0f
commit 7607c71dad
3 changed files with 79 additions and 78 deletions

View File

@ -30,4 +30,38 @@
#define DISTRHO_PLUGIN_WANT_PROGRAMS 1 #define DISTRHO_PLUGIN_WANT_PROGRAMS 1
#define DISTRHO_PLUGIN_HAS_UI 1 #define DISTRHO_PLUGIN_HAS_UI 1
enum Parameters {
pLFORate,
pLFODelay,
pVCORange,
pLFODepth,
pPWMDepth,
pSqr,
pSaw,
pSubLevel,
pNoiseLevel,
pHPF,
pCutoff,
pRes,
pEnv,
pLfo,
pKyb,
pVCALevel,
pAtk,
pDcy,
pStn,
pRls,
pChorus,
parameterCount,
btn16, btn8, btn4, btnPls, btnSaw, btnCh0, btnCh1, btnCh2
};
#endif #endif

View File

@ -27,39 +27,6 @@ START_NAMESPACE_DISTRHO
class Chassis : public Plugin { class Chassis : public Plugin {
public: public:
enum Parameters {
pLFORate,
pLFODelay,
pVCORange,
pLFODepth,
pPWMDepth,
pSqr,
pSaw,
pSubLevel,
pNoiseLevel,
pHPF,
pCutoff,
pRes,
pEnv,
pLfo,
pKyb,
pVCALevel,
pAtk,
pDcy,
pStn,
pRls,
pChorus,
parameterCount,
btn16, btn8, btn4, btnPls, btnSaw, btnCh0, btnCh1, btnCh2
};
Chassis(); Chassis();
protected: protected:

View File

@ -26,88 +26,88 @@ DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundH
Image whiteSlider(Art::whiteData, Art::sliderWidth, Art::sliderHeight, kImageFormatRGBA); Image whiteSlider(Art::whiteData, Art::sliderWidth, Art::sliderHeight, kImageFormatRGBA);
xSliderLFORate = new ImageSlider(this, orangeSlider); xSliderLFORate = new ImageSlider(this, orangeSlider);
prepSlider(xSliderLFORate, Chassis::pLFORate, 50, 72); prepSlider(xSliderLFORate, pLFORate, 50, 72);
xSliderLFORate->setCallback(this); xSliderLFORate->setCallback(this);
xSliderLFODelay = new ImageSlider(this, orangeSlider); xSliderLFODelay = new ImageSlider(this, orangeSlider);
prepSlider(xSliderLFODelay, Chassis::pLFODelay, 90, 72); prepSlider(xSliderLFODelay, pLFODelay, 90, 72);
xSliderLFODelay->setCallback(this); xSliderLFODelay->setCallback(this);
xSliderLFODepth = new ImageSlider(this, greenSlider); xSliderLFODepth = new ImageSlider(this, greenSlider);
prepSlider(xSliderLFODepth, Chassis::pLFODepth, 292, 72); prepSlider(xSliderLFODepth, pLFODepth, 292, 72);
xSliderLFODepth->setCallback(this); xSliderLFODepth->setCallback(this);
xSliderPWMDepth = new ImageSlider(this, greenSlider); xSliderPWMDepth = new ImageSlider(this, greenSlider);
prepSlider(xSliderPWMDepth, Chassis::pPWMDepth, 331, 72); prepSlider(xSliderPWMDepth, pPWMDepth, 331, 72);
xSliderPWMDepth->setCallback(this); xSliderPWMDepth->setCallback(this);
xSliderSubLevel = new ImageSlider(this, greenSlider); xSliderSubLevel = new ImageSlider(this, greenSlider);
prepSlider(xSliderSubLevel, Chassis::pSubLevel, 517, 72); prepSlider(xSliderSubLevel, pSubLevel, 517, 72);
xSliderSubLevel->setCallback(this); xSliderSubLevel->setCallback(this);
xSliderNoiseLevel = new ImageSlider(this, greenSlider); xSliderNoiseLevel = new ImageSlider(this, greenSlider);
prepSlider(xSliderNoiseLevel, Chassis::pNoiseLevel, 558, 72); prepSlider(xSliderNoiseLevel, pNoiseLevel, 558, 72);
xSliderNoiseLevel->setCallback(this); xSliderNoiseLevel->setCallback(this);
// FIXME - put the stops back in // FIXME - put the stops back in
xSliderHPF = new ImageSlider(this, blueSlider); xSliderHPF = new ImageSlider(this, blueSlider);
prepSlider(xSliderHPF, Chassis::pHPF, 618, 72); prepSlider(xSliderHPF, pHPF, 618, 72);
xSliderHPF->setCallback(this); xSliderHPF->setCallback(this);
xSliderCutoff = new ImageSlider(this, blueSlider); xSliderCutoff = new ImageSlider(this, blueSlider);
prepSlider(xSliderCutoff, Chassis::pCutoff, 21, 261); prepSlider(xSliderCutoff, pCutoff, 21, 261);
xSliderCutoff->setCallback(this); xSliderCutoff->setCallback(this);
xSliderRes = new ImageSlider(this, blueSlider); xSliderRes = new ImageSlider(this, blueSlider);
prepSlider(xSliderRes, Chassis::pRes, 60, 261); prepSlider(xSliderRes, pRes, 60, 261);
xSliderRes->setCallback(this); xSliderRes->setCallback(this);
xSliderEnv = new ImageSlider(this, blueSlider); xSliderEnv = new ImageSlider(this, blueSlider);
prepSlider(xSliderEnv, Chassis::pEnv, 144, 261); prepSlider(xSliderEnv, pEnv, 144, 261);
xSliderEnv->setCallback(this); xSliderEnv->setCallback(this);
xSliderLfo = new ImageSlider(this, blueSlider); xSliderLfo = new ImageSlider(this, blueSlider);
prepSlider(xSliderLfo, Chassis::pLfo, 183, 261); prepSlider(xSliderLfo, pLfo, 183, 261);
xSliderLfo->setCallback(this); xSliderLfo->setCallback(this);
xSliderKyb = new ImageSlider(this, blueSlider); xSliderKyb = new ImageSlider(this, blueSlider);
prepSlider(xSliderKyb, Chassis::pKyb, 222, 261); prepSlider(xSliderKyb, pKyb, 222, 261);
xSliderKyb->setCallback(this); xSliderKyb->setCallback(this);
xSliderVCALevel = new ImageSlider(this, whiteSlider); xSliderVCALevel = new ImageSlider(this, whiteSlider);
prepSlider(xSliderVCALevel, Chassis::pVCALevel, 314, 261); prepSlider(xSliderVCALevel, pVCALevel, 314, 261);
xSliderVCALevel->setCallback(this); xSliderVCALevel->setCallback(this);
xSliderAtk = new ImageSlider(this, whiteSlider); xSliderAtk = new ImageSlider(this, whiteSlider);
prepSlider(xSliderAtk, Chassis::pVCALevel, 375, 261); prepSlider(xSliderAtk, pVCALevel, 375, 261);
xSliderAtk->setCallback(this); xSliderAtk->setCallback(this);
xSliderDcy = new ImageSlider(this, whiteSlider); xSliderDcy = new ImageSlider(this, whiteSlider);
prepSlider(xSliderDcy, Chassis::pDcy, 414, 261); prepSlider(xSliderDcy, pDcy, 414, 261);
xSliderDcy->setCallback(this); xSliderDcy->setCallback(this);
xSliderStn = new ImageSlider(this, whiteSlider); xSliderStn = new ImageSlider(this, whiteSlider);
prepSlider(xSliderStn, Chassis::pStn, 454, 261); prepSlider(xSliderStn, pStn, 454, 261);
xSliderStn->setCallback(this); xSliderStn->setCallback(this);
xSliderRls = new ImageSlider(this, whiteSlider); xSliderRls = new ImageSlider(this, whiteSlider);
prepSlider(xSliderRls, Chassis::pRls, 493, 261); prepSlider(xSliderRls, pRls, 493, 261);
xSliderRls->setCallback(this); xSliderRls->setCallback(this);
xBtn16ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB), xBtn16ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB),
Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB)); Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB));
xBtn16ft->setAbsolutePos(149, 103); xBtn16ft->setAbsolutePos(149, 103);
xBtn16ft->setId(Chassis::btn16); xBtn16ft->setId(btn16);
xBtn16ft->setCallback(this); xBtn16ft->setCallback(this);
xBtn8ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB), xBtn8ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB),
Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB)); Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB));
xBtn8ft->setAbsolutePos(190, 103); xBtn8ft->setAbsolutePos(190, 103);
xBtn8ft->setId(Chassis::btn8); xBtn8ft->setId(btn8);
xBtn8ft->setCallback(this); xBtn8ft->setCallback(this);
xBtn4ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB), xBtn4ft = new ImageButton(this, Image(Art::orngBtnUp, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB),
Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB)); Image(Art::orngBtnDn, Art::orngBtnWidth, Art::orngBtnHeight, kImageFormatRGB));
xBtn4ft->setAbsolutePos(231, 103); xBtn4ft->setAbsolutePos(231, 103);
xBtn4ft->setId(Chassis::btn4); xBtn4ft->setId(btn4);
xBtn4ft->setCallback(this); xBtn4ft->setCallback(this);
programLoaded(0); programLoaded(0);
} }
@ -118,80 +118,80 @@ DistrhoUIchassis::~DistrhoUIchassis() {
void DistrhoUIchassis::programLoaded(uint32_t index) { void DistrhoUIchassis::programLoaded(uint32_t index) {
switch (index) { switch (index) {
case Chassis::pLFORate: case pLFORate:
xSliderLFORate->setValue(0.5); xSliderLFORate->setValue(0.5);
break; break;
case Chassis::pLFODelay: case pLFODelay:
xSliderLFODelay->setValue(0.5); xSliderLFODelay->setValue(0.5);
break; break;
} }
} }
void DistrhoUIchassis::parameterChanged(uint32_t index, float value) { void DistrhoUIchassis::parameterChanged(uint32_t index, float value) {
switch (index) { switch (index) {
case Chassis::pLFORate: case pLFORate:
xSliderLFORate->setValue(value); xSliderLFORate->setValue(value);
break; break;
case Chassis::pLFODelay: case pLFODelay:
xSliderLFODelay->setValue(value); xSliderLFODelay->setValue(value);
break; break;
case Chassis::pLFODepth: case pLFODepth:
xSliderLFODepth->setValue(value); xSliderLFODepth->setValue(value);
break; break;
case Chassis::pPWMDepth: case pPWMDepth:
xSliderPWMDepth->setValue(value); xSliderPWMDepth->setValue(value);
break; break;
case Chassis::pSubLevel: case pSubLevel:
xSliderSubLevel->setValue(value); xSliderSubLevel->setValue(value);
break; break;
case Chassis::pNoiseLevel: case pNoiseLevel:
xSliderNoiseLevel->setValue(value); xSliderNoiseLevel->setValue(value);
break; break;
case Chassis::pHPF: case pHPF:
xSliderHPF->setValue(value); xSliderHPF->setValue(value);
break; break;
case Chassis::pCutoff: case pCutoff:
xSliderCutoff->setValue(value); xSliderCutoff->setValue(value);
break; break;
case Chassis::pRes: case pRes:
xSliderRes->setValue(value); xSliderRes->setValue(value);
break; break;
case Chassis::pEnv: case pEnv:
xSliderEnv->setValue(value); xSliderEnv->setValue(value);
break; break;
case Chassis::pLfo: case pLfo:
xSliderLfo->setValue(value); xSliderLfo->setValue(value);
break; break;
case Chassis::pKyb: case pKyb:
xSliderKyb->setValue(value); xSliderKyb->setValue(value);
break; break;
case Chassis::pAtk: case pAtk:
xSliderAtk->setValue(value); xSliderAtk->setValue(value);
break; break;
case Chassis::pDcy: case pDcy:
xSliderDcy->setValue(value); xSliderDcy->setValue(value);
break; break;
case Chassis::pStn: case pStn:
xSliderStn->setValue(value); xSliderStn->setValue(value);
break; break;
case Chassis::pRls: case pRls:
xSliderRls->setValue(value); xSliderRls->setValue(value);
break; break;
// now the switches // now the switches
case Chassis::pVCORange: case pVCORange:
sw1 &= 0xf8; // mask sw1 &= 0xf8; // mask
if (value > 2) value = 2; if (value > 2) value = 2;
sw1 |= (1 << (int)value); sw1 |= (1 << (int)value);
break; break;
case Chassis::pSqr: case pSqr:
sw1 &= 0xf7; sw1 &= 0xf7;
sw1 |= ((value >= 0.5)) << 3; sw1 |= ((value >= 0.5)) << 3;
break; break;
case Chassis::pSaw: case pSaw:
sw1 &= 0xef; sw1 &= 0xef;
sw1 |= (value > 0.5) << 4; sw1 |= (value > 0.5) << 4;
break; break;
case Chassis::pChorus: case pChorus:
sw1 &= 0x9f; sw1 &= 0x9f;
// 60, 40, 00 // 60, 40, 00
switch ((int)value) { switch ((int)value) {
@ -224,15 +224,15 @@ void DistrhoUIchassis::imageButtonClicked(ImageButton* imgBtn, int) {
int id = imgBtn->getId(); int id = imgBtn->getId();
// printf("imagebutton %d\n", id); // printf("imagebutton %d\n", id);
switch (id) { switch (id) {
case Chassis::btn16: case btn16:
sw1 &= 0xf8; sw1 &= 0xf8;
sw1 |= 0x01; sw1 |= 0x01;
break; break;
case Chassis::btn8: case btn8:
sw1 &= 0xf8; sw1 &= 0xf8;
sw1 |= 0x02; sw1 |= 0x02;
break; break;
case Chassis::btn4: case btn4:
sw1 &= 0xf8; sw1 &= 0xf8;
sw1 |= 0x04; sw1 |= 0x04;
break; break;