cdrom: change pause timing again
[pcsx_rearmed.git] / plugins / dfsound / adsr.c
index cb366dc..23ff3df 100644 (file)
@@ -63,7 +63,7 @@ INLINE void StartADSR(int ch)                          // MIX ADSR
 \r
 ////////////////////////////////////////////////////////////////////////\r
 \r
-static int MixADSR(ADSRInfoEx *adsr, int ns_to)\r
+static int MixADSR(int *samples, ADSRInfoEx *adsr, int ns_to)\r
 {\r
  unsigned int EnvelopeVol = adsr->EnvelopeVol;\r
  int ns = 0, val, rto, level;\r
@@ -80,8 +80,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
        if ((signed int)EnvelopeVol <= 0)\r
          break;\r
 \r
-       ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-       ChanBuf[ns] >>= 10;\r
+       samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+       samples[ns] >>= 10;\r
      }\r
    }\r
    else\r
@@ -92,8 +92,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
        if ((signed int)EnvelopeVol <= 0)\r
          break;\r
 \r
-       ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-       ChanBuf[ns] >>= 10;\r
+       samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+       samples[ns] >>= 10;\r
      }\r
    }\r
 \r
@@ -114,8 +114,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
        if ((signed int)EnvelopeVol < 0) // overflow\r
         break;\r
 \r
-       ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-       ChanBuf[ns] >>= 10;\r
+       samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+       samples[ns] >>= 10;\r
      }\r
 \r
      if ((signed int)EnvelopeVol < 0) // overflow\r
@@ -139,8 +139,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
        if ((signed int)EnvelopeVol < 0)\r
          EnvelopeVol = 0;\r
 \r
-       ChanBuf[ns] *= EnvelopeVol >> 21;\r
-       ChanBuf[ns] >>= 10;\r
+       samples[ns] *= EnvelopeVol >> 21;\r
+       samples[ns] >>= 10;\r
        ns++;\r
 \r
        if (((EnvelopeVol >> 27) & 0xf) <= level)\r
@@ -177,8 +177,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
            break;\r
          }\r
 \r
-         ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-         ChanBuf[ns] >>= 10;\r
+         samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+         samples[ns] >>= 10;\r
        }\r
      }\r
      else\r
@@ -192,8 +192,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
            if ((signed int)EnvelopeVol < 0)\r
              break;\r
 \r
-           ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-           ChanBuf[ns] >>= 10;\r
+           samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+           samples[ns] >>= 10;\r
          }\r
        }\r
        else\r
@@ -204,8 +204,8 @@ static int MixADSR(ADSRInfoEx *adsr, int ns_to)
            if ((signed int)EnvelopeVol < 0)\r
              break;\r
 \r
-           ChanBuf[ns] *= (signed int)EnvelopeVol >> 21;\r
-           ChanBuf[ns] >>= 10;\r
+           samples[ns] *= (signed int)EnvelopeVol >> 21;\r
+           samples[ns] >>= 10;\r
          }\r
        }\r
      }\r