Compare commits
6 Commits
d7fcc9c0b0
...
c33fd60c5c
Author | SHA1 | Date |
---|---|---|
|
c33fd60c5c | |
|
11df5c186f | |
|
80987f0875 | |
|
7607c71dad | |
|
b095ff1a0f | |
|
23e9e5f079 |
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
30394
plugin/peacock.cpp
30394
plugin/peacock.cpp
File diff suppressed because it is too large
Load Diff
211
plugin/ui.cpp
211
plugin/ui.cpp
|
@ -7,6 +7,14 @@ START_NAMESPACE_DISTRHO
|
||||||
|
|
||||||
namespace Art = Artwork;
|
namespace Art = Artwork;
|
||||||
|
|
||||||
|
void prepSlider(ImageSlider* s, uint id, int x, int y) {
|
||||||
|
s->setId(id);
|
||||||
|
s->setStartPos(x, y);
|
||||||
|
s->setEndPos(x, y + 79); // 80px high
|
||||||
|
s->setInverted(true);
|
||||||
|
s->setRange(0, 127.0f);
|
||||||
|
}
|
||||||
|
|
||||||
DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundHeight, true),
|
DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundHeight, true),
|
||||||
fImgBackground(Art::backgroundData, Art::backgroundWidth, Art::backgroundHeight, kImageFormatRGB),
|
fImgBackground(Art::backgroundData, Art::backgroundWidth, Art::backgroundHeight, kImageFormatRGB),
|
||||||
fImgLedOn(Art::ledOnData, Art::ledWidth, Art::ledHeight, kImageFormatRGBA)
|
fImgLedOn(Art::ledOnData, Art::ledWidth, Art::ledHeight, kImageFormatRGBA)
|
||||||
|
@ -18,248 +26,185 @@ 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);
|
||||||
xSliderLFORate->setId(Chassis::pLFORate);
|
prepSlider(xSliderLFORate, pLFORate, 46, 72);
|
||||||
xSliderLFORate->setStartPos(50, 72);
|
|
||||||
xSliderLFORate->setEndPos(50, 151);
|
|
||||||
xSliderLFORate->setRange(0, 127.0f);
|
|
||||||
xSliderLFORate->setInverted(true);
|
|
||||||
xSliderLFORate->setCallback(this);
|
xSliderLFORate->setCallback(this);
|
||||||
|
|
||||||
xSliderLFODelay = new ImageSlider(this, orangeSlider);
|
xSliderLFODelay = new ImageSlider(this, orangeSlider);
|
||||||
xSliderLFODelay->setId(Chassis::pLFODelay);
|
prepSlider(xSliderLFODelay, pLFODelay, 84, 72);
|
||||||
xSliderLFODelay->setStartPos(90, 72);
|
|
||||||
xSliderLFODelay->setEndPos(90, 151);
|
|
||||||
xSliderLFODelay->setRange(0, 127.0f);
|
|
||||||
xSliderLFODelay->setInverted(true);
|
|
||||||
xSliderLFODelay->setCallback(this);
|
xSliderLFODelay->setCallback(this);
|
||||||
|
|
||||||
xSliderLFODepth = new ImageSlider(this, greenSlider);
|
xSliderLFODepth = new ImageSlider(this, greenSlider);
|
||||||
xSliderLFODepth->setId(Chassis::pLFODepth);
|
prepSlider(xSliderLFODepth, pLFODepth, 290, 72);
|
||||||
xSliderLFODepth->setStartPos(292, 72);
|
|
||||||
xSliderLFODepth->setEndPos(292, 151);
|
|
||||||
xSliderLFODepth->setRange(0, 127.0f);
|
|
||||||
xSliderLFODepth->setInverted(true);
|
|
||||||
xSliderLFODepth->setCallback(this);
|
xSliderLFODepth->setCallback(this);
|
||||||
|
|
||||||
xSliderPWMDepth = new ImageSlider(this, greenSlider);
|
xSliderPWMDepth = new ImageSlider(this, greenSlider);
|
||||||
xSliderPWMDepth->setId(Chassis::pPWMDepth);
|
prepSlider(xSliderPWMDepth, pPWMDepth, 329, 72);
|
||||||
xSliderPWMDepth->setStartPos(331, 72);
|
|
||||||
xSliderPWMDepth->setEndPos(331, 151);
|
|
||||||
xSliderPWMDepth->setRange(0, 127.0f);
|
|
||||||
xSliderPWMDepth->setInverted(true);
|
|
||||||
xSliderPWMDepth->setCallback(this);
|
xSliderPWMDepth->setCallback(this);
|
||||||
|
|
||||||
xSliderSubLevel = new ImageSlider(this, greenSlider);
|
xSliderSubLevel = new ImageSlider(this, greenSlider);
|
||||||
xSliderSubLevel->setId(Chassis::pSubLevel);
|
prepSlider(xSliderSubLevel, pSubLevel, 510, 72);
|
||||||
xSliderSubLevel->setStartPos(517, 72);
|
|
||||||
xSliderSubLevel->setEndPos(517, 151);
|
|
||||||
xSliderSubLevel->setRange(0, 127.0f);
|
|
||||||
xSliderSubLevel->setInverted(true);
|
|
||||||
xSliderSubLevel->setCallback(this);
|
xSliderSubLevel->setCallback(this);
|
||||||
|
|
||||||
xSliderNoiseLevel = new ImageSlider(this, greenSlider);
|
xSliderNoiseLevel = new ImageSlider(this, greenSlider);
|
||||||
xSliderNoiseLevel->setId(Chassis::pNoiseLevel);
|
prepSlider(xSliderNoiseLevel, pNoiseLevel, 551, 72);
|
||||||
xSliderNoiseLevel->setStartPos(558, 72);
|
|
||||||
xSliderNoiseLevel->setEndPos(558, 151);
|
|
||||||
xSliderNoiseLevel->setRange(0, 127.0f);
|
|
||||||
xSliderNoiseLevel->setInverted(true);
|
|
||||||
xSliderNoiseLevel->setCallback(this);
|
xSliderNoiseLevel->setCallback(this);
|
||||||
|
|
||||||
xSliderHPF = new ImageSlider(this, blueSlider);
|
xSliderHPF = new ImageSlider(this, blueSlider);
|
||||||
xSliderHPF->setId(Chassis::pHPF);
|
prepSlider(xSliderHPF, pHPF, 618, 72);
|
||||||
xSliderHPF->setStartPos(618, 72);
|
|
||||||
xSliderHPF->setEndPos(618, 151);
|
|
||||||
xSliderHPF->setRange(0, 3.0f);
|
|
||||||
xSliderHPF->setStep(1);
|
xSliderHPF->setStep(1);
|
||||||
xSliderHPF->setInverted(true);
|
xSliderHPF->setRange(0,3);
|
||||||
xSliderHPF->setCallback(this);
|
xSliderHPF->setCallback(this);
|
||||||
|
|
||||||
xSliderCutoff = new ImageSlider(this, blueSlider);
|
xSliderCutoff = new ImageSlider(this, blueSlider);
|
||||||
xSliderCutoff->setId(Chassis::pCutoff);
|
prepSlider(xSliderCutoff, pCutoff, 26, 261);
|
||||||
xSliderCutoff->setStartPos(21, 261);
|
|
||||||
xSliderCutoff->setEndPos(21, 340);
|
|
||||||
xSliderCutoff->setRange(0, 127.0f);
|
|
||||||
xSliderCutoff->setInverted(true);
|
|
||||||
xSliderCutoff->setCallback(this);
|
xSliderCutoff->setCallback(this);
|
||||||
|
|
||||||
xSliderRes = new ImageSlider(this, blueSlider);
|
xSliderRes = new ImageSlider(this, blueSlider);
|
||||||
xSliderRes->setId(Chassis::pRes);
|
prepSlider(xSliderRes, pRes, 65, 261);
|
||||||
xSliderRes->setStartPos(60, 261);
|
|
||||||
xSliderRes->setEndPos(60, 340);
|
|
||||||
xSliderRes->setRange(0, 127.0f);
|
|
||||||
xSliderRes->setInverted(true);
|
|
||||||
xSliderRes->setCallback(this);
|
xSliderRes->setCallback(this);
|
||||||
|
|
||||||
xSliderEnv = new ImageSlider(this, blueSlider);
|
xSliderEnv = new ImageSlider(this, blueSlider);
|
||||||
xSliderEnv->setId(Chassis::pEnv);
|
prepSlider(xSliderEnv, pEnv, 149, 261);
|
||||||
xSliderEnv->setStartPos(144, 261);
|
|
||||||
xSliderEnv->setEndPos(144, 340);
|
|
||||||
xSliderEnv->setRange(0, 127.0f);
|
|
||||||
xSliderEnv->setInverted(true);
|
|
||||||
xSliderEnv->setCallback(this);
|
xSliderEnv->setCallback(this);
|
||||||
|
|
||||||
xSliderLfo = new ImageSlider(this, blueSlider);
|
xSliderLfo = new ImageSlider(this, blueSlider);
|
||||||
xSliderLfo->setId(Chassis::pLfo);
|
prepSlider(xSliderLfo, pLfo, 189, 261);
|
||||||
xSliderLfo->setStartPos(183, 261);
|
|
||||||
xSliderLfo->setEndPos(183, 340);
|
|
||||||
xSliderLfo->setRange(0, 127.0f);
|
|
||||||
xSliderLfo->setInverted(true);
|
|
||||||
xSliderLfo->setCallback(this);
|
xSliderLfo->setCallback(this);
|
||||||
|
|
||||||
xSliderKyb = new ImageSlider(this, blueSlider);
|
xSliderKyb = new ImageSlider(this, blueSlider);
|
||||||
xSliderKyb->setId(Chassis::pKyb);
|
prepSlider(xSliderKyb, pKyb, 228, 261);
|
||||||
xSliderKyb->setStartPos(222, 261);
|
|
||||||
xSliderKyb->setEndPos(222, 340);
|
|
||||||
xSliderKyb->setRange(0, 127.0f);
|
|
||||||
xSliderKyb->setInverted(true);
|
|
||||||
xSliderKyb->setCallback(this);
|
xSliderKyb->setCallback(this);
|
||||||
|
|
||||||
xSliderVCALevel = new ImageSlider(this, whiteSlider);
|
xSliderVCALevel = new ImageSlider(this, whiteSlider);
|
||||||
xSliderVCALevel->setId(Chassis::pVCALevel);
|
prepSlider(xSliderVCALevel, pVCALevel, 319, 261);
|
||||||
xSliderVCALevel->setStartPos(314, 261);
|
|
||||||
xSliderVCALevel->setEndPos(314, 340);
|
|
||||||
xSliderVCALevel->setRange(0, 127.0f);
|
|
||||||
xSliderVCALevel->setInverted(true);
|
|
||||||
xSliderVCALevel->setCallback(this);
|
xSliderVCALevel->setCallback(this);
|
||||||
|
|
||||||
xSliderAtk = new ImageSlider(this, whiteSlider);
|
xSliderAtk = new ImageSlider(this, whiteSlider);
|
||||||
xSliderAtk->setId(Chassis::pAtk);
|
prepSlider(xSliderAtk, pVCALevel, 385, 261);
|
||||||
xSliderAtk->setStartPos(375, 261);
|
|
||||||
xSliderAtk->setEndPos(375, 340);
|
|
||||||
xSliderAtk->setRange(0, 127.0f);
|
|
||||||
xSliderAtk->setInverted(true);
|
|
||||||
xSliderAtk->setCallback(this);
|
xSliderAtk->setCallback(this);
|
||||||
|
|
||||||
xSliderDcy = new ImageSlider(this, whiteSlider);
|
xSliderDcy = new ImageSlider(this, whiteSlider);
|
||||||
xSliderDcy->setId(Chassis::pDcy);
|
prepSlider(xSliderDcy, pDcy, 425, 261);
|
||||||
xSliderDcy->setStartPos(414, 261);
|
|
||||||
xSliderDcy->setEndPos(414, 340);
|
|
||||||
xSliderDcy->setRange(0, 127.0f);
|
|
||||||
xSliderDcy->setInverted(true);
|
|
||||||
xSliderDcy->setCallback(this);
|
xSliderDcy->setCallback(this);
|
||||||
|
|
||||||
xSliderStn = new ImageSlider(this, whiteSlider);
|
xSliderStn = new ImageSlider(this, whiteSlider);
|
||||||
xSliderStn->setId(Chassis::pStn);
|
prepSlider(xSliderStn, pStn, 465, 261);
|
||||||
xSliderStn->setStartPos(454, 261);
|
|
||||||
xSliderStn->setEndPos(454, 340);
|
|
||||||
xSliderStn->setRange(0, 127.0f);
|
|
||||||
xSliderStn->setInverted(true);
|
|
||||||
xSliderStn->setCallback(this);
|
xSliderStn->setCallback(this);
|
||||||
|
|
||||||
xSliderRls = new ImageSlider(this, whiteSlider);
|
xSliderRls = new ImageSlider(this, whiteSlider);
|
||||||
xSliderRls->setId(Chassis::pRls);
|
prepSlider(xSliderRls, pRls, 505, 261);
|
||||||
xSliderRls->setStartPos(493, 261);
|
|
||||||
xSliderRls->setEndPos(493, 340);
|
|
||||||
xSliderRls->setRange(0, 127.0f);
|
|
||||||
xSliderRls->setInverted(true);
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DistrhoUIchassis::~DistrhoUIchassis() {
|
DistrhoUIchassis::~DistrhoUIchassis() {
|
||||||
printf("Called destructor for UI\n");
|
printf("Called destructor for UI\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
case 0: sw1 |= 0x60; break;
|
case 0:
|
||||||
case 1: sw1 |= 0x40; break;
|
sw1 |= 0x60;
|
||||||
case 2: sw1 |= 0x00; break;
|
break;
|
||||||
|
case 1:
|
||||||
|
sw1 |= 0x40;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sw1 |= 0x00;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -276,14 +221,24 @@ void DistrhoUIchassis::imageSliderValueChanged(ImageSlider* slider, float value)
|
||||||
setParameterValue(slider->getId(), value);
|
setParameterValue(slider->getId(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DistrhoUIchassis::imageButtonClicked(ImageButton *imgBtn, int) {
|
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: sw1 &= 0xf8; sw1 |= 0x01; break;
|
case btn16:
|
||||||
case Chassis::btn8: sw1 &= 0xf8; sw1 |= 0x02; break;
|
sw1 &= 0xf8;
|
||||||
case Chassis::btn4: sw1 &= 0xf8; sw1 |= 0x04; break;
|
sw1 |= 0x01;
|
||||||
default: break;
|
break;
|
||||||
|
case btn8:
|
||||||
|
sw1 &= 0xf8;
|
||||||
|
sw1 |= 0x02;
|
||||||
|
break;
|
||||||
|
case btn4:
|
||||||
|
sw1 &= 0xf8;
|
||||||
|
sw1 |= 0x04;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,8 +252,8 @@ void DistrhoUIchassis::onDisplay() {
|
||||||
if (sw1 & 0x04) fImgLedOn.drawAt(context, 238, 77); // 4'
|
if (sw1 & 0x04) fImgLedOn.drawAt(context, 238, 77); // 4'
|
||||||
if (sw1 & 0x08) fImgLedOn.drawAt(context, 427, 77); // pulse
|
if (sw1 & 0x08) fImgLedOn.drawAt(context, 427, 77); // pulse
|
||||||
if (sw1 & 0x10) fImgLedOn.drawAt(context, 465, 77); // saw
|
if (sw1 & 0x10) fImgLedOn.drawAt(context, 465, 77); // saw
|
||||||
if ((sw1 & 0x60) == 0x40) fImgLedOn.drawAt(context, 604, 269); // chorus 1
|
if ((sw1 & 0x60) == 0x40) fImgLedOn.drawAt(context, 612, 267); // chorus 1
|
||||||
if ((sw1 & 0x60) == 0x00) fImgLedOn.drawAt(context, 644, 269); // chorus 2
|
if ((sw1 & 0x60) == 0x00) fImgLedOn.drawAt(context, 652, 267); // chorus 2
|
||||||
};
|
};
|
||||||
|
|
||||||
UI* createUI() {
|
UI* createUI() {
|
||||||
|
|
Loading…
Reference in New Issue