From 3fd77efc84dc44291d63c8bef2242c41118cf1ad Mon Sep 17 00:00:00 2001 From: Vincent Berthiaume Date: Fri, 26 Jul 2024 12:47:43 -0400 Subject: [PATCH] building --- source/DSP/PhatVerb.h | 38 ++++++++++++++++++++++++++++++++- source/DSP/ProPhatSynthesiser.h | 4 ++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/source/DSP/PhatVerb.h b/source/DSP/PhatVerb.h index bb13a0c..55a67ad 100644 --- a/source/DSP/PhatVerb.h +++ b/source/DSP/PhatVerb.h @@ -278,7 +278,43 @@ class PhatVerb //==================================================================================================== template -class PhatVerbWrapper : juce::dsp::ProcessorBase +struct PhatProcessorBase +{ + PhatProcessorBase() = default; + virtual ~PhatProcessorBase() = default; + + virtual void prepare (const juce::dsp::ProcessSpec&) = 0; + virtual void process (const juce::dsp::ProcessContextReplacing&) = 0; + virtual void reset() = 0; +}; + +//============================================================================== + +template +struct PhatProcessorWrapper : public PhatProcessorBase +{ + void prepare (const juce::dsp::ProcessSpec& spec) override + { + processor.prepare (spec); + } + + void process (const juce::dsp::ProcessContextReplacing& context) override + { + processor.process (context); + } + + void reset() override + { + processor.reset(); + } + + ProcessorType processor; +}; + +//==================================================================================================== + +template +class PhatVerbWrapper : PhatProcessorBase { public: /** Creates an uninitialised Reverb processor. Call prepare() before first use. */ diff --git a/source/DSP/ProPhatSynthesiser.h b/source/DSP/ProPhatSynthesiser.h index f66e7ac..7fa81d4 100644 --- a/source/DSP/ProPhatSynthesiser.h +++ b/source/DSP/ProPhatSynthesiser.h @@ -61,8 +61,8 @@ class ProPhatSynthesiser : public juce::Synthesiser std::set voicesBeingKilled; //juce::dsp::ProcessorChain, juce::dsp::Gain> fxChain; - juce::dsp::ProcessorWrapper> gainWrapper; - std::vector fxChain2; + PhatProcessorWrapper, T> gainWrapper; + std::vector> fxChain2; juce::dsp::ProcessorChain, juce::dsp::Gain> fxChain; PhatVerbParameters reverbParams