static inline void update_tremolo(int v){	Voice *vp = &voice[v];	int32 depth = vp->tremolo_depth << 7;		if(vp->tremolo_delay > 0)	{		vp->tremolo_delay -= vp->delay_counter;		if(vp->tremolo_delay > 0) {			vp->tremolo_volume = 1.0;			return;		}		vp->tremolo_delay = 0;	}	if (vp->tremolo_sweep) {		/* Update sweep position */		vp->tremolo_sweep_position += vp->tremolo_sweep;		if (vp->tremolo_sweep_position >= 1 << SWEEP_SHIFT)			/* Swept to max amplitude */			vp->tremolo_sweep = 0;		else {			/* Need to adjust depth */			depth *= vp->tremolo_sweep_position;			depth >>= SWEEP_SHIFT;		}	}	vp->tremolo_phase += vp->tremolo_phase_increment;#if 0	if (vp->tremolo_phase >= SINE_CYCLE_LENGTH << RATE_SHIFT)		vp->tremolo_phase -= SINE_CYCLE_LENGTH << RATE_SHIFT;#endif	if(vp->sample->inst_type == INST_SF2) {	vp->tremolo_volume = 1.0 + TIM_FSCALENEG(			lookup_sine(vp->tremolo_phase >> RATE_SHIFT)			* depth * TREMOLO_AMPLITUDE_TUNING, 17);	} else {	vp->tremolo_volume = 1.0 + TIM_FSCALENEG(			lookup_sine(vp->tremolo_phase >> RATE_SHIFT)			* depth * TREMOLO_AMPLITUDE_TUNING, 17);	}	/* I'm not sure about the +1.0 there -- it makes tremoloed voices'	 *  volumes on average the lower the higher the tremolo amplitude.	 */}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/75d453dc9a08ec3e4e6a5ec383293cb83e37b58e/mix.c/buggy/timidity/mix.c