aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/aiff.cpp4
-rw-r--r--sound/iff_sound.cpp2
-rw-r--r--sound/mixer.h26
-rw-r--r--sound/raw.cpp28
-rw-r--r--sound/raw.h27
-rw-r--r--sound/shorten.cpp20
-rw-r--r--sound/wave.cpp12
7 files changed, 60 insertions, 59 deletions
diff --git a/sound/aiff.cpp b/sound/aiff.cpp
index c0832b7cea..ec47eaa1f8 100644
--- a/sound/aiff.cpp
+++ b/sound/aiff.cpp
@@ -150,9 +150,9 @@ bool loadAIFFFromStream(Common::SeekableReadStream &stream, int &size, int &rate
flags = 0;
if (bitsPerSample == 16)
- flags |= Audio::Mixer::FLAG_16BITS;
+ flags |= Audio::FLAG_16BITS;
if (numChannels == 2)
- flags |= Audio::Mixer::FLAG_STEREO;
+ flags |= Audio::FLAG_STEREO;
stream.seek(soundOffset);
diff --git a/sound/iff_sound.cpp b/sound/iff_sound.cpp
index c476ff9676..267a332500 100644
--- a/sound/iff_sound.cpp
+++ b/sound/iff_sound.cpp
@@ -96,7 +96,7 @@ AudioStream *make8SVXStream(Common::ReadStream &input, bool loop) {
// repeatHiSamples fields
loopStart = 0;
loopEnd = loader._header.oneShotHiSamples + loader._header.repeatHiSamples;
- flags |= Audio::Mixer::FLAG_LOOP;
+ flags |= Audio::FLAG_LOOP;
}
return Audio::makeRawMemoryStream((byte *)loader._data, loader._dataSize, DisposeAfterUse::YES, loader._header.samplesPerSec, flags, loopStart, loopEnd);
diff --git a/sound/mixer.h b/sound/mixer.h
index 9b75928f64..0e12e83107 100644
--- a/sound/mixer.h
+++ b/sound/mixer.h
@@ -63,32 +63,6 @@ public:
*/
class Mixer {
public:
- /**
- * Various flags which can be bit-ORed and then passed to
- * makeRawMemoryStream and some other AudioStream factories
- * to control their behavior.
- *
- * Engine authors are advised not to rely on a certain value or
- * order of these flags (in particular, do not store them verbatim
- * in savestates).
- */
- enum RawFlags {
- /** unsigned samples (default: signed) */
- FLAG_UNSIGNED = 1 << 0,
-
- /** sound is 16 bits wide (default: 8bit) */
- FLAG_16BITS = 1 << 1,
-
- /** samples are little endian (default: big endian) */
- FLAG_LITTLE_ENDIAN = 1 << 2,
-
- /** sound is in stereo (default: mono) */
- FLAG_STEREO = 1 << 3,
-
- /** loop the audio */
- FLAG_LOOP = 1 << 6
- };
-
enum SoundType {
kPlainSoundType = 0,
diff --git a/sound/raw.cpp b/sound/raw.cpp
index 20307acfbf..8d8ae915c4 100644
--- a/sound/raw.cpp
+++ b/sound/raw.cpp
@@ -331,10 +331,10 @@ bool RawDiskStream<stereo, is16Bit, isUnsigned, isLE>::seek(const Timestamp &whe
SeekableAudioStream *makeRawMemoryStream(const byte *ptr, uint32 len,
DisposeAfterUse::Flag autoFree,
int rate, byte flags) {
- const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0;
- const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0;
- const bool isUnsigned = (flags & Mixer::FLAG_UNSIGNED) != 0;
- const bool isLE = (flags & Mixer::FLAG_LITTLE_ENDIAN) != 0;
+ const bool isStereo = (flags & Audio::FLAG_STEREO) != 0;
+ const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0;
+ const bool isUnsigned = (flags & Audio::FLAG_UNSIGNED) != 0;
+ const bool isLE = (flags & Audio::FLAG_LITTLE_ENDIAN) != 0;
// Verify the buffer sizes are sane
if (is16Bit && isStereo) {
@@ -365,9 +365,9 @@ AudioStream *makeRawMemoryStream(const byte *ptr, uint32 len,
uint loopStart, uint loopEnd) {
SeekableAudioStream *stream = makeRawMemoryStream(ptr, len, autoFree, rate, flags);
- const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0;
- const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0;
- const bool isLooping = (flags & Mixer::FLAG_LOOP) != 0;
+ const bool isStereo = (flags & Audio::FLAG_STEREO) != 0;
+ const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0;
+ const bool isLooping = (flags & Audio::FLAG_LOOP) != 0;
if (isLooping) {
uint loopOffset = 0, loopLen = 0;
@@ -407,10 +407,10 @@ AudioStream *makeRawMemoryStream(const byte *ptr, uint32 len,
SeekableAudioStream *makeRawDiskStream(Common::SeekableReadStream *stream, RawDiskStreamAudioBlock *block, int numBlocks,
int rate, byte flags, DisposeAfterUse::Flag disposeStream) {
- const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0;
- const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0;
- const bool isUnsigned = (flags & Mixer::FLAG_UNSIGNED) != 0;
- const bool isLE = (flags & Mixer::FLAG_LITTLE_ENDIAN) != 0;
+ const bool isStereo = (flags & Audio::FLAG_STEREO) != 0;
+ const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0;
+ const bool isUnsigned = (flags & Audio::FLAG_UNSIGNED) != 0;
+ const bool isLE = (flags & Audio::FLAG_LITTLE_ENDIAN) != 0;
if (isStereo) {
if (isUnsigned) {
@@ -431,9 +431,9 @@ AudioStream *makeRawDiskStream(Common::SeekableReadStream *stream, RawDiskStream
int numBlocks, int rate, byte flags, DisposeAfterUse::Flag disposeStream, uint loopStart, uint loopEnd) {
SeekableAudioStream *s = makeRawDiskStream(stream, block, numBlocks, rate, flags, disposeStream);
- const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0;
- const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0;
- const bool isLooping = (flags & Mixer::FLAG_LOOP) != 0;
+ const bool isStereo = (flags & Audio::FLAG_STEREO) != 0;
+ const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0;
+ const bool isLooping = (flags & Audio::FLAG_LOOP) != 0;
if (isLooping) {
uint loopOffset = 0, loopLen = 0;
diff --git a/sound/raw.h b/sound/raw.h
index e0b1a6c239..debf0ee14d 100644
--- a/sound/raw.h
+++ b/sound/raw.h
@@ -39,6 +39,33 @@ class AudioStream;
class SeekableAudioStream;
/**
+ * Various flags which can be bit-ORed and then passed to
+ * makeRawMemoryStream and some other AudioStream factories
+ * to control their behavior.
+ *
+ * Engine authors are advised not to rely on a certain value or
+ * order of these flags (in particular, do not store them verbatim
+ * in savestates).
+ */
+enum RawFlags {
+ /** unsigned samples (default: signed) */
+ FLAG_UNSIGNED = 1 << 0,
+
+ /** sound is 16 bits wide (default: 8bit) */
+ FLAG_16BITS = 1 << 1,
+
+ /** samples are little endian (default: big endian) */
+ FLAG_LITTLE_ENDIAN = 1 << 2,
+
+ /** sound is in stereo (default: mono) */
+ FLAG_STEREO = 1 << 3,
+
+ /** loop the audio */
+ FLAG_LOOP = 1 << 6
+};
+
+
+/**
* Creates a audio stream, which plays the given raw data.
*
* @param ptr Data
diff --git a/sound/shorten.cpp b/sound/shorten.cpp
index 44f4e66ed8..48d82dadf7 100644
--- a/sound/shorten.cpp
+++ b/sound/shorten.cpp
@@ -196,18 +196,18 @@ byte *loadShortenFromStream(Common::ReadStream &stream, int &size, int &rate, by
case kTypeS8:
break;
case kTypeU8:
- flags |= Audio::Mixer::FLAG_UNSIGNED;
+ flags |= Audio::FLAG_UNSIGNED;
break;
case kTypeS16LH:
- flags |= Audio::Mixer::FLAG_LITTLE_ENDIAN;
+ flags |= Audio::FLAG_LITTLE_ENDIAN;
case kTypeS16HL:
- flags |= Audio::Mixer::FLAG_16BITS;
+ flags |= Audio::FLAG_16BITS;
break;
case kTypeU16LH:
- flags |= Audio::Mixer::FLAG_LITTLE_ENDIAN;
+ flags |= Audio::FLAG_LITTLE_ENDIAN;
case kTypeU16HL:
- flags |= Audio::Mixer::FLAG_16BITS;
- flags |= Audio::Mixer::FLAG_UNSIGNED;
+ flags |= Audio::FLAG_16BITS;
+ flags |= Audio::FLAG_UNSIGNED;
break;
case kTypeWAV:
// TODO: Perhaps implement this if we find WAV Shorten encoded files
@@ -426,16 +426,16 @@ byte *loadShortenFromStream(Common::ReadStream &stream, int &size, int &rate, by
}
if (curChannel == channels - 1) {
- int dataSize = (flags & Audio::Mixer::FLAG_16BITS) ? 2 : 1;
- int limit = (flags & Audio::Mixer::FLAG_16BITS) ? 32767 : 127;
- limit = (flags & Audio::Mixer::FLAG_UNSIGNED) ? limit * 2 + 1 : limit;
+ int dataSize = (flags & Audio::FLAG_16BITS) ? 2 : 1;
+ int limit = (flags & Audio::FLAG_16BITS) ? 32767 : 127;
+ limit = (flags & Audio::FLAG_UNSIGNED) ? limit * 2 + 1 : limit;
prevSize = size;
size += (blockSize * dataSize);
unpackedBuffer = (byte *) realloc(unpackedBuffer, size);
pBuf = unpackedBuffer + prevSize;
- if (flags & Audio::Mixer::FLAG_16BITS) {
+ if (flags & Audio::FLAG_16BITS) {
for (i = 0; i < blockSize; i++) {
for (j = 0; j < channels; j++) {
int16 val = (int16)(MIN<int32>(buffer[j][i], limit) & 0xFFFF);
diff --git a/sound/wave.cpp b/sound/wave.cpp
index 977b6953e6..018cbd2133 100644
--- a/sound/wave.cpp
+++ b/sound/wave.cpp
@@ -119,18 +119,18 @@ bool loadWAVFromStream(Common::SeekableReadStream &stream, int &size, int &rate,
flags = 0;
if (bitsPerSample == 8) // 8 bit data is unsigned
- flags |= Audio::Mixer::FLAG_UNSIGNED;
+ flags |= Audio::FLAG_UNSIGNED;
else if (bitsPerSample == 16) // 16 bit data is signed little endian
- flags |= (Audio::Mixer::FLAG_16BITS | Audio::Mixer::FLAG_LITTLE_ENDIAN);
+ flags |= (Audio::FLAG_16BITS | Audio::FLAG_LITTLE_ENDIAN);
else if (bitsPerSample == 4 && (type == 2 || type == 17))
- flags |= Audio::Mixer::FLAG_16BITS;
+ flags |= Audio::FLAG_16BITS;
else {
warning("getWavInfo: unsupported bitsPerSample %d", bitsPerSample);
return false;
}
if (numChannels == 2)
- flags |= Audio::Mixer::FLAG_STEREO;
+ flags |= Audio::FLAG_STEREO;
else if (numChannels != 1) {
warning("getWavInfo: unsupported number of channels %d", numChannels);
return false;
@@ -175,9 +175,9 @@ RewindableAudioStream *makeWAVStream(Common::SeekableReadStream *stream, Dispose
}
if (type == 17) // MS IMA ADPCM
- return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
+ return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::FLAG_STEREO) ? 2 : 1, blockAlign);
else if (type == 2) // MS ADPCM
- return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
+ return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::FLAG_STEREO) ? 2 : 1, blockAlign);
// Raw PCM. Just read everything at once.
// TODO: More elegant would be to wrap the stream.