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)
#define JUCE_API
This macro is added to all JUCE public class declarations.
Manages all the changes requested by the main convolution engine, to minimize the number of calls of ...
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.
Represents a local file or directory.
This structure is passed into a DSP algorithm's prepare() method, and contains information about vari...