Blender V2.61 - r43446
|
#include <AUD_SuperposeReader.h>
Public Member Functions | |
AUD_SuperposeReader (AUD_Reference< AUD_IReader > reader1, AUD_Reference< 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, bool &eos, sample_t *buffer) |
This reader plays two readers with the same specs in parallel.
Definition at line 40 of file AUD_SuperposeReader.h.
AUD_SuperposeReader::AUD_SuperposeReader | ( | AUD_Reference< AUD_IReader > | reader1, |
AUD_Reference< 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 37 of file AUD_SuperposeReader.cpp.
AUD_SuperposeReader::~AUD_SuperposeReader | ( | ) | [virtual] |
Destroys the reader.
Definition at line 42 of file AUD_SuperposeReader.cpp.
int AUD_SuperposeReader::getLength | ( | ) | const [virtual] |
Returns an approximated length of the source in samples.
Implements AUD_IReader.
Definition at line 57 of file AUD_SuperposeReader.cpp.
References AUD_MIN.
int AUD_SuperposeReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Implements AUD_IReader.
Definition at line 66 of file AUD_SuperposeReader.cpp.
References AUD_MAX.
AUD_Specs AUD_SuperposeReader::getSpecs | ( | ) | const [virtual] |
Returns the specification of the reader.
Implements AUD_IReader.
Definition at line 73 of file AUD_SuperposeReader.cpp.
bool AUD_SuperposeReader::isSeekable | ( | ) | const [virtual] |
Tells whether the source provides seeking functionality or not.
Implements AUD_IReader.
Definition at line 46 of file AUD_SuperposeReader.cpp.
void AUD_SuperposeReader::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.
[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] | eos | End of stream, whether the end is reached or not. |
[in] | buffer | The pointer to the buffer to read into. |
Implements AUD_IReader.
Definition at line 78 of file AUD_SuperposeReader.cpp.
References AUD_Buffer::assureSize(), AUD_COMPARE_SPECS, AUD_ERROR_SPECS, AUD_MAX, AUD_SAMPLE_SIZE, AUD_THROW, AUD_Specs::channels, AUD_Buffer::getBuffer(), i, length(), and specs_error.
void AUD_SuperposeReader::seek | ( | int | position | ) | [virtual] |
Seeks to a specific position in the source.
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 51 of file AUD_SuperposeReader.cpp.