Fix stuck notes on switch mono on/off

This commit is contained in:
Roland Rabien 2023-09-28 08:44:58 -07:00
commit 3de6fc16aa
3 changed files with 8 additions and 2 deletions

View file

@ -5,6 +5,7 @@
- Fix crash initializing plugin on Linux
- Fix channel config on Linux
- Renamed Legato rate to Legato Time
- Fix stuck notes on switch mono on/off
1.0.2:

View file

@ -500,6 +500,8 @@ WavetableAudioProcessor::WavetableAudioProcessor()
setupModMatrix();
init();
lastMono = globalParams.mono->isOn();
}
WavetableAudioProcessor::~WavetableAudioProcessor()
@ -619,6 +621,7 @@ void WavetableAudioProcessor::stateUpdated()
reloadWavetables();
presetLoaded = true;
lastMono = globalParams.mono->isOn();
}
void WavetableAudioProcessor::updateState()
@ -732,9 +735,10 @@ void WavetableAudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, ju
return;
}
if (blockMissed || presetLoaded)
if (blockMissed || presetLoaded || lastMono != globalParams.mono->isOn())
{
blockMissed = presetLoaded = false;
lastMono = ! lastMono;
turnOffAllVoices (false);
}
@ -748,7 +752,7 @@ void WavetableAudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, ju
buffer.clear();
setMono (globalParams.mono->isOn());
setMono (lastMono);
setLegato (globalParams.legato->isOn());
setGlissando (globalParams.glideMode->getProcValue() == 1.0f);
setPortamento (globalParams.glideMode->getProcValue() == 2.0f);

View file

@ -271,6 +271,7 @@ public:
juce::AudioPlayHead* playhead = nullptr;
bool blockMissed = false;
bool presetLoaded = false;
bool lastMono = false;
struct CurTable
{