-static void mix_samples(short *dest_buf, int *ym_buf, short *mp3_buf, int len, int stereo)
-{
- if (mp3_buf)
- {
- if (stereo)
- {
- for (; len > 0; len--)
- {
- int l, r;
- l = r = *dest_buf;
- l += *ym_buf++; r += *ym_buf++;
- l += *mp3_buf++; r += *mp3_buf++;
- Limit( l, MAXOUT, MINOUT );
- Limit( r, MAXOUT, MINOUT );
- *dest_buf++ = l; *dest_buf++ = r;
- }
- } else {
- for (; len > 0; len--)
- {
- int l = *ym_buf++;
- l += *dest_buf;
- l += *mp3_buf++;
- Limit( l, MAXOUT, MINOUT );
- *dest_buf++ = l;
- }
- }
- }
- else
- {
- if (stereo)
- {
- for (; len > 0; len--)
- {
- int l, r;
- l = r = *dest_buf;
- l += *ym_buf++, r += *ym_buf++;
- Limit( l, MAXOUT, MINOUT );
- Limit( r, MAXOUT, MINOUT );
- *dest_buf++ = l; *dest_buf++ = r;
- }
- } else {
- for (; len > 0; len--)
- {
- int l = *ym_buf++;
- l += *dest_buf;
- Limit( l, MAXOUT, MINOUT );
- *dest_buf++ = l;
- }
- }
- }
-}
-