} else if(fc->type == 1) {	/* copy with applying voice-by-voice lowpass filter. */ 
} else if(fc->type == 1) {	/* copy with applying Chamberlin's lowpass filter. */ 
static inline void do_voice_filter(int v, sample_t *sp, mix_t *lp, int32 count){	FilterCoefficients *fc = &(voice[v].fc);	int32 i, f, q, p, b0, b1, b2, b3, b4, t1, t2, x;		if(fc->type == 0) {	/* copy without change.	*/		/* (FIXME: It's absolutely essential that converting int16 sp[] to int32 lp[],			but it might not be only way.) */		for(i=0;i<count;i++) {			lp[i] = sp[i];		}		return;	} else if(fc->type == 1) {	/* copy with applying voice-by-voice lowpass filter. */		recalc_voice_resonance(v);		recalc_voice_fc(v);		f = fc->f, q = fc->q, b0 = fc->b0, b1 = fc->b1, b2 = fc->b2;		for(i = 0; i < count; i++) {			b0 = b0 + imuldiv24(b2, f);			b1 = sp[i] - b0 - imuldiv24(b2, q);			b2 = imuldiv24(b1, f) + b2;			lp[i] = b0;		}		fc->b0 = b0, fc->b1 = b1, fc->b2 = b2;		return;	} else if(fc->type == 2) {	/* copy with applying voice-by-voice lowpass filter. */		recalc_voice_resonance(v);		recalc_voice_fc(v);		f = fc->f, q = fc->q, p = fc->p, b0 = fc->b0, b1 = fc->b1,			b2 = fc->b2, b3 = fc->b3, b4 = fc->b4;		for(i = 0; i < count; i++) {			x = sp[i] - imuldiv24(q, b4);	/* feedback */			t1 = b1;  b1 = imuldiv24(x + b0, p) - imuldiv24(b1, f);			t2 = b2;  b2 = imuldiv24(b1 + t1, p) - imuldiv24(b2, f);			t1 = b3;  b3 = imuldiv24(b2 + t2, p) - imuldiv24(b3, f);			lp[i] = b4 = imuldiv24(b3 + t1, p) - imuldiv24(b4, f);			b0 = x;		}		fc->b0 = b0, fc->b1 = b1, fc->b2 = b2, fc->b3 = b3, fc->b4 = b4;		return;	}}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/215263b5159234ace999b97bf9bf379a67164357/mix.c/buggy/timidity/mix.c