aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/sdl/sdl.cpp
diff options
context:
space:
mode:
authorAlejandro Marzini2010-06-24 04:11:54 +0000
committerAlejandro Marzini2010-06-24 04:11:54 +0000
commitd89cb33bcbca0334344501a86d30655d6a055262 (patch)
tree74ea2507622290e148eaf7c1a30c8440ebfe3bdf /backends/platform/sdl/sdl.cpp
parent3029e505286acc0ca2c65f0a6c009643fa39bdd8 (diff)
downloadscummvm-rg350-d89cb33bcbca0334344501a86d30655d6a055262.tar.gz
scummvm-rg350-d89cb33bcbca0334344501a86d30655d6a055262.tar.bz2
scummvm-rg350-d89cb33bcbca0334344501a86d30655d6a055262.zip
Refactored SDL mixer manager. Created a SdlMixerManager subclass for Mac OSX.
svn-id: r50198
Diffstat (limited to 'backends/platform/sdl/sdl.cpp')
-rw-r--r--backends/platform/sdl/sdl.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index b3b99a2e3a..e9b35fae32 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -34,7 +34,6 @@
#include "backends/audiocd/sdl/sdl-audiocd.h"
#include "backends/events/sdl/sdl-events.h"
#include "backends/mutex/sdl/sdl-mutex.h"
-#include "backends/mixer/sdl/sdl-mixer.h"
#include "backends/timer/sdl/sdl-timer.h"
#include "icons/scummvm.xpm"
@@ -46,7 +45,8 @@
OSystem_SDL::OSystem_SDL()
:
_inited(false),
- _initedSDL(false) {
+ _initedSDL(false),
+ _mixerManager(0) {
}
@@ -72,8 +72,12 @@ void OSystem_SDL::initBackend() {
if (_savefileManager == 0)
_savefileManager = new DefaultSaveFileManager();
- if (_mixer == 0)
- _mixer = new SdlMixerImpl(this);
+ if (_mixerManager == 0) {
+ _mixerManager = new SdlMixerManager();
+
+ // Setup and start mixer
+ _mixerManager->init();
+ }
if (_timerManager == 0)
_timerManager = new SdlTimerManager();
@@ -166,8 +170,8 @@ void OSystem_SDL::deinit() {
_graphicsManager = 0;
delete _audiocdManager;
_audiocdManager = 0;
- delete _mixer;
- _mixer = 0;
+ delete _mixerManager;
+ _mixerManager = 0;
delete _timerManager;
_timerManager = 0;
delete _mutexManager;
@@ -263,3 +267,8 @@ void OSystem_SDL::getTimeAndDate(TimeDate &td) const {
td.tm_mon = t.tm_mon;
td.tm_year = t.tm_year;
}
+
+Audio::Mixer *OSystem_SDL::getMixer() {
+ assert(_mixerManager);
+ return _mixerManager->getMixer();
+}