Import audio/stymulator version 0.21.a_3
[dports.git] / audio / stymulator / files / patch-stsoundlib__YmMusic.cpp
1 --- ./stsoundlib/YmMusic.cpp.orig       2010-04-23 13:49:47.000000000 +0200
2 +++ ./stsoundlib/YmMusic.cpp    2010-04-23 13:50:07.000000000 +0200
3 @@ -167,12 +167,12 @@
4                 return getAttrib()&A_TIMECONTROL;
5  }
6  
7 -void   CYmMusic::setLastError(char *pError)
8 +void   CYmMusic::setLastError(const char *pError)
9  {
10                 pLastError = pError;
11  }
12  
13 -char   *CYmMusic::getLastError(void)
14 +const char *CYmMusic::getLastError(void)
15  {
16                 return pLastError;
17  }
18 @@ -364,11 +364,14 @@
19  
20                         if (ptr[12])
21                         {
22 -                               sampleFrq = (MFP_CLOCK / ptr[12]);
23 -                               ymChip.drumStart(       2,                                                      // Voice C
24 -                                                                       sampleAdress[sampleNum],
25 -                                                                       sampleLen[sampleNum],
26 -                                                                       sampleFrq);
27 +                               if (sampleNum < MAX_DIGIDRUM)
28 +                               {
29 +                                       sampleFrq = (MFP_CLOCK / ptr[12]);
30 +                                       ymChip.drumStart(       2,                                                      // Voice C
31 +                                                                               sampleAdress[sampleNum],
32 +                                                                               sampleLen[sampleNum],
33 +                                                                               sampleFrq);
34 +                               }
35                         }
36                 }
37         }
38 @@ -612,7 +615,6 @@
39                 for (i=0;i<nbVoice;i++)
40                 {
41                         ymint n;
42 -                       ymint freq = 
43                         pVoice[i].sampleFreq = ((ymint)pLine->freqHigh<<8) | pLine->freqLow;
44                         if (pVoice[i].sampleFreq)
45                         {
46 @@ -677,7 +679,7 @@
47  #ifdef _LINEAR_OVRS
48                         ymint vb = va;
49                         if (samplePos < (sampleEnd-(1<<YMTPREC)))
50 -                               ymint vb = pVolumeTab[pSample[(samplePos>>YMTPREC)+1]];
51 +                               vb = pVolumeTab[pSample[(samplePos>>YMTPREC)+1]];
52                         ymint frac = samplePos & ((1<<YMTPREC)-1);
53                         va += (((vb-va)*frac)>>YMTPREC);
54  #endif