31 channelIdx(channelIdx)
34 equalizer = std::make_shared<Equalizer>(processor);
35 timeStretch = std::make_shared<TimeStretch>(processor);
36 gain = std::make_shared<Gain>(processor);
37 preDelay = std::make_shared<PreDelay>(processor);
50 auto paramIRChoice = params.state.getChildWithName(AudioProcessor::PID_IR_FILE_CHOICE);
51 if (paramIRChoice.getProperty(
"value") != irNameOrFilePath)
53 irNameOrFilePath = paramIRChoice.getProperty(
"value").toString().toStdString();
58 for (
int i = 0; i < equalizer->getNumFilters(); i++)
60 std::string filterId = AudioProcessor::PID_FILTER_PREFIX + std::to_string(i);
63 equalizer->updateParams(params, filterId);
65 catch (
const std::exception& e)
67 std::string errMsg =
"Could not update filters due to exception: ";
70 logger.dualPrint(Logger::Level::Error, errMsg);
74 gain->updateParams(params, AudioProcessor::PID_IR_GAIN);
75 preDelay->updateParams(params, AudioProcessor::PID_PREDELAY);
76 timeStretch->updateParams(params, AudioProcessor::PID_IR_LENGTH);
96 equalizer->updateSampleRate(sr);
97 gain->updateSampleRate(sr);
98 preDelay->updateSampleRate(sr);
99 timeStretch->updateSampleRate(sr);
119 if (equalizer->needsToRun())
124 if (timeStretch->needsToRun())
129 if (gain->needsToRun())
134 if (preDelay->needsToRun())
float getParam(const juce::AudioProcessorValueTreeState ¶ms, const juce::String &blockId) const
Internal method used to get (and check) a parameter's value.
virtual void updateSampleRate(double sr) override
Update sample rate for pipeline and child tasks.
IRPipeline(juce::AudioProcessor *processor, int channelIdx)
Constructs an IRPipeline object associated with an AudioProcessor.
virtual void updateParams(const juce::AudioProcessorValueTreeState ¶ms, const juce::String &="") override
Updates parameters from processor parameter tree.
virtual bool needsToRun() const override
Check if this or any subtasks needs to be executed.