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;