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

Public Member Functions | |
| AUD_SuperposeReader (AUD_IReader *reader1, AUD_IReader *reader2) | |
| virtual | ~AUD_SuperposeReader () |
| 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) |
This reader plays two readers with the same specs sequently.
Definition at line 41 of file AUD_SuperposeReader.h.
| AUD_SuperposeReader::AUD_SuperposeReader | ( | AUD_IReader * | reader1, |
| AUD_IReader * | reader2 | ||
| ) |
Creates a new superpose reader.
| reader1 | The first reader to read from. |
| reader2 | The second reader to read from. |
| AUD_Exception | Thrown if the specs from the readers differ. |
Definition at line 39 of file AUD_SuperposeReader.cpp.
References AUD_ERROR_SPECS, AUD_THROW, AUD_IReader::getSpecs(), and specs_error.
| AUD_SuperposeReader::~AUD_SuperposeReader | ( | ) | [virtual] |
Destroys the reader.
Definition at line 59 of file AUD_SuperposeReader.cpp.
| int AUD_SuperposeReader::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!
Implements AUD_IReader.
Definition at line 76 of file AUD_SuperposeReader.cpp.
References AUD_MIN, and AUD_IReader::getLength().
| int AUD_SuperposeReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Implements AUD_IReader.
Definition at line 85 of file AUD_SuperposeReader.cpp.
References AUD_MAX, and AUD_IReader::getPosition().
| AUD_Specs AUD_SuperposeReader::getSpecs | ( | ) | const [virtual] |
Returns the specification of the reader.
Implements AUD_IReader.
Definition at line 92 of file AUD_SuperposeReader.cpp.
References AUD_IReader::getSpecs().
| bool AUD_SuperposeReader::isSeekable | ( | ) | const [virtual] |
Tells whether the source provides seeking functionality or not.
Implements AUD_IReader.
Definition at line 65 of file AUD_SuperposeReader.cpp.
References AUD_IReader::isSeekable().
| void AUD_SuperposeReader::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. |
Implements AUD_IReader.
Definition at line 97 of file AUD_SuperposeReader.cpp.
References AUD_MAX, AUD_SAMPLE_SIZE, AUD_Specs::channels, AUD_Buffer::getBuffer(), AUD_Buffer::getSize(), AUD_IReader::getSpecs(), i, length(), AUD_IReader::read(), and AUD_Buffer::resize().
| void AUD_SuperposeReader::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. |
Implements AUD_IReader.
Definition at line 70 of file AUD_SuperposeReader.cpp.
References AUD_IReader::seek().