27template <
typename T,
size_t max_size>
72 line_[write_ptr_] =
sample;
78 inline const T
Read()
const
80 T
a = line_[(write_ptr_ + delay_) %
max_size];
81 T
b = line_[(write_ptr_ + delay_ + 1) %
max_size];
82 return a + (
b -
a) * frac_;
95 inline const T ReadHermite(
float delay)
const
105 const float c = (
x1 -
xm1) * 0.5f;
106 const float v =
x0 -
x1;
107 const float w =
c +
v;
108 const float a =
w +
v + (
x2 -
x0) * 0.5f;
114 inline const T Allpass(
const T sample,
size_t delay,
const T coefficient)
116 T read = line_[(write_ptr_ + delay) % max_size];
117 T write = sample + coefficient * read;
119 return -write * coefficient + read;
Definition delayline.h:29
void SetDelay(size_t delay)
Definition delayline.h:51
const T Read() const
Definition delayline.h:78
void SetDelay(float delay)
Definition delayline.h:60
const T Read(float delay) const
Definition delayline.h:86
void Write(const T sample)
Definition delayline.h:70
void Reset()
Definition delayline.h:38
void Init()
Definition delayline.h:35
FIR Filter implementation, generic and ARM CMSIS DSP based.
Definition adenv.h:16