diff options
Diffstat (limited to 'plugins/dfsound/spu.c')
| -rw-r--r-- | plugins/dfsound/spu.c | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 3670d458..efc32b1a 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -814,18 +814,6 @@ void CALLBACK SPUplayCDDAchannel(short *pcm, int nbytes) FeedCDDA((unsigned char *)pcm, nbytes); } -// INIT/EXIT STUFF - -// SPUINIT: this func will be called first by the main emu -long CALLBACK SPUinit(void) -{ - spuMemC=(unsigned char *)spuMem; // just small setup - memset((void *)s_chan,0,MAXCHAN*sizeof(SPUCHAN)); - memset((void *)&rvb,0,sizeof(REVERBInfo)); - InitADSR(); - return 0; -} - // SETUPTIMER: init of certain buffers and threads/timers void SetupTimer(void) { @@ -916,10 +904,14 @@ void RemoveStreams(void) CDDAStart = NULL; } -// SPUOPEN: called by main emu after init -long SPUopen(void) +// INIT/EXIT STUFF + +// SPUINIT: this func will be called first by the main emu +long CALLBACK SPUinit(void) { - if (bSPUIsOpen) return 0; // security for some stupid main emus + spuMemC = (unsigned char *)spuMem; // just small setup + memset((void *)&rvb, 0, sizeof(REVERBInfo)); + InitADSR(); iVolume = 3; iReverbOff = -1; @@ -934,11 +926,17 @@ long SPUopen(void) iSPUIRQWait = 1; ReadConfig(); // read user stuff + SetupStreams(); // prepare streaming - SetupSound(); // setup sound (before init!) + return 0; +} - SetupStreams(); // prepare streaming +// SPUOPEN: called by main emu after init +long CALLBACK SPUopen(void) +{ + if (bSPUIsOpen) return 0; // security for some stupid main emus + SetupSound(); // setup sound (before init!) SetupTimer(); // timer for feeding data bSPUIsOpen = 1; @@ -949,22 +947,22 @@ long SPUopen(void) // SPUCLOSE: called before shutdown long CALLBACK SPUclose(void) { - if (!bSPUIsOpen) return 0; // some security + if (!bSPUIsOpen) return 0; // some security - bSPUIsOpen = 0; // no more open + bSPUIsOpen = 0; // no more open RemoveTimer(); // no more feeding - RemoveSound(); // no more sound handling - RemoveStreams(); // no more streaming - return 0; } // SPUSHUTDOWN: called by main emu on final exit long CALLBACK SPUshutdown(void) { + SPUclose(); + RemoveStreams(); // no more streaming + return 0; } |
