Blender V2.61 - r43446
|
#include <AUD_BaseIIRFilterReader.h>
Public Member Functions | |
sample_t | x (int pos) |
sample_t | y (int pos) |
virtual | ~AUD_BaseIIRFilterReader () |
virtual void | read (int &length, bool &eos, sample_t *buffer) |
virtual sample_t | filter ()=0 |
virtual void | sampleRateChanged (AUD_SampleRate rate) |
Protected Member Functions | |
AUD_BaseIIRFilterReader (AUD_Reference< AUD_IReader > reader, int in, int out) | |
void | setLengths (int in, int out) |
This class is a base class for infinite impulse response filters.
Definition at line 39 of file AUD_BaseIIRFilterReader.h.
AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader | ( | AUD_Reference< AUD_IReader > | reader, |
int | in, | ||
int | out | ||
) | [protected] |
Creates a new base IIR filter reader.
reader | The reader to read from. |
in | The count of past input samples needed. |
out | The count of past output samples needed. |
Definition at line 36 of file AUD_BaseIIRFilterReader.cpp.
References AUD_Specs::channels.
AUD_BaseIIRFilterReader::~AUD_BaseIIRFilterReader | ( | ) | [virtual] |
Definition at line 50 of file AUD_BaseIIRFilterReader.cpp.
virtual sample_t AUD_BaseIIRFilterReader::filter | ( | ) | [pure virtual] |
Runs the filtering function.
Implemented in AUD_CallbackIIRFilterReader, and AUD_IIRFilterReader.
Referenced by read().
void AUD_BaseIIRFilterReader::read | ( | int & | length, |
bool & | eos, | ||
sample_t * | buffer | ||
) | [virtual] |
Request to read the next length samples out of the source. The buffer supplied has the needed size.
[in,out] | length | The count of samples that should be read. Shall contain the real count of samples after reading, in case there were only fewer samples available. A smaller value also indicates the end of the reader. |
[out] | eos | End of stream, whether the end is reached or not. |
[in] | buffer | The pointer to the buffer to read into. |
Reimplemented from AUD_EffectReader.
Definition at line 97 of file AUD_BaseIIRFilterReader.cpp.
References CC, AUD_Specs::channels, filter(), i, length(), AUD_EffectReader::m_reader, AUD_Specs::rate, and sampleRateChanged().
void AUD_BaseIIRFilterReader::sampleRateChanged | ( | AUD_SampleRate | rate | ) | [virtual] |
Notifies the filter about a sample rate change.
rate | The new sample rate. |
Reimplemented in AUD_DynamicIIRFilterReader.
Definition at line 135 of file AUD_BaseIIRFilterReader.cpp.
Referenced by read().
void AUD_BaseIIRFilterReader::setLengths | ( | int | in, |
int | out | ||
) | [protected] |
Definition at line 56 of file AUD_BaseIIRFilterReader.cpp.
References CC, AUD_Specs::channels, i, x(), and y().
Referenced by AUD_IIRFilterReader::setCoefficients().
sample_t AUD_BaseIIRFilterReader::x | ( | int | pos | ) | [inline] |
Retrieves the last input samples.
pos | The position, valid are 0 (current) or negative values. |
Definition at line 103 of file AUD_BaseIIRFilterReader.h.
References AUD_Specs::channels.
Referenced by AUD_AccumulatorFactory::accumulatorFilter(), AUD_AccumulatorFactory::accumulatorFilterAdditive(), AUD_EnvelopeFactory::envelopeFilter(), AUD_IIRFilterReader::filter(), AUD_RectifyFactory::rectifyFilter(), setLengths(), and AUD_SquareFactory::squareFilter().
sample_t AUD_BaseIIRFilterReader::y | ( | int | pos | ) | [inline] |
Retrieves the last output samples.
pos | The position, valid are negative values. |
Definition at line 113 of file AUD_BaseIIRFilterReader.h.
References AUD_Specs::channels.
Referenced by AUD_AccumulatorFactory::accumulatorFilter(), AUD_AccumulatorFactory::accumulatorFilterAdditive(), AUD_EnvelopeFactory::envelopeFilter(), AUD_IIRFilterReader::filter(), and setLengths().