37 template <
typename NumericType>
53 template <
typename SampleType>
60 using NumericType =
typename SampleTypeHelpers::ElementType<SampleType>::Type;
109 template <
typename ProcessContext>
143 SampleType* state =
nullptr;
146 JUCE_LEAK_DETECTOR (
Filter)
187 static Ptr makeFirstOrderLowPass (
double sampleRate,
NumericType frequency);
190 static Ptr makeFirstOrderHighPass (
double sampleRate,
NumericType frequency);
193 static Ptr makeFirstOrderAllPass (
double sampleRate,
NumericType frequency);
197 static Ptr makeLowPass (
double sampleRate,
NumericType frequency);
204 static Ptr makeHighPass (
double sampleRate,
NumericType frequency);
211 static Ptr makeBandPass (
double sampleRate,
NumericType frequency);
225 static Ptr makeAllPass (
double sampleRate,
NumericType frequency);
266 double getMagnitudeForFrequency (
double frequency,
double sampleRate)
const noexcept;
277 double getPhaseForFrequency (
double frequency,
double sampleRate)
const noexcept;
306#include "juce_IIRFilter_Impl.h"
ElementType * begin() noexcept
ElementType * getRawDataPointer() noexcept
void prepare(const ProcessSpec &) noexcept
CoefficientsPtr coefficients
void snapToZero() noexcept
SampleType JUCE_VECTOR_CALLTYPE processSample(SampleType sample) noexcept
typename Coefficients< NumericType >::Ptr CoefficientsPtr
typename SampleTypeHelpers::ElementType< SampleType >::Type NumericType
void process(const ProcessContext &context) noexcept
const NumericType * getRawCoefficients() const noexcept
Array< NumericType > coefficients