#include <RingBuffer.h>

Public Member Functions | |
| RingBufferTap (RingBuffer *parent=0, int offset=0) | |
| void | setOffset (int offset) |
| unsigned | duration () const |
| number of frames in the Seekable | |
| unsigned | seekTo (int position, SeekPosition whence) throw (CException) |
| general-purpose seek on a stream | |
| void | setLoopStart (unsigned frame) |
| void | setLoopEnd (unsigned frame) |
| void | setBuffer (RingBuffer *parent) |
| void | nextBuffer (Buffer &outputBuffer) throw (CException) |
| nextBuffer method | |
| void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException) |
| void | destructiveNextBuffer (Buffer &outputBuffer) throw (CException) |
| zeroing as it goes. | |
| void | destructiveNextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException) |
Public Attributes | |
| unsigned | mLoopStartFrame |
| Number of frames from the beginning to start a loop at. | |
| unsigned | mLoopEndFrame |
| Number of frames away from buffer end. | |
Protected Attributes | |
| unsigned | mTempCurrentFrame |
| RingBuffer * | mParentBuffer |
Friends | |
| class | RingBuffer |
| Allow RingBuffer to access private members of RingBufferTap. | |
| RingBufferTap::RingBufferTap | ( | RingBuffer * | parent = 0, |
|
| int | offset = 0 | |||
| ) |
Create a tap on a ring buffer, optionally offset relative to the current write position.
References setOffset().
| void RingBufferTap::setOffset | ( | int | offset | ) |
References csl::RingBuffer::mBuffer, csl::Seekable::mCurrentFrame, csl::RingBuffer::mCurrentWriteFrame, csl::Buffer::mNumFrames, and mParentBuffer.
Referenced by RingBufferTap(), and testMultiTap().
| unsigned RingBufferTap::duration | ( | ) | const [virtual] |
number of frames in the Seekable
Implements csl::Seekable.
References csl::RingBuffer::mBuffer, csl::Buffer::mNumFrames, and mParentBuffer.
| unsigned RingBufferTap::seekTo | ( | int | position, | |
| SeekPosition | whence | |||
| ) | throw (CException) [virtual] |
general-purpose seek on a stream
Implements csl::Seekable.
References csl::kPositionCurrent, csl::kPositionEnd, and csl::kPositionStart.
Referenced by csl::DelayLine::DelayLine(), csl::DelayLine::setDelayLength(), and csl::DelayLine::setDelayTime().
| void csl::RingBufferTap::setLoopStart | ( | unsigned | frame | ) | [inline] |
| void csl::RingBufferTap::setLoopEnd | ( | unsigned | frame | ) | [inline] |
| void csl::RingBufferTap::setBuffer | ( | RingBuffer * | parent | ) | [inline] |
| void RingBufferTap::nextBuffer | ( | Buffer & | outputBuffer | ) | throw (CException) [virtual] |
nextBuffer method
Reimplemented from csl::UnitGenerator.
References csl::UnitGenerator::nextBuffer().
| void RingBufferTap::nextBuffer | ( | Buffer & | outputBuffer, | |
| unsigned | outBufNum | |||
| ) | throw (CException) [virtual] |
really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times
Reimplemented from csl::UnitGenerator.
| void RingBufferTap::destructiveNextBuffer | ( | Buffer & | outputBuffer | ) | throw (CException) |
zeroing as it goes.
| void RingBufferTap::destructiveNextBuffer | ( | Buffer & | outputBuffer, | |
| unsigned | outBufNum | |||
| ) | throw (CException) |
friend class RingBuffer [friend] |
Allow RingBuffer to access private members of RingBufferTap.
| unsigned csl::RingBufferTap::mLoopStartFrame |
| unsigned csl::RingBufferTap::mLoopEndFrame |
unsigned csl::RingBufferTap::mTempCurrentFrame [protected] |
RingBuffer* csl::RingBufferTap::mParentBuffer [protected] |
Referenced by duration(), setBuffer(), and setOffset().
1.5.8