A delay line processor featuring several algorithms for the fractional delay calculation, block processing, and sample-by-sample processing useful when modulating the delay in real time or creating a standard delay effect with feedback.
More...
|
| | DelayLine () |
| | Default constructor.
|
| |
| | DelayLine (int maximumDelayInSamples) |
| | Constructor.
|
| |
| SampleType | getDelay () const |
| | Returns the current delay in samples.
|
| |
| int | getMaximumDelayInSamples () const noexcept |
| | Gets the maximum possible delay in samples.
|
| |
| SampleType | popSample (int channel, SampleType delayInSamples=-1, bool updateReadPointer=true) |
| | Pops a single sample from one channel of the delay line.
|
| |
| void | prepare (const ProcessSpec &spec) |
| | Initialises the processor.
|
| |
| template<typename ProcessContext > |
| void | process (const ProcessContext &context) noexcept |
| | Processes the input and output samples supplied in the processing context.
|
| |
| void | pushSample (int channel, SampleType sample) |
| | Pushes a single sample into one channel of the delay line.
|
| |
| void | reset () |
| | Resets the internal state variables of the processor.
|
| |
| void | setDelay (SampleType newDelayInSamples) |
| | Sets the delay in samples.
|
| |
| void | setMaximumDelayInSamples (int maxDelayInSamples) |
| | Sets a new maximum delay in samples.
|
| |
template<typename SampleType, typename InterpolationType = DelayLineInterpolationTypes::Linear>
class juce::dsp::DelayLine< SampleType, InterpolationType >
A delay line processor featuring several algorithms for the fractional delay calculation, block processing, and sample-by-sample processing useful when modulating the delay in real time or creating a standard delay effect with feedback.
Note: If you intend to change the delay in real time, you may want to smooth changes to the delay systematically using either a ramp or a low-pass filter.
- See also
- SmoothedValue, FirstOrderTPTFilter
@tags{DSP}
template<typename SampleType , typename InterpolationType = DelayLineInterpolationTypes::Linear>
| SampleType juce::dsp::DelayLine< SampleType, InterpolationType >::popSample |
( |
int |
channel, |
|
|
SampleType |
delayInSamples = -1, |
|
|
bool |
updateReadPointer = true |
|
) |
| |
Pops a single sample from one channel of the delay line.
Use this function to modulate the delay in real time or implement standard delay effects with feedback.
- Parameters
-
| channel | the target channel for the delay line. |
| delayInSamples | sets the wanted fractional delay in samples, or -1 to use the value being used before or set with setDelay function. |
| updateReadPointer | should be set to true if you use the function once for each sample, or false if you need multi-tap delay capabilities. |
- See also
- setDelay, pushSample, process
Referenced by juce::dsp::DelayLine< SampleType, InterpolationType >::process().
template<typename SampleType , typename InterpolationType = DelayLineInterpolationTypes::Linear>
| void juce::dsp::DelayLine< SampleType, InterpolationType >::pushSample |
( |
int |
channel, |
|
|
SampleType |
sample |
|
) |
| |
template<typename SampleType , typename InterpolationType = DelayLineInterpolationTypes::Linear>
| void juce::dsp::DelayLine< SampleType, InterpolationType >::setMaximumDelayInSamples |
( |
int |
maxDelayInSamples | ) |
|
Sets a new maximum delay in samples.
Also clears the delay line.
This may allocate internally, so you should never call it from the audio thread.