slider updates work again

This commit is contained in:
Gordon JC Pearce 2025-02-16 22:14:12 +00:00
parent a54929c2b3
commit 71a9f5b03d
1 changed files with 66 additions and 66 deletions

View File

@ -7,7 +7,6 @@ START_NAMESPACE_DISTRHO
namespace Art = Artwork;
//void prepSlider(ImageSlider* s, uint id, int x, int y) {
void DistrhoUIchassis::prepSlider( uint id, int x, int y) {
ImageSlider* s = slider[id];
s->setId(id);
@ -123,67 +122,18 @@ DistrhoUIchassis::~DistrhoUIchassis() {
void DistrhoUIchassis::programLoaded(uint32_t index) {
switch (index) {
case sLfoRate:
// slider[pLFORate->setValue(0.5);
case pLfoRate:
// slider[sLfo.Rate->setValue(0.5);
break;
case sLfoDelay:
// slider[pLFODelay->setValue(0.5);
case pLfoDelay:
// slider[sLfo.Delay->setValue(0.5);
break;
}
}
void DistrhoUIchassis::parameterChanged(uint32_t index, float value) {
#if 0
switch (index) {
case sLfoRate:
slider[pLFORate->setValue(value);
break;
case sLfoDelay:
slider[pLFODelay->setValue(value);
break;
case sLfoDepth:
slider[pLFODepth->setValue(value);
break;
case pPWMDepth:
slider[pPWMDepth->setValue(value);
break;
case sSubLevel:
slider[sSubLevel->setValue(value);
break;
case sNoiseLevel:
slider[sNoiseLevel->setValue(value);
break;
case sHpf:
slider[sHpf->setValue(value);
break;
case sCutoff:
slider[sCutoff->setValue(value);
break;
case sRes:
slider[sRes->setValue(value);
break;
case sEnv:
slider[sEnv->setValue(value);
break;
case sLfo:
slider[sLfo->setValue(value);
break;
case sKyb:
slider[sKyb->setValue(value);
break;
case sAtk:
slider[sAtk->setValue(value);
break;
case sDcy:
slider[sDcy->setValue(value);
break;
case sStn:
slider[sStn->setValue(value);
break;
case pRls:
slider[pRls->setValue(value);
break;
// now the switches
case pVCORange:
// the switches are generally oddities
case pVcoRange:
sw1 &= 0xf8; // mask
if (value > 2) value = 2;
sw1 |= (1 << (int)value);
@ -210,22 +160,72 @@ void DistrhoUIchassis::parameterChanged(uint32_t index, float value) {
case 2:
sw1 |= 0x00;
break;
}
}
#endif
};
break;
case pLfoRate:
slider[sLfoRate]->setValue(value);
break;
case pLfoDelay:
slider[sLfoDelay]->setValue(value);
break;
case pLfoDepth:
slider[sLfoDepth]->setValue(value);
break;
case pPwmDepth:
slider[sPwmDepth]->setValue(value);
break;
case pSubLevel:
slider[sSubLevel]->setValue(value);
break;
case pNoiseLevel:
slider[sNoiseLevel]->setValue(value);
break;
case pHpf:
slider[sHpf]->setValue(value);
break;
case pCutoff:
slider[sCutoff]->setValue(value);
break;
case pRes:
slider[sRes]->setValue(value);
break;
case pEnv:
slider[sEnv]->setValue(value);
break;
case pLfo:
slider[sLfo]->setValue(value);
break;
case pKyb:
slider[sKyb]->setValue(value);
break;
case pAtk:
slider[sAtk]->setValue(value);
break;
case pDcy:
slider[sDcy]->setValue(value);
break;
case pStn:
slider[sStn]->setValue(value);
break;
case pRls:
slider[sRls]->setValue(value);
break;
// now the switches
}
}
void DistrhoUIchassis::imageSliderDragStarted(ImageSlider* slider) {
editParameter(slider->getId(), true);
void DistrhoUIchassis::imageSliderDragStarted(ImageSlider* s) {
editParameter(s->getId(), true);
}
void DistrhoUIchassis::imageSliderDragFinished(ImageSlider* slider) {
editParameter(slider->getId(), false);
void DistrhoUIchassis::imageSliderDragFinished(ImageSlider* s) {
editParameter(s->getId(), false);
}
void DistrhoUIchassis::imageSliderValueChanged(ImageSlider* slider, float value) {
setParameterValue(slider->getId(), value);
printf("slider %d changed to %f\n",slider->getId(), value);
void DistrhoUIchassis::imageSliderValueChanged(ImageSlider* s, float value) {
setParameterValue(s->getId(), value);
printf("slider %d changed to %f\n",s->getId(), value);
}
void DistrhoUIchassis::imageButtonClicked(ImageButton* imgBtn, int) {