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

Public Member Functions | |
| AUD_SequencerReader (AUD_SequencerFactory *factory, std::list< AUD_SequencerEntry * > &entries, const AUD_Specs specs, void *data, AUD_volumeFunction volume) | |
| ~AUD_SequencerReader () | |
| void | destroy () |
| void | add (AUD_SequencerEntry *entry) |
| void | remove (AUD_SequencerEntry *entry) |
| 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 resampling reader uses libsamplerate for resampling.
Definition at line 50 of file AUD_SequencerReader.h.
| AUD_SequencerReader::AUD_SequencerReader | ( | AUD_SequencerFactory * | factory, |
| std::list< AUD_SequencerEntry * > & | entries, | ||
| const AUD_Specs | specs, | ||
| void * | data, | ||
| AUD_volumeFunction | volume | ||
| ) |
Creates a resampling reader.
| reader | The reader to mix. |
| specs | The target specification. |
Definition at line 40 of file AUD_SequencerReader.cpp.
References AUD_FORMAT_FLOAT32, AUD_IFactory::createReader(), AUD_SequencerStrip::entry, AUD_DeviceSpecs::format, i, NULL, AUD_SequencerStrip::old_sound, AUD_Mixer::prepare(), AUD_SequencerStrip::reader, and AUD_DeviceSpecs::specs.
| AUD_SequencerReader::~AUD_SequencerReader | ( | ) |
Destroys the reader.
Definition at line 72 of file AUD_SequencerReader.cpp.
References NULL, AUD_SequencerStrip::reader, and AUD_SequencerFactory::removeReader().
| void AUD_SequencerReader::add | ( | AUD_SequencerEntry * | entry | ) |
Definition at line 106 of file AUD_SequencerReader.cpp.
References AUD_IFactory::createReader(), AUD_SequencerStrip::entry, NULL, AUD_SequencerStrip::old_sound, AUD_Mixer::prepare(), AUD_SequencerStrip::reader, and AUD_SequencerEntry::sound.
| void AUD_SequencerReader::destroy | ( | ) |
Definition at line 93 of file AUD_SequencerReader.cpp.
References NULL.
Referenced by AUD_SequencerFactory::~AUD_SequencerFactory().
| int AUD_SequencerReader::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 154 of file AUD_SequencerReader.cpp.
| int AUD_SequencerReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Implements AUD_IReader.
Definition at line 159 of file AUD_SequencerReader.cpp.
| AUD_Specs AUD_SequencerReader::getSpecs | ( | ) | const [virtual] |
Returns the specification of the reader.
Implements AUD_IReader.
Definition at line 164 of file AUD_SequencerReader.cpp.
References AUD_Mixer::getSpecs(), and AUD_DeviceSpecs::specs.
| bool AUD_SequencerReader::isSeekable | ( | ) | const [virtual] |
Tells whether the source provides seeking functionality or not.
Implements AUD_IReader.
Definition at line 144 of file AUD_SequencerReader.cpp.
| void AUD_SequencerReader::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 169 of file AUD_SequencerReader.cpp.
References AUD_Mixer::add(), AUD_SAMPLE_SIZE, AUD_SequencerEntry::begin, AUD_IFactory::createReader(), AUD_SequencerEntry::data, AUD_SequencerEntry::end, AUD_SequencerStrip::entry, AUD_Buffer::getBuffer(), AUD_SequencerFactory::getMute(), AUD_IReader::getPosition(), AUD_Buffer::getSize(), AUD_Mixer::getSpecs(), i, length(), AUD_SequencerEntry::muted, NULL, AUD_SequencerStrip::old_sound, AUD_Mixer::prepare(), AUD_DeviceSpecs::rate, AUD_IReader::read(), AUD_SequencerStrip::reader, AUD_Buffer::resize(), AUD_IReader::seek(), size(), AUD_SequencerEntry::skip, AUD_SequencerEntry::sound, and AUD_Mixer::superpose().
| void AUD_SequencerReader::remove | ( | AUD_SequencerEntry * | entry | ) |
Definition at line 124 of file AUD_SequencerReader.cpp.
References AUD_SequencerStrip::entry, i, and AUD_SequencerStrip::reader.
| void AUD_SequencerReader::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 149 of file AUD_SequencerReader.cpp.