36template <
typename FloatType,
typename Function = FloatType (*) (FloatType)>
47 template <
typename SampleType>
54 template <
typename ProcessContext>
55 void process (
const ProcessContext& context)
const noexcept
57 if (context.isBypassed)
59 if (context.usesSeparateInputAndOutputBlocks())
60 context.getOutputBlock().copyFrom (context.getInputBlock());
65 context.getOutputBlock(),
74#if JUCE_CXX17_IS_AVAILABLE && ! ((JUCE_MAC || JUCE_IOS) && JUCE_CLANG && __clang_major__ < 10)
75template <
typename Functor>
76static WaveShaper<typename std::invoke_result<Functor>, Functor> CreateWaveShaper (Functor functionToUse) {
return {functionToUse}; }
78template <
typename Functor>
#define noexcept
Definition DistrhoDefines.h:72
static void process(AudioBlock< Src1SampleType > inBlock, AudioBlock< Src2SampleType > outBlock, FunctionType &&function)
Definition juce_AudioBlock.h:576
#define JUCE_VECTOR_CALLTYPE
Definition juce_dsp.h:100
Definition juce_AudioBlock.h:29
static WaveShaper< typename std::result_of< Functor >, Functor > CreateWaveShaper(Functor functionToUse)
Definition juce_WaveShaper.h:79
Definition carla_juce.cpp:31
Definition juce_ProcessContext.h:38
Definition juce_WaveShaper.h:38
Function functionToUse
Definition juce_WaveShaper.h:39
void prepare(const ProcessSpec &) noexcept
Definition juce_WaveShaper.h:43
SampleType JUCE_VECTOR_CALLTYPE processSample(SampleType inputSample) const noexcept
Definition juce_WaveShaper.h:48
void process(const ProcessContext &context) const noexcept
Definition juce_WaveShaper.h:55
void reset() noexcept
Definition juce_WaveShaper.h:70