Blender  V2.59
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_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, sample_t *&buffer)

Protected Attributes

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 41 of file AUD_EffectReader.h.


Constructor & Destructor Documentation

AUD_EffectReader::AUD_EffectReader ( AUD_IReader reader)

Creates a new effect reader.

Parameters:
readerThe reader to read from.

Definition at line 34 of file AUD_EffectReader.cpp.

References m_reader.

AUD_EffectReader::~AUD_EffectReader ( ) [virtual]

Destroys the reader.

Definition at line 39 of file AUD_EffectReader.cpp.

References m_reader.


Member Function Documentation

int AUD_EffectReader::getLength ( ) const [virtual]

Returns an approximated length of the source in samples. For readers of the type buffer this has to return a correct value!

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

Implements AUD_IReader.

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

Definition at line 54 of file AUD_EffectReader.cpp.

References AUD_IReader::getLength(), and 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 of the stream type, especially after seeking, it must though for the buffer ones.
See also:
getType

Implements AUD_IReader.

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

Definition at line 59 of file AUD_EffectReader.cpp.

References AUD_IReader::getPosition(), and 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_SRCResampleReader, AUD_LinearResampleReader, AUD_ChannelMapperReader, AUD_ConverterReader, and AUD_PitchReader.

Definition at line 64 of file AUD_EffectReader.cpp.

References AUD_IReader::getSpecs(), and 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 the buffer type.
See also:
getType

Implements AUD_IReader.

Definition at line 44 of file AUD_EffectReader.cpp.

References AUD_IReader::isSeekable(), and m_reader.

Referenced by AUD_ReverseReader::AUD_ReverseReader().

void AUD_EffectReader::read ( int &  length,
sample_t *&  buffer 
) [virtual]

Request to read the next length samples out of the source. The buffer for reading has to stay valid until the next call of this method or until the reader is deleted.

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]bufferThe pointer to the buffer with the samples.

Implements AUD_IReader.

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

Definition at line 69 of file AUD_EffectReader.cpp.

References m_reader, and AUD_IReader::read().

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

Seeks to a specific position in the source. This function must work for buffer type readers.

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.
See also:
getType

Implements AUD_IReader.

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

Definition at line 49 of file AUD_EffectReader.cpp.

References m_reader, and AUD_IReader::seek().


Member Data Documentation


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