|
|
| version 1.5, 2003/11/28 08:01:34 | version 1.8, 2005/02/11 21:17:23 |
|---|---|
| Line 16 | Line 16 |
| typedef struct { | typedef struct { |
| HWAVEOUT hwave; | HWAVEOUT hwave; |
| BYTE *buffer; | UINT8 *buffer; |
| DWORD samples; | DWORD samples; |
| DWORD bufalign; | DWORD bufalign; |
| WAVEHDR wh[2]; | WAVEHDR wh[2]; |
| Line 111 UINT soundmng_create(UINT rate, UINT ms) | Line 111 UINT soundmng_create(UINT rate, UINT ms) |
| if (waveopened) { | if (waveopened) { |
| return(0); | return(0); |
| } | } |
| mute = 1 << SNDPROC_NP2; | |
| switch(rate) { | switch(rate) { |
| case 11025: | case 11025: |
| type = 0; | type = 0; |
| Line 145 UINT soundmng_create(UINT rate, UINT ms) | Line 148 UINT soundmng_create(UINT rate, UINT ms) |
| } | } |
| w_ctrl.samples = (ms * rate) / 1000; | w_ctrl.samples = (ms * rate) / 1000; |
| w_ctrl.bufalign = w_ctrl.samples * 2 * 2; | w_ctrl.bufalign = w_ctrl.samples * 2 * 2; |
| w_ctrl.buffer = (BYTE *)_MALLOC(w_ctrl.bufalign * 2, "wave mng"); | w_ctrl.buffer = (UINT8 *)_MALLOC(w_ctrl.bufalign * 2, "wave mng"); |
| if (w_ctrl.buffer == NULL) { | if (w_ctrl.buffer == NULL) { |
| return(0); | return(0); |
| } | } |
| Line 183 UINT soundmng_create(UINT rate, UINT ms) | Line 186 UINT soundmng_create(UINT rate, UINT ms) |
| curms = ms; | curms = ms; |
| waveopened = TRUE; | waveopened = TRUE; |
| TRACEOUT(("soundmng success.")); | TRACEOUT(("soundmng success.")); |
| mute = 0; | |
| return(w_ctrl.samples); | return(w_ctrl.samples); |
| } | } |
| _MFREE(w_ctrl.buffer); | _MFREE(w_ctrl.buffer); |
| Line 220 void soundmng_destroy(void) { | Line 222 void soundmng_destroy(void) { |
| waveOutReset(w_ctrl.hwave); | waveOutReset(w_ctrl.hwave); |
| } | } |
| else { | else { |
| waveOutReset(w_ctrl.hwave); | // 誰かシグマリ3でのマトモな開放方法教えてくだちい… |
| // waveOutReset(w_ctrl.hwave); | |
| for (i=0; i<2; i++) { | for (i=0; i<2; i++) { |
| waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, | waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, |
| sizeof(WAVEHDR)); | sizeof(WAVEHDR)); |