frac32buffer filter input
frac32buffer pitch
frac32buffer reso
frac32buffer filter output
frac32.s.map.pitch pitch
frac32.u.map.filterq reso
int32 mode
int32_t low;
int32_t band;
int32_t hp;
low = 0;
band = 0;
int32_t damp = (0x80 << 24) - (__USAT(inlet_reso + param_reso, 27) << 4);
damp = ___SMMUL(damp, damp);
int32_t alpha;
int32_t freq;
MTOFEXTENDED(param_pitch + inlet_pitch, alpha);
SINE2TINTERP(alpha, freq);
int32_t in1 = inlet_in;
int32_t notch = inlet_in - (___SMMUL(damp, band) << 1);
low = low + (___SMMUL(freq, band) << 1);
int32_t high = notch - low;
band = (___SMMUL(freq, high) << 1) + band -
(___SMMUL(band << 1, ___SMMUL(band << 1, band << 1) << 4));
switch (param_mode) {
case 0:
outlet_out = low;
break;
case 1:
outlet_out = band;
break;
case 2:
outlet_out = high;
break;
case 3:
outlet_out = notch;
break;
}
hp += outlet_out - hp >> 9;
outlet_out -= hp;