aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/wav.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cge/wav.h')
-rw-r--r--engines/cge/wav.h144
1 files changed, 0 insertions, 144 deletions
diff --git a/engines/cge/wav.h b/engines/cge/wav.h
deleted file mode 100644
index 824f40f96f..0000000000
--- a/engines/cge/wav.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * 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.
- *
- */
-
-/*
- * This code is based on original Soltys source code
- * Copyright (c) 1994-1995 Janus B. Wisniewski and L.K. Avalon
- */
-
-#ifndef __CGE_WAV__
-#define __CGE_WAV__
-
-#include "cge/general.h"
-
-namespace CGE {
-
-#define WAVE_FORMAT_PCM 0x0001
-#define IBM_FORMAT_MULAW 0x0101
-#define IBM_FORMAT_ALAW 0x0102
-#define IBM_FORMAT_ADPCM 0x0103
-
-typedef char FourCC[4]; // Four-character code
-
-class ChunkId { // Chunk type identifier
- union {
- FourCC _text;
- uint32 _id;
- };
-protected:
- static XFile *ckFile;
-public:
- ChunkId(FourCC text) {
- memcpy(_text, text, sizeof(_text));
- }
- ChunkId(uint32 d) {
- _id = d;
- }
- ChunkId(XFile *xf) {
- (ckFile = xf)->read(_text, sizeof(_text));
- }
- bool operator !=(ChunkId &X) {
- return _id != X._id;
- }
- bool operator ==(ChunkId &X) {
- return _id == X._id;
- }
- const char *name();
-};
-
-
-class CkHea : public ChunkId {
-protected:
- uint32 _ckSize; // Chunk size field (size of ckData)
-public:
- CkHea(XFile *xf) : ChunkId(xf) {
- XRead(xf, &_ckSize);
- }
- CkHea(char id[]) : ChunkId(id), _ckSize(0) { }
- void skip();
- uint32 size() {
- return _ckSize;
- }
-};
-
-
-class FmtCk : public CkHea {
- struct Wav {
- uint16 _wFormatTag; // Format category
- uint16 _wChannels; // Number of channels
- uint32 _dwSamplesPerSec; // Sampling rate
- uint32 _dwAvgBytesPerSec; // For buffer estimation
- uint16 _wBlockAlign; // Data block size
- } _wav;
-
- union {
- struct {
- uint16 _wBitsPerSample; // Sample size
- } _pcm;
- };
-public:
- FmtCk(CkHea &hea);
- inline uint16 channels() {
- return _wav._wChannels;
- }
- inline uint32 smplRate() {
- return _wav._dwSamplesPerSec;
- }
- inline uint32 byteRate() {
- return _wav._dwAvgBytesPerSec;
- }
- inline uint16 blckSize() {
- return _wav._wBlockAlign;
- }
- inline uint16 smplSize() {
- return _pcm._wBitsPerSample;
- }
-};
-
-
-class DataCk {
- bool _ef;
- byte *_buf;
- int _ckSize;
-public:
- DataCk(byte *buf, int size);
- ~DataCk();
- inline const byte *addr() {
- return _buf;
- }
- inline int size() {
- return _ckSize;
- }
-};
-
-
-extern ChunkId _riff;
-extern ChunkId _wave;
-extern ChunkId _fmt;
-extern ChunkId _data;
-
-
-DataCk *loadWave(XFile *file);
-
-} // End of namespace CGE
-
-#endif