From 93c65d925343fedc4543c5072ab192e1449517b6 Mon Sep 17 00:00:00 2001 From: OV2 Date: Fri, 28 Apr 2017 23:46:37 +0200 Subject: [PATCH] win32: remove FMOD and FMOD_EX --- win32/CFMOD.cpp | 381 ---------------------------------- win32/CFMOD.h | 234 --------------------- win32/CFMODEx.cpp | 146 ------------- win32/CFMODEx.h | 40 ---- win32/snes9xw.vcxproj | 28 +-- win32/snes9xw.vcxproj.filters | 12 -- win32/wconfig.cpp | 2 +- win32/win32_sound.cpp | 31 --- 8 files changed, 9 insertions(+), 865 deletions(-) delete mode 100644 win32/CFMOD.cpp delete mode 100644 win32/CFMOD.h delete mode 100644 win32/CFMODEx.cpp delete mode 100644 win32/CFMODEx.h diff --git a/win32/CFMOD.cpp b/win32/CFMOD.cpp deleted file mode 100644 index c20c7149..00000000 --- a/win32/CFMOD.cpp +++ /dev/null @@ -1,381 +0,0 @@ -/*********************************************************************************** - Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. - - (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), - Jerremy Koot (jkoot@snes9x.com) - - (c) Copyright 2002 - 2004 Matthew Kendora - - (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) - - (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) - - (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) - - (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), - Kris Bleakley (codeviolation@hotmail.com) - - (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), - Nach (n-a-c-h@users.sourceforge.net), - - (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) - - (c) Copyright 2006 - 2007 nitsuja - - (c) Copyright 2009 - 2016 BearOso, - OV2 - - (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, - Daniel De Matteis - (Under no circumstances will commercial rights be given) - - - BS-X C emulator code - (c) Copyright 2005 - 2006 Dreamer Nom, - zones - - C4 x86 assembler and some C emulation code - (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), - Nach, - zsKnight (zsknight@zsnes.com) - - C4 C++ code - (c) Copyright 2003 - 2006 Brad Jorsch, - Nach - - DSP-1 emulator code - (c) Copyright 1998 - 2006 _Demo_, - Andreas Naive (andreasnaive@gmail.com), - Gary Henderson, - Ivar (ivar@snes9x.com), - John Weidman, - Kris Bleakley, - Matthew Kendora, - Nach, - neviksti (neviksti@hotmail.com) - - DSP-2 emulator code - (c) Copyright 2003 John Weidman, - Kris Bleakley, - Lord Nightmare (lord_nightmare@users.sourceforge.net), - Matthew Kendora, - neviksti - - DSP-3 emulator code - (c) Copyright 2003 - 2006 John Weidman, - Kris Bleakley, - Lancer, - z80 gaiden - - DSP-4 emulator code - (c) Copyright 2004 - 2006 Dreamer Nom, - John Weidman, - Kris Bleakley, - Nach, - z80 gaiden - - OBC1 emulator code - (c) Copyright 2001 - 2004 zsKnight, - pagefault (pagefault@zsnes.com), - Kris Bleakley - Ported from x86 assembler to C by sanmaiwashi - - SPC7110 and RTC C++ emulator code used in 1.39-1.51 - (c) Copyright 2002 Matthew Kendora with research by - zsKnight, - John Weidman, - Dark Force - - SPC7110 and RTC C++ emulator code used in 1.52+ - (c) Copyright 2009 byuu, - neviksti - - S-DD1 C emulator code - (c) Copyright 2003 Brad Jorsch with research by - Andreas Naive, - John Weidman - - S-RTC C emulator code - (c) Copyright 2001 - 2006 byuu, - John Weidman - - ST010 C++ emulator code - (c) Copyright 2003 Feather, - John Weidman, - Kris Bleakley, - Matthew Kendora - - Super FX x86 assembler emulator code - (c) Copyright 1998 - 2003 _Demo_, - pagefault, - zsKnight - - Super FX C emulator code - (c) Copyright 1997 - 1999 Ivar, - Gary Henderson, - John Weidman - - Sound emulator code used in 1.5-1.51 - (c) Copyright 1998 - 2003 Brad Martin - (c) Copyright 1998 - 2006 Charles Bilyue' - - Sound emulator code used in 1.52+ - (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) - - S-SMP emulator code used in 1.54+ - (c) Copyright 2016 byuu - - SH assembler code partly based on x86 assembler code - (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) - - 2xSaI filter - (c) Copyright 1999 - 2001 Derek Liauw Kie Fa - - HQ2x, HQ3x, HQ4x filters - (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) - - NTSC filter - (c) Copyright 2006 - 2007 Shay Green - - GTK+ GUI code - (c) Copyright 2004 - 2016 BearOso - - Win32 GUI code - (c) Copyright 2003 - 2006 blip, - funkyass, - Matthew Kendora, - Nach, - nitsuja - (c) Copyright 2009 - 2016 OV2 - - Mac OS GUI code - (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2011 zones - - Libretro port - (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, - Daniel De Matteis - (Under no circumstances will commercial rights be given) - - - Specific ports contains the works of other authors. See headers in - individual files. - - - Snes9x homepage: http://www.snes9x.com/ - - Permission to use, copy, modify and/or distribute Snes9x in both binary - and source form, for non-commercial purposes, is hereby granted without - fee, providing that this license information and copyright notice appear - with all copies and any derived work. - - This software is provided 'as-is', without any express or implied - warranty. In no event shall the authors be held liable for any damages - arising from the use of this software or it's derivatives. - - Snes9x is freeware for PERSONAL USE only. Commercial users should - seek permission of the copyright holders first. Commercial use includes, - but is not limited to, charging money for Snes9x or software derived from - Snes9x, including Snes9x or derivatives in commercial game bundles, and/or - using Snes9x as a promotion for your commercial product. - - The copyright holders request that bug fixes and improvements to the code - should be forwarded to them so everyone can benefit from the modifications - in future versions. - - Super NES and Super Nintendo Entertainment System are trademarks of - Nintendo Co., Limited and its subsidiary companies. - ***********************************************************************************/ - - -#ifdef FMOD_SUPPORT -#include "CFMOD.h" -#include "../snes9x.h" -#include "../apu/apu.h" -#include "wsnes9x.h" - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif - -/* Construction/Destruction -*/ -CFMOD::CFMOD(void) -{ - initDone = false; - fmod_stream = NULL; -} - -CFMOD::~CFMOD(void) -{ - DeInitFMOD(); -} - -/* CFMOD::InitStream -initializes FMOD and the output stream that will call our callback function ------ -returns true if successful, false otherwise -*/ -bool CFMOD::InitStream() -{ - if (!FSOUND_Init (Settings.SoundPlaybackRate, 16, 0)) - { - MessageBox (GUI.hWnd, "\ -Unable to initialise FMOD sound system. You will not be able to hear\n\ -any sound effects or music while playing.\n\n\ -It is usually caused by not having DirectX installed or another\n\ -application that has already opened DirectSound in exclusive\n\ -mode or the Windows WAVE device has been opened.", - "Snes9X - Unable to Open FMOD", - MB_OK | MB_ICONWARNING); - DeInitStream(); - return false; - } - - sampleCount = (Settings.SoundPlaybackRate * GUI.SoundBufferSize/2 ) / 1000; - if (Settings.Stereo) - sampleCount *= 2; - bufferSize = sampleCount * (Settings.SixteenBitSound?2:1); - fmod_stream = FSOUND_Stream_Create (FMODStreamCallback, bufferSize, - FSOUND_LOOP_OFF | - FSOUND_STREAMABLE | - FSOUND_SIGNED | - FSOUND_LOOP_NORMAL | - (Settings.SixteenBitSound ? - FSOUND_16BITS : FSOUND_8BITS) | - (Settings.Stereo ? - FSOUND_STEREO : FSOUND_MONO), - Settings.SoundPlaybackRate, (void *)this); - - if (!fmod_stream || - FSOUND_Stream_Play (FSOUND_FREE, fmod_stream) == -1) - { - MessageBox (GUI.hWnd, "\ -Unable to create or play an FMOD sound stream. You will not be able\n\ -to hear any sound effects or music while playing.", - "Snes9X - Unable to Open FMOD", - MB_OK | MB_ICONWARNING); - DeInitStream(); - return false; - } - return true; -} - -/* CFMOD::DeInitStream -stops playback and closes the stream -*/ -void CFMOD::DeInitStream() -{ - if (fmod_stream) - { - FSOUND_StopSound (0); - FSOUND_Stream_Stop (fmod_stream); - FSOUND_Stream_Close (fmod_stream); - FSOUND_Close (); - fmod_stream = NULL; - } -} - -/* CFMOD::InitFMOD -sets the sound driver to be used by FMOD ------ -returns true if successful, false otherwise -*/ -bool CFMOD::InitFMOD() -{ - if(initDone) - return true; - - switch (GUI.SoundDriver) - { - default: - case WIN_FMOD_DIRECT_SOUND_DRIVER: - FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND); - break; - case WIN_FMOD_WAVE_SOUND_DRIVER: - FSOUND_SetOutput(FSOUND_OUTPUT_WINMM); - break; - case WIN_FMOD_A3D_SOUND_DRIVER: - FSOUND_SetOutput(FSOUND_OUTPUT_A3D); - break; - } - - FSOUND_SetDriver(0); - - initDone = true; - return true; -} - -void CFMOD::DeInitFMOD() -{ - DeInitStream(); -} - -/* CFMOD::SetupSound -applies current sound settings by recreating the stream ------ -returns true if successful, false otherwise -*/ -bool CFMOD::SetupSound() -{ - - DeInitStream(); - if(!InitStream()) { - return false; - } - - return true; -} - -/* CFMOD::ProcessSound -Finishes core sample creation, syncronizes the buffer access. -*/ -void CFMOD::ProcessSound() -{ - EnterCriticalSection(&GUI.SoundCritSect); - - S9xFinalizeSamples(); - - LeaveCriticalSection(&GUI.SoundCritSect); -} - -/* CFMOD::FMODStreamCallback -the callback that mixes into the stream -synchronizes the buffer access with a critical section -IN: -stream - the stream object, unused -buff - the buffer to mix into -len - number of bytes in the buffer -param - pointer to the CFMOD object -*/ - -// The FMOD API changed the return type of the stream callback function -// somewhere between version 3.20 and 3.33. The FMOD API defines a version -// string but you can't test for that at compile time. Instead, I've picked on -// a symbol that wasn't defined in version 3.20 to test for the change in API. -#if !defined (FSOUND_LOADRAW) -void -#else -signed char -#endif -F_CALLBACKAPI CFMOD::FMODStreamCallback (FSOUND_STREAM *stream, void *buff, int len, void *param) -{ - CFMOD *S9xFMOD=(CFMOD *)param; - int sample_count = Settings.SixteenBitSound?len>>1:len; - - EnterCriticalSection(&GUI.SoundCritSect); - - S9xMixSamples((unsigned char *) buff, sample_count); - - LeaveCriticalSection(&GUI.SoundCritSect); - - SetEvent(GUI.SoundSyncEvent); - - - -#if defined (FSOUND_LOADRAW) - return (1); -#endif -} - -#endif diff --git a/win32/CFMOD.h b/win32/CFMOD.h deleted file mode 100644 index 6002de32..00000000 --- a/win32/CFMOD.h +++ /dev/null @@ -1,234 +0,0 @@ -/*********************************************************************************** - Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. - - (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), - Jerremy Koot (jkoot@snes9x.com) - - (c) Copyright 2002 - 2004 Matthew Kendora - - (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) - - (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) - - (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) - - (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), - Kris Bleakley (codeviolation@hotmail.com) - - (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), - Nach (n-a-c-h@users.sourceforge.net), - - (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) - - (c) Copyright 2006 - 2007 nitsuja - - (c) Copyright 2009 - 2016 BearOso, - OV2 - - (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, - Daniel De Matteis - (Under no circumstances will commercial rights be given) - - - BS-X C emulator code - (c) Copyright 2005 - 2006 Dreamer Nom, - zones - - C4 x86 assembler and some C emulation code - (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), - Nach, - zsKnight (zsknight@zsnes.com) - - C4 C++ code - (c) Copyright 2003 - 2006 Brad Jorsch, - Nach - - DSP-1 emulator code - (c) Copyright 1998 - 2006 _Demo_, - Andreas Naive (andreasnaive@gmail.com), - Gary Henderson, - Ivar (ivar@snes9x.com), - John Weidman, - Kris Bleakley, - Matthew Kendora, - Nach, - neviksti (neviksti@hotmail.com) - - DSP-2 emulator code - (c) Copyright 2003 John Weidman, - Kris Bleakley, - Lord Nightmare (lord_nightmare@users.sourceforge.net), - Matthew Kendora, - neviksti - - DSP-3 emulator code - (c) Copyright 2003 - 2006 John Weidman, - Kris Bleakley, - Lancer, - z80 gaiden - - DSP-4 emulator code - (c) Copyright 2004 - 2006 Dreamer Nom, - John Weidman, - Kris Bleakley, - Nach, - z80 gaiden - - OBC1 emulator code - (c) Copyright 2001 - 2004 zsKnight, - pagefault (pagefault@zsnes.com), - Kris Bleakley - Ported from x86 assembler to C by sanmaiwashi - - SPC7110 and RTC C++ emulator code used in 1.39-1.51 - (c) Copyright 2002 Matthew Kendora with research by - zsKnight, - John Weidman, - Dark Force - - SPC7110 and RTC C++ emulator code used in 1.52+ - (c) Copyright 2009 byuu, - neviksti - - S-DD1 C emulator code - (c) Copyright 2003 Brad Jorsch with research by - Andreas Naive, - John Weidman - - S-RTC C emulator code - (c) Copyright 2001 - 2006 byuu, - John Weidman - - ST010 C++ emulator code - (c) Copyright 2003 Feather, - John Weidman, - Kris Bleakley, - Matthew Kendora - - Super FX x86 assembler emulator code - (c) Copyright 1998 - 2003 _Demo_, - pagefault, - zsKnight - - Super FX C emulator code - (c) Copyright 1997 - 1999 Ivar, - Gary Henderson, - John Weidman - - Sound emulator code used in 1.5-1.51 - (c) Copyright 1998 - 2003 Brad Martin - (c) Copyright 1998 - 2006 Charles Bilyue' - - Sound emulator code used in 1.52+ - (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) - - S-SMP emulator code used in 1.54+ - (c) Copyright 2016 byuu - - SH assembler code partly based on x86 assembler code - (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) - - 2xSaI filter - (c) Copyright 1999 - 2001 Derek Liauw Kie Fa - - HQ2x, HQ3x, HQ4x filters - (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) - - NTSC filter - (c) Copyright 2006 - 2007 Shay Green - - GTK+ GUI code - (c) Copyright 2004 - 2016 BearOso - - Win32 GUI code - (c) Copyright 2003 - 2006 blip, - funkyass, - Matthew Kendora, - Nach, - nitsuja - (c) Copyright 2009 - 2016 OV2 - - Mac OS GUI code - (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2011 zones - - Libretro port - (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, - Daniel De Matteis - (Under no circumstances will commercial rights be given) - - - Specific ports contains the works of other authors. See headers in - individual files. - - - Snes9x homepage: http://www.snes9x.com/ - - Permission to use, copy, modify and/or distribute Snes9x in both binary - and source form, for non-commercial purposes, is hereby granted without - fee, providing that this license information and copyright notice appear - with all copies and any derived work. - - This software is provided 'as-is', without any express or implied - warranty. In no event shall the authors be held liable for any damages - arising from the use of this software or it's derivatives. - - Snes9x is freeware for PERSONAL USE only. Commercial users should - seek permission of the copyright holders first. Commercial use includes, - but is not limited to, charging money for Snes9x or software derived from - Snes9x, including Snes9x or derivatives in commercial game bundles, and/or - using Snes9x as a promotion for your commercial product. - - The copyright holders request that bug fixes and improvements to the code - should be forwarded to them so everyone can benefit from the modifications - in future versions. - - Super NES and Super Nintendo Entertainment System are trademarks of - Nintendo Co., Limited and its subsidiary companies. - ***********************************************************************************/ - - -#ifndef CFMOD_H -#define CFMOD_H -#include "fmod.h" -#include "IS9xSoundOutput.h" - -class CFMOD: public IS9xSoundOutput -{ - bool initDone; // has init been called successfully? - - FSOUND_STREAM *fmod_stream; // the stream object - - int sampleCount; - int bufferSize; - - bool InitFMOD(); - void DeInitFMOD(); - - bool InitStream(); - void DeInitStream(); - - void ProcessSound(); - - // The FMOD API changed the return type of the stream callback function - // somewhere between version 3.20 and 3.33. The FMOD API defines a version - // string but you can't test for that at compile time. Instead, I've picked on - // a symbol that wasn't defined in version 3.20 to test for the change in API. - #if !defined (FSOUND_LOADRAW) - void - #else - signed char - #endif - static F_CALLBACKAPI FMODStreamCallback (FSOUND_STREAM *stream, void *buff, int len, void *param); - -public: - CFMOD(void); - ~CFMOD(void); - - // Inherited from IS9xSoundOutput - bool InitSoundOutput(void) { return InitFMOD(); } - void DeInitSoundOutput(void) { DeInitFMOD(); } - bool SetupSound(void); -}; - -#endif \ No newline at end of file diff --git a/win32/CFMODEx.cpp b/win32/CFMODEx.cpp deleted file mode 100644 index 677b58a8..00000000 --- a/win32/CFMODEx.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#ifdef FMODEX_SUPPORT -#ifndef FMOD_SUPPORT -#include "CFMODEx.h" -#include "wsnes9x.h" -#include "../snes9x.h" -#include "../apu/apu.h" - -CFMODEx::CFMODEx(void) -{ - initDone = false; - fmodStream = NULL; - - fmodSystem = NULL; -} - -CFMODEx::~CFMODEx(void) -{ - DeInitFMODEx(); - if(fmodSystem) - fmodSystem->release(); -} - -bool CFMODEx::InitStream() -{ - FMOD_CREATESOUNDEXINFO createSoundExInfo={0}; - createSoundExInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO); - createSoundExInfo.defaultfrequency = Settings.SoundPlaybackRate; - createSoundExInfo.numchannels = (Settings.Stereo?2:1); - createSoundExInfo.format = (Settings.SixteenBitSound?FMOD_SOUND_FORMAT_PCM16:FMOD_SOUND_FORMAT_PCM8); - createSoundExInfo.pcmreadcallback = FMODExStreamCallback; - createSoundExInfo.suggestedsoundtype = FMOD_SOUND_TYPE_USER; - //fmodSystem->getDSPBufferSize(&temp,NULL); - // 768 was the bufferSize in FMOD - sampleCount = (Settings.SoundPlaybackRate * GUI.SoundBufferSize/2 ) / 1000; - if (Settings.Stereo) - sampleCount *= 2; - bufferSize = sampleCount * (Settings.SixteenBitSound?2:1); - createSoundExInfo.length = bufferSize; - createSoundExInfo.decodebuffersize = bufferSize/4; - - FMOD_RESULT fr = fmodSystem->createStream(NULL,FMOD_OPENUSER | FMOD_LOOP_NORMAL | FMOD_OPENRAW,&createSoundExInfo,&fmodStream); - - if(!(fr==FMOD_OK)) { - return false; - } - - fr = fmodSystem->playSound(FMOD_CHANNEL_FREE,fmodStream,0,NULL); - - return true; -} - -void CFMODEx::DeInitStream() -{ - if (fmodStream) - { - fmodStream->release(); - fmodStream = NULL; - } -} - -bool CFMODEx::InitFMODEx() -{ - if(initDone) - return true; - - FMOD_RESULT fr; - - if(!(FMOD::System_Create(&fmodSystem)==FMOD_OK)) - return false; - - switch (GUI.SoundDriver) - { - default: - case WIN_FMODEX_DEFAULT_DRIVER: - fr = fmodSystem->setOutput(FMOD_OUTPUTTYPE_AUTODETECT); - break; - case WIN_FMODEX_ASIO_DRIVER: - fr = fmodSystem->setOutput(FMOD_OUTPUTTYPE_ASIO); - break; - -#if FMOD_VERSION <= 0x00043100 - case WIN_FMODEX_OPENAL_DRIVER: - fr = fmodSystem->setOutput(FMOD_OUTPUTTYPE_OPENAL); - break; -#endif - } - - fr = fmodSystem->init(2,FMOD_INIT_NORMAL,0); - - if(fr!=FMOD_OK) - return false; - - initDone = true; - return true; -} - -void CFMODEx::DeInitFMODEx() -{ - initDone = false; - DeInitStream(); - if(fmodSystem) { - fmodSystem->release(); - fmodSystem = NULL; - } -} - -bool CFMODEx::SetupSound() -{ - if(!initDone) - return false; - - DeInitStream(); - return InitStream(); -} - -void CFMODEx::ProcessSound() -{ - EnterCriticalSection(&GUI.SoundCritSect); - - S9xFinalizeSamples(); - - LeaveCriticalSection(&GUI.SoundCritSect); -} - -FMOD_RESULT F_CALLBACK CFMODEx::FMODExStreamCallback( - FMOD_SOUND * sound, - void * data, - unsigned int datalen - ) -{ - int sample_count = datalen; - - sample_count >>= (Settings.SixteenBitSound?1:0); - - EnterCriticalSection(&GUI.SoundCritSect); - - S9xMixSamples((unsigned char *) data, sample_count); - - LeaveCriticalSection(&GUI.SoundCritSect); - - SetEvent(GUI.SoundSyncEvent); - - return FMOD_OK; -} -#endif -#endif diff --git a/win32/CFMODEx.h b/win32/CFMODEx.h deleted file mode 100644 index 2d4f1b4d..00000000 --- a/win32/CFMODEx.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef CFMODEX_H -#define CFMODEX_H -#include "../../FMODEx/api/inc/fmod.hpp" -#include "IS9xSoundOutput.h" - -class CFMODEx: public IS9xSoundOutput -{ - bool initDone; - - FMOD::System *fmodSystem; - FMOD::Sound *fmodStream; - - - int sampleCount; - int bufferSize; - - bool InitFMODEx(); - void DeInitFMODEx(); - - bool InitStream(); - void DeInitStream(); - - static FMOD_RESULT F_CALLBACK FMODExStreamCallback( - FMOD_SOUND * sound, - void * data, - unsigned int datalen - ); - -public: - CFMODEx(void); - ~CFMODEx(void); - - // Inherited from IS9xSoundOutput - bool InitSoundOutput(void) { return InitFMODEx(); } - void DeInitSoundOutput(void) { DeInitFMODEx(); } - bool SetupSound(); - void ProcessSound(); -}; - -#endif \ No newline at end of file diff --git a/win32/snes9xw.vcxproj b/win32/snes9xw.vcxproj index 5cf0a1b1..a4909cc6 100644 --- a/win32/snes9xw.vcxproj +++ b/win32/snes9xw.vcxproj @@ -113,8 +113,8 @@ Disabled - $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\FMOD\api\inc;$(ProjectDir)..\..\fmodex\api\inc;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) - _DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) + _DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;D3D_DEBUG_INFO;%(PreprocessorDefinitions) MultiThreadedDebug Default @@ -135,9 +135,7 @@ comctl32.lib;winmm.lib;opengl32.lib;glu32.lib;wsock32.lib;dsound.lib;dxguid.lib;delayimp.lib;vfw32.lib;msxml2.lib;shlwapi.lib;%(AdditionalDependencies) true - $(ProjectDir)..\..\FMOD\api\lib;$(ProjectDir)..\..\FMODEx_x64\api\lib;$(ProjectDir)..\..\FMODEx\api\lib;$(ProjectDir)..\i386;$(ProjectDir)..\..\zlib\lib;$(ProjectDir)..\..\libPNG\lib;%(AdditionalLibraryDirectories) false - fmod.dll;fmodex.dll;%(DelayLoadDLLs) true $(IntDir)$(ProjectName).pdb false @@ -160,8 +158,8 @@ Disabled - $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\FMOD\api\inc;$(ProjectDir)..\..\fmodex\api\inc;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) - _DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) + _DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;D3D_DEBUG_INFO;%(PreprocessorDefinitions) MultiThreadedDebug Default @@ -182,9 +180,7 @@ comctl32.lib;winmm.lib;opengl32.lib;glu32.lib;wsock32.lib;dsound.lib;dxguid.lib;delayimp.lib;vfw32.lib;msxml2.lib;shlwapi.lib;%(AdditionalDependencies) true - $(ProjectDir)..\..\FMOD\api\lib;$(ProjectDir)..\..\FMODEx_x64\api\lib;$(ProjectDir)..\..\FMODEx\api\lib;$(ProjectDir)..\i386;$(ProjectDir)..\..\zlib\lib;$(ProjectDir)..\..\libPNG\lib;%(AdditionalLibraryDirectories) false - fmodex64.dll;%(DelayLoadDLLs) true $(IntDir)$(ProjectName).pdb false @@ -212,8 +208,8 @@ Speed true true - $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\FMOD\api\inc;$(ProjectDir)..\..\fmodex\api\inc;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) - NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) + NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;%(PreprocessorDefinitions) true MultiThreaded Default @@ -235,8 +231,6 @@ comctl32.lib;winmm.lib;opengl32.lib;glu32.lib;wsock32.lib;dsound.lib;dxguid.lib;delayimp.lib;vfw32.lib;msxml2.lib;shlwapi.lib;%(AdditionalDependencies) true - $(ProjectDir)..\..\FMOD\api\lib;$(ProjectDir)..\..\FMODEx_x64\api\lib;$(ProjectDir)..\..\FMODEx\api\lib;$(ProjectDir)..\i386;$(ProjectDir)..\..\zlib\lib;$(ProjectDir)..\..\libPNG\lib;%(AdditionalLibraryDirectories) - fmod.dll;fmodex.dll;%(DelayLoadDLLs) true $(IntDir)$(ProjectName).pdb Windows @@ -263,8 +257,8 @@ Speed true true - $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\FMOD\api\inc;$(ProjectDir)..\..\fmodex\api\inc;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) - NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\zLib;$(ProjectDir)..\unzip;$(ProjectDir)..\..\libpng\;$(ProjectDir)..\apu\bapu;%(AdditionalIncludeDirectories) + NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;%(PreprocessorDefinitions) true MultiThreaded Default @@ -286,8 +280,6 @@ comctl32.lib;winmm.lib;opengl32.lib;glu32.lib;wsock32.lib;dsound.lib;dxguid.lib;delayimp.lib;vfw32.lib;msxml2.lib;shlwapi.lib;%(AdditionalDependencies) true - $(ProjectDir)..\..\FMOD\api\lib;$(ProjectDir)..\..\FMODEx_x64\api\lib;$(ProjectDir)..\..\FMODEx\api\lib;$(ProjectDir)..\i386;$(ProjectDir)..\..\zlib\lib;$(ProjectDir)..\..\libPNG\lib;%(AdditionalLibraryDirectories) - fmod.dll;fmodex64.dll;%(DelayLoadDLLs) true $(IntDir)$(ProjectName).pdb Windows @@ -409,8 +401,6 @@ - - @@ -538,8 +528,6 @@ - - diff --git a/win32/snes9xw.vcxproj.filters b/win32/snes9xw.vcxproj.filters index 8020f00f..b8f13359 100644 --- a/win32/snes9xw.vcxproj.filters +++ b/win32/snes9xw.vcxproj.filters @@ -96,9 +96,6 @@ GUI\SoundDriver - - GUI\SoundDriver - GUI\SoundDriver @@ -449,12 +446,6 @@ GUI\SoundDriver - - GUI\SoundDriver - - - GUI\SoundDriver - GUI\SoundDriver @@ -741,9 +732,6 @@ Emu - - GUI\SoundDriver - GUI\VideoDriver diff --git a/win32/wconfig.cpp b/win32/wconfig.cpp index 41319ce6..6275a5b4 100644 --- a/win32/wconfig.cpp +++ b/win32/wconfig.cpp @@ -975,7 +975,7 @@ void WinRegisterConfigItems() AddBoolC("Mute", GUI.Mute, false, "true to mute sound output (does not disable the sound CPU)"); #undef CATEGORY #define CATEGORY "Sound\\Win" - AddUIntC("SoundDriver", GUI.SoundDriver, 4, "0=Snes9xDirectSound, 4=XAudio2 (recommended), 5=FMOD Default, 6=FMOD ASIO, 7=FMOD OpenAL"); + AddUIntC("SoundDriver", GUI.SoundDriver, 4, "0=Snes9xDirectSound, 4=XAudio2 (recommended)"); AddUIntC("BufferSize", GUI.SoundBufferSize, 64, "sound buffer size in ms - determines the internal and output sound buffer sizes. actual mixing is done every SoundBufferSize/4 samples"); AddBoolC("MuteFrameAdvance", GUI.FAMute, false, "true to prevent Snes9x from outputting sound when the Frame Advance command is in use"); #undef CATEGORY diff --git a/win32/win32_sound.cpp b/win32/win32_sound.cpp index 64c03978..489abb19 100644 --- a/win32/win32_sound.cpp +++ b/win32/win32_sound.cpp @@ -194,30 +194,12 @@ #include "CDirectSound.h" #include "CXAudio2.h" #include "win32_sound.h" -// FMOD and FMOD Ex cannot be used at the same time -#ifdef FMOD_SUPPORT -#include "CFMOD.h" -#pragma comment(linker,"/DEFAULTLIB:fmodvc.lib") -#elif defined FMODEX_SUPPORT -#include "CFMODEx.h" -#if defined(_WIN64) -#pragma comment(linker,"/DEFAULTLIB:fmodex64_vc.lib") -#else -#pragma comment(linker,"/DEFAULTLIB:fmodex_vc.lib") -#endif // _WIN64 -#endif // FMODEX_SUPPORT #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) // available sound output methods CDirectSound S9xDirectSound; CXAudio2 S9xXAudio2; -// FMOD and FMOD Ex cannot be used at the same time -#ifdef FMOD_SUPPORT -CFMOD S9xFMOD; -#elif defined FMODEX_SUPPORT -CFMODEx S9xFMODEx; -#endif // Interface used to access the sound output IS9xSoundOutput *S9xSoundOutput = &S9xXAudio2; @@ -261,19 +243,6 @@ bool8 S9xOpenSoundDevice () case WIN_SNES9X_DIRECT_SOUND_DRIVER: S9xSoundOutput = &S9xDirectSound; break; -#ifdef FMOD_SUPPORT - case WIN_FMOD_DIRECT_SOUND_DRIVER: - case WIN_FMOD_WAVE_SOUND_DRIVER: - case WIN_FMOD_A3D_SOUND_DRIVER: - S9xSoundOutput = &S9xFMOD; - break; -#elif defined FMODEX_SUPPORT - case WIN_FMODEX_DEFAULT_DRIVER: - case WIN_FMODEX_ASIO_DRIVER: - case WIN_FMODEX_OPENAL_DRIVER: - S9xSoundOutput = &S9xFMODEx; - break; -#endif case WIN_XAUDIO2_SOUND_DRIVER: S9xSoundOutput = &S9xXAudio2; break;