Blender V2.61 - r43446
Public Member Functions | Protected Member Functions

AUD_BaseIIRFilterReader Class Reference

#include <AUD_BaseIIRFilterReader.h>

Inheritance diagram for AUD_BaseIIRFilterReader:
Inheritance graph
[legend]

List of all members.

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)

Detailed Description

This class is a base class for infinite impulse response filters.

Definition at line 39 of file AUD_BaseIIRFilterReader.h.


Constructor & Destructor Documentation

AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader ( AUD_Reference< AUD_IReader reader,
int  in,
int  out 
) [protected]

Creates a new base IIR filter reader.

Parameters:
readerThe reader to read from.
inThe count of past input samples needed.
outThe 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.


Member Function Documentation

virtual sample_t AUD_BaseIIRFilterReader::filter ( ) [pure virtual]

Runs the filtering function.

Returns:
The current output sample value.

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.

Parameters:
[in,out]lengthThe 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]eosEnd of stream, whether the end is reached or not.
[in]bufferThe 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.

Parameters:
rateThe 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.

Parameters:
posThe position, valid are 0 (current) or negative values.
Returns:
The sample value.

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.

Parameters:
posThe position, valid are negative values.
Returns:
The sample value.

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().


The documentation for this class was generated from the following files: