ramp_out(sp, buf, v, c); 
if(c > 0) ramp_out(sp, buf, v, c); 
void mix_voice(int32 *buf, int v, int32 c){  Voice *vp=voice+v;  sample_t *sp;  if (vp->status==VOICE_DIE)    {      if (c>=MAX_DIE_TIME)	c=MAX_DIE_TIME;      sp=resample_voice(v, &c);      ramp_out(sp, buf, v, c);      vp->status=VOICE_FREE;    }  else    {      sp=resample_voice(v, &c);      if (play_mode->encoding & PE_MONO)	{	  /* Mono output. */	  if (vp->envelope_increment || vp->tremolo_phase_increment)	    mix_mono_signal(sp, buf, v, c);	  else	    mix_mono(sp, buf, v, c);	}      else	{	  if (vp->panned == PANNED_MYSTERY)	    {	      if (vp->envelope_increment || vp->tremolo_phase_increment)		mix_mystery_signal(sp, buf, v, c);	      else		mix_mystery(sp, buf, v, c);	    }	  else if (vp->panned == PANNED_CENTER)	    {	      if (vp->envelope_increment || vp->tremolo_phase_increment)		mix_center_signal(sp, buf, v, c);	      else		mix_center(sp, buf, v, c);	    }	  else	    { 	      /* It's either full left or full right. In either case,		 every other sample is 0. Just get the offset right: */	      if (vp->panned == PANNED_RIGHT) buf++;	      	      if (vp->envelope_increment || vp->tremolo_phase_increment)		mix_single_signal(sp, buf, v, c);	      else 		mix_single(sp, buf, v, c);	    }	}    }}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/cb293c4705e0c7b93d3269c59bcf9bbcab7f6278/mix.c/clean/mix.c