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_)
|
ReverbBox (WavetableAudioProcessor& proc_)
|
||||||
: gin::ParamBox ("Reverb"), proc (proc_)
|
: gin::ParamBox ("Reverb"), proc (proc_)
|
||||||
{
|
{
|
||||||
addControl (new gin::Knob (proc.reverbParams.damping), 0, 0);
|
addControl (new gin::Knob (proc.reverbParams.size), 0, 0);
|
||||||
addControl (new gin::Knob (proc.reverbParams.freezeMode), 1, 0);
|
addControl (new gin::Knob (proc.reverbParams.decay), 1, 0);
|
||||||
addControl (new gin::Knob (proc.reverbParams.roomSize), 2, 0);
|
addControl (new gin::Knob (proc.reverbParams.lowpass), 2, 0);
|
||||||
addControl (new gin::Knob (proc.reverbParams.width), 0.5f, 1.0f);
|
addControl (new gin::Knob (proc.reverbParams.damping), 0, 1);
|
||||||
addControl (new gin::Knob (proc.reverbParams.mix), 1.5f, 1.0f);
|
addControl (new gin::Knob (proc.reverbParams.predelay), 1, 1);
|
||||||
|
addControl (new gin::Knob (proc.reverbParams.mix), 2, 1);
|
||||||
|
|
||||||
setSize (168, 163);
|
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);
|
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);
|
size = p.addExtParam ("rvbSize", "Size", "", "", {0.0f, 1.0f, 0.0f, 2.0f}, 0.0f, 0.0f);
|
||||||
freezeMode = p.addExtParam ("rvbFreeze", "Freeze", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
decay = p.addExtParam ("rvbDecay", "Decay", "", "", {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);
|
lowpass = p.addExtParam ("rvbLowpass", "Lowpass", "", "", {0.0f, 1.0f, 16.0f, 20000.0f}, 0.0f, 0.0f);
|
||||||
width = p.addExtParam ("rvbWidth", "Width", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
|
damping = p.addExtParam ("rvbDamping", "Damping", "", "", {0.0f, 1.0f, 16.0f, 20000.0f}, 0.0f, 0.0f);
|
||||||
mix = p.addExtParam ("rvbMix", "Mix", "", "", {0.0f, 1.0f, 0.0f, 1.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);
|
chorus.setSampleRate (newSampleRate);
|
||||||
distortion.setSampleRate (newSampleRate);
|
distortion.setSampleRate (newSampleRate);
|
||||||
stereoDelay.setSampleRate (newSampleRate);
|
stereoDelay.setSampleRate (newSampleRate);
|
||||||
reverb.setSampleRate (newSampleRate);
|
reverb.setSampleRate (float (newSampleRate));
|
||||||
|
|
||||||
for (auto& l : modLFOs)
|
for (auto& l : modLFOs)
|
||||||
l.setSampleRate (newSampleRate);
|
l.setSampleRate (newSampleRate);
|
||||||
|
|
@ -529,7 +530,7 @@ void WavetableAudioProcessor::applyEffects (juce::AudioSampleBuffer& buffer)
|
||||||
|
|
||||||
// Apply Reverb
|
// Apply Reverb
|
||||||
if (reverbParams.enable->isOn())
|
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
|
// Output gain
|
||||||
outputGain.process (buffer);
|
outputGain.process (buffer);
|
||||||
|
|
@ -649,19 +650,13 @@ void WavetableAudioProcessor::updateParams (int newBlockSize)
|
||||||
// Update Reverb
|
// Update Reverb
|
||||||
if (reverbParams.enable->isOn())
|
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
|
// Output gain
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ public:
|
||||||
{
|
{
|
||||||
ReverbParams() = default;
|
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);
|
void setup (WavetableAudioProcessor& p);
|
||||||
|
|
||||||
|
|
@ -206,7 +206,7 @@ public:
|
||||||
gin::Modulation chorus { 0.5f };
|
gin::Modulation chorus { 0.5f };
|
||||||
gin::Distortion distortion;
|
gin::Distortion distortion;
|
||||||
gin::StereoDelay stereoDelay { 120.1 };
|
gin::StereoDelay stereoDelay { 120.1 };
|
||||||
juce::Reverb reverb;
|
gin::PlateReverb<float, int> reverb;
|
||||||
gin::GainProcessor outputGain;
|
gin::GainProcessor outputGain;
|
||||||
gin::AudioFifo fifo { 2, 44100 };
|
gin::AudioFifo fifo { 2, 44100 };
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue