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

Public Member Functions | |
| AUD_LoopReader (AUD_IReader *reader, int loop) | |
| virtual void | seek (int position) |
| virtual int | getLength () const |
| virtual int | getPosition () const |
| virtual void | read (int &length, sample_t *&buffer) |
This class reads another reader and loops it.
Definition at line 42 of file AUD_LoopReader.h.
| AUD_LoopReader::AUD_LoopReader | ( | AUD_IReader * | reader, |
| int | loop | ||
| ) |
Creates a new loop reader.
| reader | The reader to read from. |
| loop | The desired loop count, negative values result in endless looping. |
Definition at line 37 of file AUD_LoopReader.cpp.
| int AUD_LoopReader::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!
Reimplemented from AUD_EffectReader.
Definition at line 59 of file AUD_LoopReader.cpp.
References AUD_IReader::getLength(), and AUD_EffectReader::m_reader.
| int AUD_LoopReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Reimplemented from AUD_EffectReader.
Definition at line 66 of file AUD_LoopReader.cpp.
References AUD_IReader::getPosition(), and AUD_EffectReader::m_reader.
| void AUD_LoopReader::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.
| [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. |
Reimplemented from AUD_EffectReader.
Definition at line 71 of file AUD_LoopReader.cpp.
References AUD_SAMPLE_SIZE, AUD_Specs::channels, AUD_Buffer::getBuffer(), AUD_Buffer::getSize(), AUD_IReader::getSpecs(), length(), AUD_EffectReader::m_reader, AUD_IReader::read(), AUD_Buffer::resize(), and AUD_IReader::seek().
| void AUD_LoopReader::seek | ( | int | position | ) | [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. |
Reimplemented from AUD_EffectReader.
Definition at line 42 of file AUD_LoopReader.cpp.
References AUD_IReader::getLength(), AUD_EffectReader::m_reader, and AUD_IReader::seek().