diff options
Diffstat (limited to 'backends/platform/sdl')
| -rw-r--r-- | backends/platform/sdl/macosx/macosx.cpp | 7 | ||||
| -rw-r--r-- | backends/platform/sdl/macosx/macosx.h | 5 | ||||
| -rw-r--r-- | backends/platform/sdl/posix/posix.cpp | 13 | ||||
| -rw-r--r-- | backends/platform/sdl/posix/posix.h | 2 | ||||
| -rw-r--r-- | backends/platform/sdl/sdl.cpp | 19 | ||||
| -rw-r--r-- | backends/platform/sdl/sdl.h | 5 | ||||
| -rw-r--r-- | backends/platform/sdl/win32/win32.cpp | 5 | ||||
| -rw-r--r-- | backends/platform/sdl/win32/win32.h | 4 | 
8 files changed, 50 insertions, 10 deletions
diff --git a/backends/platform/sdl/macosx/macosx.cpp b/backends/platform/sdl/macosx/macosx.cpp index 38a2d7441c..7652c0d833 100644 --- a/backends/platform/sdl/macosx/macosx.cpp +++ b/backends/platform/sdl/macosx/macosx.cpp @@ -27,9 +27,10 @@  #ifdef MACOSX -#include "backends/platform/sdl/macosx/macosx.h" +#include "backends/audiocd/macosx/macosx-audiocd.h"  #include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h"  #include "backends/platform/sdl/macosx/appmenu_osx.h" +#include "backends/platform/sdl/macosx/macosx.h"  #include "backends/updates/macosx/macosx-updates.h"  #include "backends/taskbar/macosx/macosx-taskbar.h" @@ -170,4 +171,8 @@ Common::String OSystem_MacOSX::getSystemLanguage() const {  #endif // USE_DETECTLANG  } +AudioCDManager *OSystem_MacOSX::createAudioCDManager() { +	return createMacOSXAudioCDManager(); +} +  #endif diff --git a/backends/platform/sdl/macosx/macosx.h b/backends/platform/sdl/macosx/macosx.h index c8b4beaeec..6905284a5f 100644 --- a/backends/platform/sdl/macosx/macosx.h +++ b/backends/platform/sdl/macosx/macosx.h @@ -38,6 +38,11 @@ public:  	virtual void init();  	virtual void initBackend();  	virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0); + +protected: +	// Override createAudioCDManager() to get our Mac-specific +	// version. +	virtual AudioCDManager *createAudioCDManager();  };  #endif diff --git a/backends/platform/sdl/posix/posix.cpp b/backends/platform/sdl/posix/posix.cpp index 525c74a91a..e2a642b288 100644 --- a/backends/platform/sdl/posix/posix.cpp +++ b/backends/platform/sdl/posix/posix.cpp @@ -36,6 +36,11 @@  #include "backends/fs/posix/posix-fs.h"  #include "backends/taskbar/unity/unity-taskbar.h" +#ifdef USE_LINUXCD +#include "backends/audiocd/linux/linux-audiocd.h" +#endif + +#include <errno.h>  #include <sys/stat.h>  #include <sys/wait.h>  #include <unistd.h> @@ -239,4 +244,12 @@ bool OSystem_POSIX::displayLogFile() {  } +AudioCDManager *OSystem_POSIX::createAudioCDManager() { +#ifdef USE_LINUXCD +	return createLinuxAudioCDManager(); +#else +	return OSystem_SDL::createAudioCDManager(); +#endif +} +  #endif diff --git a/backends/platform/sdl/posix/posix.h b/backends/platform/sdl/posix/posix.h index f67515ddb3..0514d30191 100644 --- a/backends/platform/sdl/posix/posix.h +++ b/backends/platform/sdl/posix/posix.h @@ -59,6 +59,8 @@ protected:  	virtual Common::String getDefaultConfigFileName();  	virtual Common::WriteStream *createLogFile(); + +	virtual AudioCDManager *createAudioCDManager();  };  #endif diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index fffb9d56d9..c55753194b 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -245,15 +245,7 @@ void OSystem_SDL::initBackend() {  		_timerManager = new SdlTimerManager();  #endif -	if (_audiocdManager == 0) { -		// Audio CD support was removed with SDL 2.0 -#if SDL_VERSION_ATLEAST(2, 0, 0) -		_audiocdManager = new DefaultAudioCDManager(); -#else -		_audiocdManager = new SdlAudioCDManager(); -#endif - -	} +	_audiocdManager = createAudioCDManager();  	// Setup a custom program icon.  	_window->setupIcon(); @@ -491,6 +483,15 @@ Common::TimerManager *OSystem_SDL::getTimerManager() {  #endif  } +AudioCDManager *OSystem_SDL::createAudioCDManager() { +	// Audio CD support was removed with SDL 2.0 +#if SDL_VERSION_ATLEAST(2, 0, 0) +	return new DefaultAudioCDManager(); +#else +	return new SdlAudioCDManager(); +#endif +} +  #ifdef USE_OPENGL  const OSystem::GraphicsMode *OSystem_SDL::getSupportedGraphicsModes() const { diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h index 5ee56d0568..c93c8308a7 100644 --- a/backends/platform/sdl/sdl.h +++ b/backends/platform/sdl/sdl.h @@ -104,6 +104,11 @@ protected:  	 */  	virtual void initSDL(); +	/** +	 * Create the audio CD manager +	 */ +	virtual AudioCDManager *createAudioCDManager(); +  	// Logging  	virtual Common::WriteStream *createLogFile() { return 0; }  	Backends::Log::Log *_logger; diff --git a/backends/platform/sdl/win32/win32.cpp b/backends/platform/sdl/win32/win32.cpp index 0f70c00b40..fbab7eb782 100644 --- a/backends/platform/sdl/win32/win32.cpp +++ b/backends/platform/sdl/win32/win32.cpp @@ -35,6 +35,7 @@  #include "common/error.h"  #include "common/textconsole.h" +#include "backends/audiocd/win32/win32-audiocd.h"  #include "backends/platform/sdl/win32/win32.h"  #include "backends/platform/sdl/win32/win32-window.h"  #include "backends/saves/windows/windows-saves.h" @@ -318,4 +319,8 @@ void OSystem_Win32::addSysArchivesToSearchSet(Common::SearchSet &s, int priority  	OSystem_SDL::addSysArchivesToSearchSet(s, priority);  } +AudioCDManager *OSystem_Win32::createAudioCDManager() { +	return createWin32AudioCDManager(); +} +  #endif diff --git a/backends/platform/sdl/win32/win32.h b/backends/platform/sdl/win32/win32.h index 473e78ff0b..ca0843e834 100644 --- a/backends/platform/sdl/win32/win32.h +++ b/backends/platform/sdl/win32/win32.h @@ -49,6 +49,10 @@ protected:  	virtual Common::String getDefaultConfigFileName();  	virtual Common::WriteStream *createLogFile(); + +	// Override createAudioCDManager() to get our Mac-specific +	// version. +	virtual AudioCDManager *createAudioCDManager();  };  #endif  | 
