1 // Allpass filter declaration
3 // Written by Jezar at Dreampoint, June 2000
4 // http://www.dreampoint.co.uk
5 // This code is public domain
15 void setbuffer(float *buf, int size);
16 inline float process(float inp);
18 void setfeedback(float val);
28 // Big to inline - but crucial for speed
30 inline float allpass::process(float input)
35 bufout = buffer[bufidx];
36 undenormalise(bufout);
38 output = -input + bufout;
39 buffer[bufidx] = input + (bufout*feedback);
41 if(++bufidx>=bufsize) bufidx = 0;