aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/PalmOS
diff options
context:
space:
mode:
authorMax Horn2010-03-11 23:39:51 +0000
committerMax Horn2010-03-11 23:39:51 +0000
commit9b837d66d4647a7642a761cefe5798d30a21504a (patch)
treee5e96cd1a48850a699f0e77a748d415921f7b18e /backends/platform/PalmOS
parent5886a0cc7715c874919a7056dfb6b65d3be19dce (diff)
downloadscummvm-rg350-9b837d66d4647a7642a761cefe5798d30a21504a.tar.gz
scummvm-rg350-9b837d66d4647a7642a761cefe5798d30a21504a.tar.bz2
scummvm-rg350-9b837d66d4647a7642a761cefe5798d30a21504a.zip
Replace Audio::MixerImpl::setOutputRate with a new 'sampleRate' param to the MixerImpl constructor
svn-id: r48238
Diffstat (limited to 'backends/platform/PalmOS')
-rw-r--r--backends/platform/PalmOS/Src/be_base.cpp4
-rw-r--r--backends/platform/PalmOS/Src/be_base.h2
-rw-r--r--backends/platform/PalmOS/Src/be_os5.h2
-rw-r--r--backends/platform/PalmOS/Src/os5_sound.cpp22
4 files changed, 14 insertions, 16 deletions
diff --git a/backends/platform/PalmOS/Src/be_base.cpp b/backends/platform/PalmOS/Src/be_base.cpp
index 66dd823df0..b3caee105d 100644
--- a/backends/platform/PalmOS/Src/be_base.cpp
+++ b/backends/platform/PalmOS/Src/be_base.cpp
@@ -110,9 +110,7 @@ void OSystem_PalmBase::initBackend() {
// Create and hook up the mixer, if none exists yet (we check for this to
// allow subclasses to provide their own).
if (_mixerMgr == 0) {
- _mixerMgr = new Audio::MixerImpl(this);
- setSoundCallback(0, _mixerMgr);
-// setSoundCallback(Audio::Mixer::mixCallback, _mixerMgr);
+ setupMixer();
}
// Create and hook up the timer manager, if none exists yet (we check for
diff --git a/backends/platform/PalmOS/Src/be_base.h b/backends/platform/PalmOS/Src/be_base.h
index 30130ebfff..1885114ace 100644
--- a/backends/platform/PalmOS/Src/be_base.h
+++ b/backends/platform/PalmOS/Src/be_base.h
@@ -117,7 +117,7 @@ private:
void simulate_mouse(Common::Event &event, Int8 iHoriz, Int8 iVert, Coord *xr, Coord *yr);
virtual void sound_handler() = 0;
- virtual bool setSoundCallback(SoundProc proc, void *param) = 0;
+ virtual bool setupMixer() = 0;
virtual void clearSoundCallback() = 0;
protected:
diff --git a/backends/platform/PalmOS/Src/be_os5.h b/backends/platform/PalmOS/Src/be_os5.h
index 692e304007..2040c7faea 100644
--- a/backends/platform/PalmOS/Src/be_os5.h
+++ b/backends/platform/PalmOS/Src/be_os5.h
@@ -140,7 +140,7 @@ private:
virtual SndStreamVariableBufferCallback sound_callback();
virtual void sound_handler();
- virtual bool setSoundCallback(SoundProc proc, void *param);
+ virtual bool setupMixer();
void clearSoundCallback();
protected:
diff --git a/backends/platform/PalmOS/Src/os5_sound.cpp b/backends/platform/PalmOS/Src/os5_sound.cpp
index 1898f6ae90..73ab64c0d5 100644
--- a/backends/platform/PalmOS/Src/os5_sound.cpp
+++ b/backends/platform/PalmOS/Src/os5_sound.cpp
@@ -66,7 +66,6 @@ void OSystem_PalmOS5::sound_handler() {
_soundEx.dataP = MemPtrNew(_soundEx.size);
_mixerMgr->mixCallback((byte *)_soundEx.dataP, _soundEx.size);
-// ((SoundProc)_sound.proc)(_sound.param, (byte *)_soundEx.dataP, _soundEx.size);
_soundEx.set = true;
}
}// TODO : no Sound API case
@@ -76,10 +75,18 @@ SndStreamVariableBufferCallback OSystem_PalmOS5::sound_callback() {
return sndCallback;
}
-bool OSystem_PalmOS5::setSoundCallback(SoundProc proc, void *param) {
+bool OSystem_PalmOS5::setupMixer() {
Err e;
Boolean success = false;
+ uint32 samplesPerSec;
+ if (ConfMan.hasKey("output_rate"))
+ samplesPerSec = ConfMan.getInt("output_rate");
+ else
+ samplesPerSec = SAMPLES_PER_SEC;
+
+ _mixerMgr = new Audio::MixerImpl(this, samplesPerSec);
+
if (!_sound.active) {
if (gVars->fmQuality != FM_QUALITY_INI) {
ConfMan.setBool("FM_medium_quality", (gVars->fmQuality == FM_QUALITY_MED));
@@ -89,8 +96,8 @@ bool OSystem_PalmOS5::setSoundCallback(SoundProc proc, void *param) {
#if defined (COMPILE_OS5)
CALLBACK_INIT(_soundEx);
#endif
- _sound.proc = proc;
- _sound.param = param;
+ _sound.proc = 0;
+ _sound.param = _mixerMgr;
_sound.active = true; // always true when we call this function, false when sound is off
_soundEx.handle = 0;
@@ -98,12 +105,6 @@ bool OSystem_PalmOS5::setSoundCallback(SoundProc proc, void *param) {
_soundEx.set = false;
_soundEx.dataP = NULL; // set by the handler
- uint32 samplesPerSec;
- if (ConfMan.hasKey("output_rate"))
- samplesPerSec = ConfMan.getInt("output_rate");
- else
- samplesPerSec = SAMPLES_PER_SEC;
-
// try to create sound stream
if (OPTIONS_TST(kOptPalmSoundAPI)) {
e = SndStreamCreateExtended(
@@ -133,7 +134,6 @@ bool OSystem_PalmOS5::setSoundCallback(SoundProc proc, void *param) {
}
// if not true some scenes (indy3 256,...) may freeze (ESC to skip)
- _mixerMgr->setOutputRate(samplesPerSec);
_mixerMgr->setReady(true);
return true;