|
Gin
|
Multi-channel delay line with interpolated tap reading. More...
#include <gin_delayline.h>
Public Member Functions | |
| DelayLine (int channels, double maximumDelay=0.001f, double sr=44100.0f) | |
| void | setSize (int channels, double maximumDelay, double sr) |
| int | getNumChannels () const |
| void | clear () |
| float | readLagrange (int ch, double t) |
| float | readLinear (int ch, double t) |
| float | readSample (int ch, int samplePos) |
| float | readSampleLagrange (int ch, float samplePos) |
| void | write (int ch, float input) |
| void | writeFinished () |
Protected Attributes | |
| juce::AudioSampleBuffer | buffer |
| float *const * | data = nullptr |
| double | sampleRate = 44100.0 |
| int | writePos = 0 |
Multi-channel delay line with interpolated tap reading.
DelayLine provides a circular buffer-based delay line that supports multiple channels and fractional delay times through interpolation. It's the building block for creating delay effects, choruses, flangers, and reverbs.
Key Features:
Interpolation Methods:
Usage:
| DelayLine::DelayLine | ( | int | channels, |
| double | maximumDelay = 0.001f, | ||
| double | sr = 44100.0f ) |
References setSize().
| void DelayLine::setSize | ( | int | channels, |
| double | maximumDelay, | ||
| double | sr ) |
References buffer, data, sampleRate, and writePos.
Referenced by DelayLine().
| int DelayLine::getNumChannels | ( | ) | const |
References buffer.
| float DelayLine::readLagrange | ( | int | ch, |
| double | t ) |
References buffer, data, Lagrange::interpolate(), sampleRate, and writePos.
| float DelayLine::readLinear | ( | int | ch, |
| double | t ) |
References buffer, data, sampleRate, and writePos.
| float DelayLine::readSampleLagrange | ( | int | ch, |
| float | samplePos ) |
References buffer, data, Lagrange::interpolate(), and writePos.
|
protected |
Referenced by clear(), getNumChannels(), readLagrange(), readLinear(), readSample(), readSampleLagrange(), setSize(), and writeFinished().
|
protected |
Referenced by readLagrange(), readLinear(), readSample(), readSampleLagrange(), setSize(), and write().
|
protected |
Referenced by readLagrange(), readLinear(), and setSize().
|
protected |
Referenced by clear(), readLagrange(), readLinear(), readSample(), readSampleLagrange(), setSize(), write(), and writeFinished().