68 void reset()
noexcept;
73 template <
typename ProcessContext>
74 void process (
const ProcessContext& context)
noexcept
76 static_assert (std::is_same<typename ProcessContext::SampleType, float>::value,
77 "Convolution engine only supports single precision floating point data");
79 processSamples (context.getInputBlock(), context.getOutputBlock(), context.isBypassed);
101 void loadImpulseResponse (
const void* sourceData,
size_t sourceDataSize,
102 bool wantsStereo,
bool wantsTrimming,
size_t size,
103 bool wantsNormalisation =
true);
116 void loadImpulseResponse (
const File& fileImpulseResponse,
117 bool wantsStereo,
bool wantsTrimming,
size_t size,
118 bool wantsNormalisation =
true);
132 void copyAndLoadImpulseResponseFromBuffer (
AudioBuffer<float>& buffer,
double bufferSampleRate,
133 bool wantsStereo,
bool wantsTrimming,
bool wantsNormalisation,
148 void copyAndLoadImpulseResponseFromBlock (
AudioBlock<float> block,
double bufferSampleRate,
149 bool wantsStereo,
bool wantsTrimming,
bool wantsNormalisation,
156 std::unique_ptr<Pimpl> pimpl;
163 bool currentIsBypassed =
false;
164 bool isActive =
false;
170 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
Convolution)