|
OpenWareLaboratory
|
Circular buffer that keeps a delta table of differences for faster fractional delay lines. More...

Public Member Functions | |
| void | clear () |
| void | delay (T *in, T *out, size_t len, float beginDelay, float endDelay) |
| Write to buffer and read with a delay that ramps up or down from beginDelay to endDelay. More... | |
| void | delay (T *in, T *out, size_t len, float delay) |
| Write to buffer and read with a delay. More... | |
| FractionalCircularBuffer () | |
| FractionalCircularBuffer (T *data, T *delta, size_t size) | |
| size_t | getContiguousReadCapacity () |
| size_t | getContiguousWriteCapacity () |
| T * | getData () |
| float | getDelay () |
| Get the read index expressed as delay behind the write index. More... | |
| T * | getDelta () |
| size_t | getReadCapacity () |
| T * | getReadHead () |
| float | getReadIndex () |
| size_t | getSize () const |
| size_t | getWriteCapacity () |
| T * | getWriteHead () |
| size_t | getWriteIndex () |
| bool | isEmpty () const |
| void | moveReadHead (float samples) |
| void | moveWriteHead (int samples) |
| T | read () |
| void | read (T *dst, size_t len) |
| T | readAt (float index) |
| void | reset () |
| void | setAll (const T value) |
| void | setDelay (float samples) |
| Set the read index. More... | |
| void | setReadIndex (float pos) |
| void | setWriteIndex (size_t pos) |
| void | write (T *src, size_t len) |
| void | write (T value) |
| void | writeAt (size_t index, T value) |
Static Public Member Functions | |
| static FractionalCircularBuffer< T > * | create (size_t len) |
| static void | destroy (FractionalCircularBuffer< T > *obj) |
Protected Member Functions | |
| T | update (T previous, T current, size_t i) |
| Update an entry in the internal data and delta tables. More... | |
Circular buffer that keeps a delta table of differences for faster fractional delay lines.
Note that this class requires twice as much buffer space as CircularBuffer.
Definition at line 11 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 29 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 30 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 241 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::setAll().
Referenced by FastFractionalDelayProcessor::clear(), and FractionalCircularBuffer< T >::create().
|
inlinestatic |
Definition at line 245 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::clear().
|
inline |
Write to buffer and read with a delay that ramps up or down from beginDelay to endDelay.
Definition at line 178 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::readAt(), FractionalCircularBuffer< T >::setDelay(), and FractionalCircularBuffer< T >::update().
|
inline |
Write to buffer and read with a delay.
Definition at line 168 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::read(), FractionalCircularBuffer< T >::setDelay(), and FractionalCircularBuffer< T >::write().
Referenced by FastFractionalDelayProcessor::smooth().
|
inlinestatic |
Definition at line 251 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 223 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 216 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 36 of file FractionalCircularBuffer.h.
Referenced by FastFractionalDelayProcessor::destroy().
|
inline |
Get the read index expressed as delay behind the write index.
Definition at line 161 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 40 of file FractionalCircularBuffer.h.
Referenced by FastFractionalDelayProcessor::destroy().
|
inline |
Definition at line 208 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::getWriteCapacity().
|
inline |
Definition at line 143 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 135 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 32 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 212 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::getReadCapacity().
|
inline |
Definition at line 125 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 117 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 44 of file FractionalCircularBuffer.h.
References abs.
|
inline |
Definition at line 147 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::setReadIndex().
|
inline |
Definition at line 129 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 77 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::delay(), and FastFractionalDelayProcessor::process().
|
inline |
Definition at line 88 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 110 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::delay().
|
inline |
Definition at line 237 of file FractionalCircularBuffer.h.
|
inline |
Definition at line 230 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::clear().
|
inline |
Set the read index.
| samples | behind the write index. |
Definition at line 154 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::setReadIndex().
Referenced by FractionalCircularBuffer< T >::delay(), and FastFractionalDelayProcessor::process().
|
inline |
Definition at line 139 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::moveReadHead(), and FractionalCircularBuffer< T >::setDelay().
|
inline |
Definition at line 121 of file FractionalCircularBuffer.h.
|
inlineprotected |
Update an entry in the internal data and delta tables.
Definition at line 23 of file FractionalCircularBuffer.h.
Referenced by FractionalCircularBuffer< T >::delay(), FractionalCircularBuffer< T >::write(), and FractionalCircularBuffer< T >::writeAt().
|
inline |
Definition at line 55 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::update().
|
inline |
Definition at line 48 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::update().
Referenced by FractionalCircularBuffer< T >::delay(), and FastFractionalDelayProcessor::process().
|
inline |
Definition at line 72 of file FractionalCircularBuffer.h.
References FractionalCircularBuffer< T >::update().