Minor sound updates. Small speedup for dac.
This commit is contained in:
parent
ce5e77940d
commit
4c03d8c704
|
@ -48,19 +48,20 @@ static void UpdateStream(INT32 chip, INT32 length)
|
||||||
INT16 *lbuf = lBuffer + ptr->nCurrentPosition;
|
INT16 *lbuf = lBuffer + ptr->nCurrentPosition;
|
||||||
INT16 *rbuf = rBuffer + ptr->nCurrentPosition;
|
INT16 *rbuf = rBuffer + ptr->nCurrentPosition;
|
||||||
|
|
||||||
INT16 Out = ptr->Output;
|
INT16 lOut = ((ptr->OutputDir & BURN_SND_ROUTE_LEFT ) == BURN_SND_ROUTE_LEFT ) ? ptr->Output : 0;
|
||||||
|
INT16 rOut = ((ptr->OutputDir & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) ? ptr->Output : 0;
|
||||||
|
|
||||||
ptr->nCurrentPosition += length;
|
ptr->nCurrentPosition += length;
|
||||||
|
|
||||||
if (Out) {
|
if (rOut && lOut) {
|
||||||
while (length--) {
|
while (length--) {
|
||||||
if ((ptr->OutputDir & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) {
|
*lbuf++ = *lbuf + lOut;
|
||||||
*lbuf++ = *lbuf + Out;
|
*rbuf++ = *rbuf + rOut;
|
||||||
}
|
|
||||||
if ((ptr->OutputDir & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
|
|
||||||
*rbuf++ = *rbuf + Out;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else if (lOut) {
|
||||||
|
while (length--) *lbuf++ = *lbuf + lOut;
|
||||||
|
} else if (rOut) {
|
||||||
|
while (length--) *rbuf++ = *rbuf + rOut;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue