72 void reset() noexcept;
77 template <
typename ProcessContext>
78 void process (
const ProcessContext& context) noexcept
80 static_assert (std::is_same<typename ProcessContext::SampleType, float>::value,
81 "Convolution engine only supports single precision floating point data");
83 processSamples (context.getInputBlock(), context.getOutputBlock(), context.isBypassed);
105 void loadImpulseResponse (
const void* sourceData,
size_t sourceDataSize,
106 bool wantsStereo,
bool wantsTrimming,
size_t size,
107 bool wantsNormalisation =
true);
120 void loadImpulseResponse (
const File& fileImpulseResponse,
121 bool wantsStereo,
bool wantsTrimming,
size_t size,
122 bool wantsNormalisation =
true);
136 void copyAndLoadImpulseResponseFromBuffer (
AudioBuffer<float>& buffer,
double bufferSampleRate,
137 bool wantsStereo,
bool wantsTrimming,
bool wantsNormalisation,
152 void copyAndLoadImpulseResponseFromBlock (
AudioBlock<float> block,
double bufferSampleRate,
153 bool wantsStereo,
bool wantsTrimming,
bool wantsNormalisation,
160 std::unique_ptr<Pimpl> pimpl;
167 bool currentIsBypassed =
false;
168 bool isActive =
false;
174 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
Convolution)
Represents a local file or directory.
Performs stereo uniform-partitioned convolution of an input signal with an impulse response in the fr...
void process(const ProcessContext &context) noexcept
Performs the filter operation on the given set of samples, with optional stereo processing.
#define JUCE_API
This macro is added to all JUCE public class declarations.
This structure is passed into a DSP algorithm's prepare() method, and contains information about vari...