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

AUD_EffectReader Class Reference

#include <AUD_EffectReader.h>

Inheritance diagram for AUD_EffectReader:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 AUD_EffectReader (AUD_Reference< AUD_IReader > reader)
virtual ~AUD_EffectReader ()
virtual bool isSeekable () const
virtual void seek (int position)
virtual int getLength () const
virtual int getPosition () const
virtual AUD_Specs getSpecs () const
virtual void read (int &length, bool &eos, sample_t *buffer)

Protected Attributes

AUD_Reference< AUD_IReaderm_reader

Detailed Description

This reader is a base class for all effect readers that take one other reader as input.

Definition at line 40 of file AUD_EffectReader.h.


Constructor & Destructor Documentation

AUD_EffectReader::AUD_EffectReader ( AUD_Reference< AUD_IReader reader)

Creates a new effect reader.

Parameters:
readerThe reader to read from.

Definition at line 32 of file AUD_EffectReader.cpp.

References m_reader.

AUD_EffectReader::~AUD_EffectReader ( ) [virtual]

Destroys the reader.

Definition at line 37 of file AUD_EffectReader.cpp.


Member Function Documentation

int AUD_EffectReader::getLength ( ) const [virtual]

Returns an approximated length of the source in samples.

Returns:
The length as sample count. May be negative if unknown.

Implements AUD_IReader.

Reimplemented in AUD_DelayReader, AUD_LimiterReader, AUD_LoopReader, AUD_ReverseReader, AUD_JOSResampleReader, AUD_LinearResampleReader, and AUD_SRCResampleReader.

Definition at line 51 of file AUD_EffectReader.cpp.

References m_reader.

int AUD_EffectReader::getPosition ( ) const [virtual]

Returns the position of the source as a sample count value.

Returns:
The current position in the source. A negative value indicates that the position is unknown.
Warning:
The value returned doesn't always have to be correct for readers, especially after seeking.

Implements AUD_IReader.

Reimplemented in AUD_DelayReader, AUD_LimiterReader, AUD_LoopReader, AUD_ReverseReader, AUD_JOSResampleReader, AUD_LinearResampleReader, and AUD_SRCResampleReader.

Definition at line 56 of file AUD_EffectReader.cpp.

References m_reader.

AUD_Specs AUD_EffectReader::getSpecs ( ) const [virtual]

Returns the specification of the reader.

Returns:
The AUD_Specs structure.

Implements AUD_IReader.

Reimplemented in AUD_PitchReader, AUD_ChannelMapperReader, AUD_JOSResampleReader, AUD_LinearResampleReader, and AUD_SRCResampleReader.

Definition at line 61 of file AUD_EffectReader.cpp.

References m_reader.

Referenced by AUD_ReverseReader::read().

bool AUD_EffectReader::isSeekable ( ) const [virtual]

Tells whether the source provides seeking functionality or not.

Warning:
This doesn't mean that the seeking always has to succeed.
Returns:
Always returns true for readers of buffering types.

Implements AUD_IReader.

Definition at line 41 of file AUD_EffectReader.cpp.

References m_reader.

Referenced by AUD_ReverseReader::AUD_ReverseReader().

void AUD_EffectReader::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.

Implements AUD_IReader.

Reimplemented in AUD_BaseIIRFilterReader, AUD_DelayReader, AUD_FaderReader, AUD_LimiterReader, AUD_LoopReader, AUD_ReverseReader, AUD_ChannelMapperReader, AUD_ConverterReader, AUD_JOSResampleReader, AUD_LinearResampleReader, and AUD_SRCResampleReader.

Definition at line 66 of file AUD_EffectReader.cpp.

References m_reader.

void AUD_EffectReader::seek ( int  position) [virtual]

Seeks to a specific position in the source.

Parameters:
positionThe position to seek for measured in samples. To get from a given time to the samples you simply have to multiply the time value in seconds with the sample rate of the reader.
Warning:
This may work or not, depending on the actual reader.

Implements AUD_IReader.

Reimplemented in AUD_DelayReader, AUD_LimiterReader, AUD_LoopReader, AUD_ReverseReader, AUD_JOSResampleReader, AUD_LinearResampleReader, and AUD_SRCResampleReader.

Definition at line 46 of file AUD_EffectReader.cpp.

References m_reader.


Member Data Documentation


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