aboutsummaryrefslogtreecommitdiff
path: root/backends/PalmOS/Src/palmsnd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/PalmOS/Src/palmsnd.cpp')
-rw-r--r--backends/PalmOS/Src/palmsnd.cpp186
1 files changed, 0 insertions, 186 deletions
diff --git a/backends/PalmOS/Src/palmsnd.cpp b/backends/PalmOS/Src/palmsnd.cpp
deleted file mode 100644
index fce551c8b2..0000000000
--- a/backends/PalmOS/Src/palmsnd.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001 Ludvig Strigeus
- * Copyright (C) 2001-2005 The ScummVM project
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $Header$
- *
- */
-
-#include "common/stdafx.h"
-#include "common/config-manager.h"
-
-#include "palm.h"
-#include "pa1lib.h"
-
-#define SND_BLOCK (3072)
-
-#define ADPCM_8_KHZ 1
-#define ADPCM_MODE_NONCONTINUOUS_PB 0x01
-#define ADPCM_MODE_INTERRUPT_MODE 0x02
-
-
-int OSystem_PALMOS::getOutputSampleRate() const {
- return _samplesPerSec;
-}
-
-static void ClieSoundCallback(UInt32 UserData) {
- SoundDataType *snd = (SoundDataType *)UserData;
- snd->set = false;
-}
-
-bool OSystem_PALMOS::setSoundCallback(SoundProc proc, void *param) {
- Boolean success = false;
-
- if (!_sound.active) {
- _sound.proc = proc;
- _sound.param = param;
- _sound.active = true; // always true when we call this function
- _sound.dataP = NULL; // required by sound_handler
- _sound.handle = NULL;
-
- if (ConfMan.hasKey("output_rate"))
- _samplesPerSec = ConfMan.getInt("output_rate");
- else
- _samplesPerSec = 8000; // default value
-
- // try to create sound stream
- if (OPTIONS_TST(kOptPalmSoundAPI)) {
- void *sndFuncP;
-
- _sound.handle = MemPtrNew(sizeof(SndStreamRef));
- sndFuncP = sndCallback;
-
- Err e = SndStreamCreateExtended(
- (SndStreamRef *)_sound.handle,
- sndOutput,
- sndFormatPCM,
- _samplesPerSec,
- sndInt16Little,
- sndStereo,
- (SndStreamVariableBufferCallback)sndFuncP,
- &_sound,
- 8192,
- false);
-
- e = e ? e : SndStreamStart(*((SndStreamRef *)_sound.handle));
- e = e ? e : SndStreamSetVolume(*((SndStreamRef *)_sound.handle), 32767 / 2);
-
- _sound.size = 0; // set by the callback
- _sound.set = false;
- _sound.wait = true;
- success = (e == errNone);
-
- } else if (OPTIONS_TST(kOptSonyPa1LibAPI)) {
- static CallbackInfoType cbData;
- _sound.handle = MemPtrNew(sizeof(UInt8));
-
- cbData.funcP = &ClieSoundCallback;
- cbData.dwUserData = (UInt32)&_sound;
-
- _sound.size = SND_BLOCK;
- _sound.set = false;
- _sound.wait = true;
- _sound.dataP = MemPtrNew(SND_BLOCK);
- _sound.tmpP = MemPtrNew(SND_BLOCK / 8);
-
- success = true; // don't generate samples
-
- Pa1Lib_adpcmOpen(ADPCM_8_KHZ, (UInt8 *)_sound.tmpP, MemPtrSize(_sound.tmpP), &cbData, (UInt8 *)_sound.handle);
- }
- // failed or not supported
- if (!success) {
- _sound.size = SND_BLOCK;
- _sound.set = false;
- _sound.wait = false;
- success = false; // don't generate samples
- }
- }
-
- return true; // if not true some scenes (indy3 256,...) may freeze (ESC to skip)
-}
-
-void OSystem_PALMOS::clearSoundCallback() {
- if (_sound.active) {
-
- if (OPTIONS_TST(kOptPalmSoundAPI)) {
- SndStreamStop(*((SndStreamRef *)_sound.handle));
- SndStreamDelete(*((SndStreamRef *)_sound.handle));
- }
-
- free(_sound.dataP);
- free(_sound.tmpP);
- free(_sound.handle);
- }
-
-
- _sound.active = false;
- _sound.dataP = NULL;
- _sound.tmpP = NULL;
- _sound.handle = NULL;
-}
-
-void OSystem_PALMOS::sound_handler() {
- if (_sound.active) {
- if (_sound.size && (!_sound.set || !_sound.wait)) {
-
- if (!_sound.dataP)
- _sound.dataP = MemPtrNew(_sound.size);
-
- ((SoundProc)_sound.proc)(_sound.param, (byte *)_sound.dataP, _sound.size);
-
- if (OPTIONS_TST(kOptSonyPa1LibAPI)) {
- pcm2adpcm((Int16 *)_sound.dataP, (UInt8 *)_sound.tmpP, _sound.size);
- _sound.set = Pa1Lib_adpcmStart(*((UInt8 *)_sound.handle), ADPCM_MODE_NONCONTINUOUS_PB|ADPCM_MODE_INTERRUPT_MODE);
- } else {
- _sound.set = true;
- }
- }
- }
-}
-
-bool OSystem_PALMOS::openCD(int drive) {
- // TODO : add a function to CDAudio to init the MP3 driver (?)
- return false;
-}
-
-void OSystem_PALMOS::stopCD() {
- if (!_cdPlayer)
- return;
-
- _cdPlayer->stop();
-}
-
-void OSystem_PALMOS::playCD(int track, int num_loops, int start_frame, int duration) {
- if (!_cdPlayer)
- return;
-
- _cdPlayer->play(track, num_loops, start_frame, duration);
-}
-
-bool OSystem_PALMOS::pollCD() {
- if (!_cdPlayer)
- return false;
-
- return _cdPlayer->poll();
-}
-
-void OSystem_PALMOS::updateCD() {
- if (!_cdPlayer)
- return;
-
- _cdPlayer->update();
-}