Signalsmith Audio's DSP Library  1.6.0
Useful C++ classes/templates for audio effects
Nested Classes | Static Attributes | Methods
signalsmith::delay::MultiDelay< Sample, Interpolator > Class Template Reference

#include <delay.h>

Detailed Description

template<class Sample, template< typename > class Interpolator = InterpolatorLinear>
class signalsmith::delay::MultiDelay< Sample, Interpolator >

A multi-channel delay-line with its own buffer.

Inherits signalsmith::delay::Reader< Sample, InterpolatorLinear >.

Nested Classes

struct  ChannelView
 A single-channel delay-line view, similar to a const Delay More...
 
struct  DelayView
 A multi-channel result, lazily calculating samples. More...
 

Static Attributes

static constexpr Sample latency = Super::latency
 

Methods

 MultiDelay (int channels=0, int capacity=0)
 
void reset (Sample value=Sample())
 
void resize (int nChannels, int capacity, Sample value=Sample())
 
ChannelView operator[] (int channel) const
 
DelayView read (Sample delaySamples)
 
template<class Output >
void read (Sample delaySamples, Output &output)
 Reads into the provided output structure. More...
 
template<class Delays , class Output >
void readMulti (const Delays &delays, Output &output)
 Reads separate delays for each channel. More...
 
template<class Data >
MultiDelaywrite (const Data &data)
 

Method Details

◆ read()

template<class Sample , template< typename > class Interpolator = InterpolatorLinear>
template<class Output >
void signalsmith::delay::MultiDelay< Sample, Interpolator >::read ( Sample  delaySamples,
Output &  output 
)
inline

Reads into the provided output structure.

◆ readMulti()

template<class Sample , template< typename > class Interpolator = InterpolatorLinear>
template<class Delays , class Output >
void signalsmith::delay::MultiDelay< Sample, Interpolator >::readMulti ( const Delays &  delays,
Output &  output 
)
inline

Reads separate delays for each channel.