X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fadsr.c;h=9e328620a0ca52201c9ec1193ce43b6d5820becc;hp=cb366dc4e3207564b9506748eb07bc4d593f0613;hb=HEAD;hpb=0a42e81c36ab5ad2008ece5d9c288291e2f8c6fc diff --git a/plugins/dfsound/adsr.c b/plugins/dfsound/adsr.c index cb366dc4..23ff3df6 100644 --- a/plugins/dfsound/adsr.c +++ b/plugins/dfsound/adsr.c @@ -63,7 +63,7 @@ INLINE void StartADSR(int ch) // MIX ADSR //////////////////////////////////////////////////////////////////////// -static int MixADSR(ADSRInfoEx *adsr, int ns_to) +static int MixADSR(int *samples, ADSRInfoEx *adsr, int ns_to) { unsigned int EnvelopeVol = adsr->EnvelopeVol; int ns = 0, val, rto, level; @@ -80,8 +80,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol <= 0) break; - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } } else @@ -92,8 +92,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol <= 0) break; - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } } @@ -114,8 +114,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol < 0) // overflow break; - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } if ((signed int)EnvelopeVol < 0) // overflow @@ -139,8 +139,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol < 0) EnvelopeVol = 0; - ChanBuf[ns] *= EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= EnvelopeVol >> 21; + samples[ns] >>= 10; ns++; if (((EnvelopeVol >> 27) & 0xf) <= level) @@ -177,8 +177,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) break; } - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } } else @@ -192,8 +192,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol < 0) break; - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } } else @@ -204,8 +204,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to) if ((signed int)EnvelopeVol < 0) break; - ChanBuf[ns] *= (signed int)EnvelopeVol >> 21; - ChanBuf[ns] >>= 10; + samples[ns] *= (signed int)EnvelopeVol >> 21; + samples[ns] >>= 10; } } }