37template <
typename FloatType,
typename Function = FloatType (*) (FloatType)>
40 Function functionToUse;
48 template <
typename SampleType>
55 template <
typename ProcessContext>
60 if (
context.usesSeparateInputAndOutputBlocks())
77#if (! JUCE_CXX17_IS_AVAILABLE) || JUCE_CLANG
78template <
typename Functor>
79static WaveShaper<typename std::result_of<Functor>, Functor> CreateWaveShaper (Functor functionToUse) {
return {functionToUse}; }
81template <
typename Functor>
82static WaveShaper<typename std::invoke_result<Functor>, Functor> CreateWaveShaper (Functor functionToUse) {
return {functionToUse}; }
static void process(AudioBlock< Src1SampleType > inBlock, AudioBlock< Src2SampleType > outBlock, FunctionType &&function)
void prepare(const ProcessSpec &) noexcept
SampleType JUCE_VECTOR_CALLTYPE processSample(SampleType inputSample) const noexcept
void process(const ProcessContext &context) const noexcept