37 IRPipeline(juce::AudioProcessor * processor,
int channelIdx);
43 virtual void updateParams(
const juce::AudioProcessorValueTreeState& params,
57 static constexpr float MAX_IR_INTENSITY = 0.5f;
62 TimeStretch::Ptr timeStretch;
67 double lastSampleRate = 0;
73 std::string irNameOrFilePath =
"";
75 juce::AudioSampleBuffer ir;
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.
AudioBlock reloadIR()
Loads an impulse response from disk or IR bank.
void loadIRFromDisk(const std::string &irFilePath)
Loads an impulse response from a file (.WAV or .AIFF) to internal representation. ...
void loadIRFromBank(const std::string &irBuffer)
Loads an impulse response from provided IR bank.
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.
virtual AudioBlock exec(AudioBlock=AudioBlock()) override
Manipulate the input IR file and place it in the given buffer.