Compare commits

..

2 Commits

Author SHA1 Message Date
Gordon JC Pearce dc89ca6cf7 Merge branch 'gui' 2025-12-30 00:24:19 +00:00
Gordon JC Pearce 4982d27019 chorus buttons 2025-12-29 23:45:20 +00:00
2 changed files with 24 additions and 5 deletions

View File

@ -60,7 +60,6 @@ void Peacock::initParameter(uint32_t index, Parameter& parameter) {
enumValues[2].label = "4'"; enumValues[2].label = "4'";
parameter.enumValues.values = enumValues; parameter.enumValues.values = enumValues;
} }
break; break;
case pLFODepth: case pLFODepth:
@ -289,6 +288,28 @@ void Peacock::initParameter(uint32_t index, Parameter& parameter) {
parameter.ranges.def = 40.0f; parameter.ranges.def = 40.0f;
parameter.midiCC = 26; parameter.midiCC = 26;
break; break;
case pChorus:
parameter.hints = kParameterIsAutomatable | kParameterIsInteger;
parameter.name = "Chorus";
parameter.symbol = "ch_chorus";
parameter.ranges.min = 0.0f;
parameter.ranges.max = 2.0f;
parameter.ranges.def = 1.0f;
parameter.midiCC = 93;
parameter.enumValues.count = 3;
parameter.enumValues.restrictedMode = true;
{
ParameterEnumerationValue* const enumValues = new ParameterEnumerationValue[3];
enumValues[0].value = 0.0f;
enumValues[0].label = "Off'";
enumValues[1].value = 1.0f;
enumValues[1].label = "Slow";
enumValues[2].value = 2.0f;
enumValues[2].label = "Fast";
parameter.enumValues.values = enumValues;
}
break;
/* /*
case pModWheel: case pModWheel:
parameter.hints = kParameterIsAutomatable | kParameterIsHidden; parameter.hints = kParameterIsAutomatable | kParameterIsHidden;
@ -381,7 +402,6 @@ void Peacock::setParameterValue(uint32_t index, float value) {
case pChorus: case pChorus:
m->patchRam.switch1 &= 0x9f; m->patchRam.switch1 &= 0x9f;
switch ((int)value) { switch ((int)value) {
case 0: case 0:
m->patchRam.switch1 |= 0x60; // both off m->patchRam.switch1 |= 0x60; // both off
@ -518,8 +538,6 @@ float Peacock::getParameterValue(uint32_t index) const {
default: default:
break; break;
} }
} }
return 0; return 0;
} }

View File

@ -258,6 +258,7 @@ void DistrhoUIPeacock::parameterChanged(uint32_t index, float value) {
sw1 &= 0xf8; // mask sw1 &= 0xf8; // mask
if (value > 2) value = 2; if (value > 2) value = 2;
sw1 |= (1 << (int)value); sw1 |= (1 << (int)value);
xBtn16ft->repaint(); // will repaint all the panel
break; break;
case pSqr: case pSqr:
sw1 &= 0xf7; sw1 &= 0xf7;