|
Blender
V2.59
|
#include <AUD_IReader.h>

Public Member Functions | |
| virtual | ~AUD_IReader () |
| virtual bool | isSeekable () const =0 |
| virtual void | seek (int position)=0 |
| virtual int | getLength () const =0 |
| virtual int | getPosition () const =0 |
| virtual AUD_Specs | getSpecs () const =0 |
| virtual void | read (int &length, sample_t *&buffer)=0 |
This class represents a sound source as stream or as buffer which can be read for example by another reader, a device or whatever.
Definition at line 41 of file AUD_IReader.h.
| virtual AUD_IReader::~AUD_IReader | ( | ) | [inline, virtual] |
Destroys the reader.
Definition at line 47 of file AUD_IReader.h.
| virtual int AUD_IReader::getLength | ( | ) | const [pure virtual] |
Returns an approximated length of the source in samples. For readers of the type buffer this has to return a correct value!
Implemented in AUD_SndFileReader, AUD_SRCResampleReader, AUD_SequencerReader, AUD_LinearResampleReader, AUD_DoubleReader, AUD_SinusReader, AUD_SuperposeReader, AUD_DelayReader, AUD_BufferReader, AUD_LoopReader, AUD_ReverseReader, AUD_SilenceReader, AUD_EffectReader, and AUD_LimiterReader.
Referenced by AUD_getInfo(), AUD_readSound(), AUD_StreamBufferFactory::AUD_StreamBufferFactory(), AUD_EffectReader::getLength(), AUD_LimiterReader::getLength(), AUD_LoopReader::getLength(), AUD_DelayReader::getLength(), AUD_SuperposeReader::getLength(), AUD_DoubleReader::getLength(), AUD_LinearResampleReader::getLength(), AUD_SRCResampleReader::getLength(), and AUD_LoopReader::seek().
| virtual int AUD_IReader::getPosition | ( | ) | const [pure virtual] |
Returns the position of the source as a sample count value.
Implemented in AUD_SndFileReader, AUD_SRCResampleReader, AUD_SequencerReader, AUD_LinearResampleReader, AUD_DoubleReader, AUD_SinusReader, AUD_SuperposeReader, AUD_DelayReader, AUD_BufferReader, AUD_LoopReader, AUD_ReverseReader, AUD_SilenceReader, AUD_EffectReader, and AUD_LimiterReader.
Referenced by AUD_EffectReader::getPosition(), AUD_LimiterReader::getPosition(), AUD_LoopReader::getPosition(), AUD_DelayReader::getPosition(), AUD_SuperposeReader::getPosition(), AUD_DoubleReader::getPosition(), AUD_SoftwareDevice::getPosition(), AUD_OpenALDevice::getPosition(), AUD_LimiterReader::read(), AUD_FaderReader::read(), AUD_SequencerReader::read(), and AUD_DoubleReader::seek().
| virtual AUD_Specs AUD_IReader::getSpecs | ( | ) | const [pure virtual] |
Returns the specification of the reader.
Implemented in AUD_SndFileReader, AUD_SRCResampleReader, AUD_SequencerReader, AUD_LinearResampleReader, AUD_DoubleReader, AUD_SinusReader, AUD_ChannelMapperReader, AUD_SuperposeReader, AUD_BufferReader, AUD_SilenceReader, AUD_ConverterReader, AUD_EffectReader, and AUD_PitchReader.
Referenced by AUD_ChannelMapperReader::AUD_ChannelMapperReader(), AUD_ConverterReader::AUD_ConverterReader(), AUD_DoubleReader::AUD_DoubleReader(), AUD_getInfo(), AUD_readSoundBuffer(), AUD_StreamBufferFactory::AUD_StreamBufferFactory(), AUD_SuperposeReader::AUD_SuperposeReader(), AUD_LinearResampleFactory::createReader(), AUD_SRCResampleFactory::createReader(), AUD_ButterworthFactory::createReader(), AUD_LowpassFactory::createReader(), AUD_HighpassFactory::createReader(), AUD_ChannelMapperFactory::createReader(), AUD_EnvelopeFactory::createReader(), AUD_OpenALDevice::getPosition(), AUD_PitchReader::getSpecs(), AUD_EffectReader::getSpecs(), AUD_SuperposeReader::getSpecs(), AUD_DoubleReader::getSpecs(), AUD_OpenALDevice::play(), AUD_DefaultMixer::prepare(), AUD_LoopReader::read(), AUD_DelayReader::read(), AUD_SuperposeReader::read(), AUD_FaderReader::read(), AUD_DoubleReader::read(), AUD_BandPassReader::read(), AUD_BaseIIRFilterReader::read(), AUD_SoftwareDevice::seek(), AUD_OpenALDevice::seek(), and AUD_OpenALDevice::updateStreams().
| virtual bool AUD_IReader::isSeekable | ( | ) | const [pure virtual] |
Tells whether the source provides seeking functionality or not.
Implemented in AUD_SndFileReader, AUD_SequencerReader, AUD_DoubleReader, AUD_SinusReader, AUD_SuperposeReader, AUD_BufferReader, AUD_SilenceReader, and AUD_EffectReader.
Referenced by AUD_LimiterReader::AUD_LimiterReader(), AUD_EffectReader::isSeekable(), AUD_SuperposeReader::isSeekable(), and AUD_DoubleReader::isSeekable().
| virtual void AUD_IReader::read | ( | int & | length, |
| sample_t *& | buffer | ||
| ) | [pure 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.
| [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] | buffer | The pointer to the buffer with the samples. |
Implemented in AUD_SndFileReader, AUD_BaseIIRFilterReader, AUD_SRCResampleReader, AUD_SequencerReader, AUD_BandPassReader, AUD_LinearResampleReader, AUD_DoubleReader, AUD_SinusReader, AUD_FaderReader, AUD_ChannelMapperReader, AUD_SuperposeReader, AUD_DelayReader, AUD_BufferReader, AUD_LoopReader, AUD_ReverseReader, AUD_SilenceReader, AUD_ConverterReader, AUD_EffectReader, and AUD_LimiterReader.
Referenced by AUD_LimiterReader::AUD_LimiterReader(), AUD_readSound(), AUD_readSoundBuffer(), AUD_StreamBufferFactory::AUD_StreamBufferFactory(), AUD_SRCResampleReader::doCallback(), AUD_SoftwareDevice::mix(), AUD_OpenALDevice::play(), AUD_LimiterReader::read(), AUD_EffectReader::read(), AUD_ConverterReader::read(), AUD_ReverseReader::read(), AUD_LoopReader::read(), AUD_DelayReader::read(), AUD_SuperposeReader::read(), AUD_ChannelMapperReader::read(), AUD_FaderReader::read(), AUD_DoubleReader::read(), AUD_LinearResampleReader::read(), AUD_BandPassReader::read(), AUD_SequencerReader::read(), AUD_BaseIIRFilterReader::read(), AUD_OpenALDevice::seek(), and AUD_OpenALDevice::updateStreams().
| virtual void AUD_IReader::seek | ( | int | position | ) | [pure virtual] |
Seeks to a specific position in the source. This function must work for buffer type readers.
| position | The 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. |
Implemented in AUD_SndFileReader, AUD_SRCResampleReader, AUD_SequencerReader, AUD_LinearResampleReader, AUD_DoubleReader, AUD_SinusReader, AUD_SuperposeReader, AUD_DelayReader, AUD_BufferReader, AUD_LoopReader, AUD_ReverseReader, AUD_SilenceReader, AUD_EffectReader, and AUD_LimiterReader.
Referenced by AUD_LimiterReader::AUD_LimiterReader(), AUD_SoftwareDevice::mix(), AUD_ReverseReader::read(), AUD_LoopReader::read(), AUD_SequencerReader::read(), AUD_LimiterReader::seek(), AUD_EffectReader::seek(), AUD_LoopReader::seek(), AUD_DelayReader::seek(), AUD_SuperposeReader::seek(), AUD_DoubleReader::seek(), AUD_LinearResampleReader::seek(), AUD_SRCResampleReader::seek(), AUD_SoftwareDevice::seek(), AUD_OpenALDevice::seek(), and AUD_OpenALDevice::updateStreams().