mirror of
https://codeberg.org/armin/wavetable.git
synced 2026-09-01 05:50:46 +02:00
Switch juce::Reverb for gin::PlateReverb
This commit is contained in:
parent
5bbbac164c
commit
28402bfa0e
4 changed files with 23 additions and 27 deletions
|
|
@ -1 +1 @@
|
|||
Subproject commit 839e4878ae17cfe48f2be92bf864813f442404f3
|
||||
Subproject commit c75e324070450f9d9fd257b9ce2deac5f59770c2
|
||||
|
|
@ -331,11 +331,12 @@ public:
|
|||
ReverbBox (WavetableAudioProcessor& proc_)
|
||||
: gin::ParamBox ("Reverb"), proc (proc_)
|
||||
{
|
||||
addControl (new gin::Knob (proc.reverbParams.damping), 0, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.freezeMode), 1, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.roomSize), 2, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.width), 0.5f, 1.0f);
|
||||
addControl (new gin::Knob (proc.reverbParams.mix), 1.5f, 1.0f);
|
||||
addControl (new gin::Knob (proc.reverbParams.size), 0, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.decay), 1, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.lowpass), 2, 0);
|
||||
addControl (new gin::Knob (proc.reverbParams.damping), 0, 1);
|
||||
addControl (new gin::Knob (proc.reverbParams.predelay), 1, 1);
|
||||
addControl (new gin::Knob (proc.reverbParams.mix), 2, 1);
|
||||
|
||||
setSize (168, 163);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -299,11 +299,12 @@ void WavetableAudioProcessor::ReverbParams::setup (WavetableAudioProcessor& p)
|
|||
{
|
||||
enable = p.addIntParam ("rvEnable", "Enable", "", "", { 0.0, 1.0, 1.0, 1.0 }, 0.0, 0.0f);
|
||||
|
||||
damping = p.addExtParam ("rvbDamping", "Damping", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
freezeMode = p.addExtParam ("rvbFreeze", "Freeze", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
roomSize = p.addExtParam ("rvbSize", "Size", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
width = p.addExtParam ("rvbWidth", "Width", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
mix = p.addExtParam ("rvbMix", "Mix", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
size = p.addExtParam ("rvbSize", "Size", "", "", {0.0f, 1.0f, 0.0f, 2.0f}, 0.0f, 0.0f);
|
||||
decay = p.addExtParam ("rvbDecay", "Decay", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
lowpass = p.addExtParam ("rvbLowpass", "Lowpass", "", "", {0.0f, 1.0f, 16.0f, 20000.0f}, 0.0f, 0.0f);
|
||||
damping = p.addExtParam ("rvbDamping", "Damping", "", "", {0.0f, 1.0f, 16.0f, 20000.0f}, 0.0f, 0.0f);
|
||||
predelay = p.addExtParam ("rvbPredelay", "Predelay", "", "", {0.0f, 1.0f, 0.0f, 0.1f}, 0.0f, 0.0f);
|
||||
mix = p.addExtParam ("rvbMix", "Mix", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -438,7 +439,7 @@ void WavetableAudioProcessor::prepareToPlay (double newSampleRate, int newSample
|
|||
chorus.setSampleRate (newSampleRate);
|
||||
distortion.setSampleRate (newSampleRate);
|
||||
stereoDelay.setSampleRate (newSampleRate);
|
||||
reverb.setSampleRate (newSampleRate);
|
||||
reverb.setSampleRate (float (newSampleRate));
|
||||
|
||||
for (auto& l : modLFOs)
|
||||
l.setSampleRate (newSampleRate);
|
||||
|
|
@ -529,7 +530,7 @@ void WavetableAudioProcessor::applyEffects (juce::AudioSampleBuffer& buffer)
|
|||
|
||||
// Apply Reverb
|
||||
if (reverbParams.enable->isOn())
|
||||
reverb.processStereo (buffer.getWritePointer (0), buffer.getWritePointer (1), buffer.getNumSamples ());
|
||||
reverb.process (buffer.getWritePointer (0), buffer.getWritePointer (1), buffer.getNumSamples ());
|
||||
|
||||
// Output gain
|
||||
outputGain.process (buffer);
|
||||
|
|
@ -649,19 +650,13 @@ void WavetableAudioProcessor::updateParams (int newBlockSize)
|
|||
// Update Reverb
|
||||
if (reverbParams.enable->isOn())
|
||||
{
|
||||
juce::Reverb::Parameters p;
|
||||
reverb.setSize (modMatrix.getValue (reverbParams.size));
|
||||
reverb.setDecay (modMatrix.getValue (reverbParams.decay));
|
||||
reverb.setLowpass (modMatrix.getValue (reverbParams.lowpass));
|
||||
reverb.setDamping (modMatrix.getValue (reverbParams.damping));
|
||||
reverb.setPredelay (modMatrix.getValue (reverbParams.predelay));
|
||||
reverb.setMix (modMatrix.getValue (reverbParams.mix));
|
||||
|
||||
auto mix = modMatrix.getValue (reverbParams.mix);
|
||||
gin::WetDryMix wetDry (mix);
|
||||
|
||||
p.damping = modMatrix.getValue (reverbParams.damping);
|
||||
p.freezeMode = modMatrix.getValue (reverbParams.freezeMode);
|
||||
p.roomSize = modMatrix.getValue (reverbParams.roomSize);
|
||||
p.width = modMatrix.getValue (reverbParams.width);
|
||||
p.dryLevel = wetDry.dryGain;
|
||||
p.wetLevel = wetDry.wetGain;
|
||||
|
||||
reverb.setParameters (p);
|
||||
}
|
||||
|
||||
// Output gain
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ public:
|
|||
{
|
||||
ReverbParams() = default;
|
||||
|
||||
gin::Parameter::Ptr enable, damping, freezeMode, roomSize, width, mix;
|
||||
gin::Parameter::Ptr enable, size, decay, lowpass, damping, predelay, mix;
|
||||
|
||||
void setup (WavetableAudioProcessor& p);
|
||||
|
||||
|
|
@ -206,7 +206,7 @@ public:
|
|||
gin::Modulation chorus { 0.5f };
|
||||
gin::Distortion distortion;
|
||||
gin::StereoDelay stereoDelay { 120.1 };
|
||||
juce::Reverb reverb;
|
||||
gin::PlateReverb<float, int> reverb;
|
||||
gin::GainProcessor outputGain;
|
||||
gin::AudioFifo fifo { 2, 44100 };
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue