From cdd3fd99f37f2d30239b8f9e6b483d2a6b4b35e6 Mon Sep 17 00:00:00 2001 From: Roland Rabien Date: Fri, 29 Sep 2023 20:20:07 -0700 Subject: [PATCH] Share a rng between voices --- plugin/Source/PluginProcessor.h | 1 + plugin/Source/WavetableVoice.cpp | 4 ++-- plugin/Source/WavetableVoice.h | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin/Source/PluginProcessor.h b/plugin/Source/PluginProcessor.h index 24d5c07..f1c79fa 100644 --- a/plugin/Source/PluginProcessor.h +++ b/plugin/Source/PluginProcessor.h @@ -282,6 +282,7 @@ public: CurTable curTables[Cfg::numOSCs]; juce::CriticalSection dspLock; + juce::Random rng; private: float getSmoothingTime (gin::Parameter*); diff --git a/plugin/Source/WavetableVoice.cpp b/plugin/Source/WavetableVoice.cpp index 2a24527..4c7414e 100644 --- a/plugin/Source/WavetableVoice.cpp +++ b/plugin/Source/WavetableVoice.cpp @@ -63,10 +63,10 @@ void WavetableVoice::noteStarted() a.noteOn(); for (auto idx = 0; auto& l : modLFOs) - l.noteOn (proc.lfoParams[idx++].retrig->getBoolValue() ? -1 : rng.nextFloat()); + l.noteOn (proc.lfoParams[idx++].retrig->getBoolValue() ? -1 : proc.rng.nextFloat()); modStepLFO.reset(); - modStepLFO.noteOn (proc.stepLfoParams.retrig->getBoolValue() ? -1 : rng.nextFloat()); + modStepLFO.noteOn (proc.stepLfoParams.retrig->getBoolValue() ? -1 : proc.rng.nextFloat()); adsr.reset(); adsr.noteOn(); diff --git a/plugin/Source/WavetableVoice.h b/plugin/Source/WavetableVoice.h index 24461bb..889c0cb 100644 --- a/plugin/Source/WavetableVoice.h +++ b/plugin/Source/WavetableVoice.h @@ -55,7 +55,6 @@ public: gin::StereoOscillator::Params noiseParams; gin::EasedValueSmoother noteSmoother; - juce::Random rng; float ampKeyTrack = 1.0f; };