Diff for /np2/sdl/win32s/SDLaudio.c between versions 1.1 and 1.2

version 1.1, 2003/11/21 06:51:13 version 1.2, 2003/11/23 09:59:10
Line 14  typedef struct { Line 14  typedef struct {
         void            (*usercb)(void *userdata, BYTE *stream, int len);          void            (*usercb)(void *userdata, BYTE *stream, int len);
         void            *userdata;          void            *userdata;
         WAVEHDR         *wh;          WAVEHDR         *wh;
           int                     pause_on;
 } WCTRL;  } WCTRL;
   
 static  WCTRL                   w_ctrl;  static  WCTRL                   w_ctrl;
Line 35  void __sdl_audio_cb(UINT msg, HWAVEOUT h Line 36  void __sdl_audio_cb(UINT msg, HWAVEOUT h
         if ((msg == MM_WOM_DONE) && (whd)) {          if ((msg == MM_WOM_DONE) && (whd)) {
                 waveOutUnprepareHeader(hwo, whd, sizeof(WAVEHDR));                  waveOutUnprepareHeader(hwo, whd, sizeof(WAVEHDR));
                 if (whd->lpData) {                  if (whd->lpData) {
                         w_ctrl.usercb(w_ctrl.userdata,                          if (!w_ctrl.pause_on) {
                                   w_ctrl.usercb(w_ctrl.userdata,
                                                                                 (BYTE *)whd->lpData, w_ctrl.bufsize);                                                                                  (BYTE *)whd->lpData, w_ctrl.bufsize);
                           }
                           else {
                                   ZeroMemory((BYTE *)whd->lpData, w_ctrl.bufsize);
                           }
                         waveOutPrepareHeader(hwo, whd, sizeof(WAVEHDR));                          waveOutPrepareHeader(hwo, whd, sizeof(WAVEHDR));
                         waveOutWrite(hwo, whd, sizeof(WAVEHDR));                          waveOutWrite(hwo, whd, sizeof(WAVEHDR));
                 }                  }
Line 49  static void CALLBACK hwavecb(HWAVEOUT hw Line 55  static void CALLBACK hwavecb(HWAVEOUT hw
         if ((uMsg == WOM_DONE) && (dwParam1)) {          if ((uMsg == WOM_DONE) && (dwParam1)) {
                 waveOutUnprepareHeader(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));                  waveOutUnprepareHeader(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));
                 if (((WAVEHDR *)dwParam1)->lpData) {                  if (((WAVEHDR *)dwParam1)->lpData) {
                         w_ctrl.usercb(w_ctrl.userdata,                          if (!w_ctrl.pause_on) {
                                   w_ctrl.usercb(w_ctrl.userdata,
                                                                                 (BYTE *)whd->lpData, w_ctrl.bufsize);                                                                                  (BYTE *)whd->lpData, w_ctrl.bufsize);
                           }
                           else {
                                   ZeroMemory((BYTE *)whd->lpData, w_ctrl.bufsize);
                           }
                         waveOutPrepareHeader(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));                          waveOutPrepareHeader(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));
                         waveOutWrite(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));                          waveOutWrite(hwo, (WAVEHDR *)dwParam1, sizeof(WAVEHDR));
                 }                  }
Line 194  int SDL_OpenAudio(SDL_AudioSpec *desired Line 205  int SDL_OpenAudio(SDL_AudioSpec *desired
                 goto soa_err2;                  goto soa_err2;
         }          }
         w_ctrl.opened = TRUE;          w_ctrl.opened = TRUE;
           w_ctrl.pause_on = 0;
         w_ctrl.hwave = hwave;          w_ctrl.hwave = hwave;
         for (i=0; i<slice; i++) {          for (i=0; i<slice; i++) {
                 waveOutPrepareHeader(hwave, wh + i, sizeof(WAVEHDR));                  waveOutPrepareHeader(hwave, wh + i, sizeof(WAVEHDR));
Line 237  void SDL_CloseAudio(void) { Line 249  void SDL_CloseAudio(void) {
 }  }
   
 void SDL_PauseAudio(int pause_on) {  void SDL_PauseAudio(int pause_on) {
   
           w_ctrl.pause_on = pause_on;
 }  }
   
 void SDL_MixAudio(BYTE *dst, const BYTE *src, DWORD len, int volume) {  void SDL_MixAudio(BYTE *dst, const BYTE *src, DWORD len, int volume) {

Removed from v.1.1  
changed lines
  Added in v.1.2


RetroPC.NET-CVS <cvs@retropc.net>