aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/sound/sound.h
diff options
context:
space:
mode:
authorSven Hesse2012-06-09 10:38:55 +0200
committerSven Hesse2012-06-11 05:18:06 +0200
commit03ef6689c015742c192d5d92d936e60d638caa1c (patch)
tree53bf4b9f593296663bf171927591011fc4cd2f2e /engines/gob/sound/sound.h
parent49fafb48a7f089c97ed3baa9aefe65ec56dce682 (diff)
downloadscummvm-rg350-03ef6689c015742c192d5d92d936e60d638caa1c.tar.gz
scummvm-rg350-03ef6689c015742c192d5d92d936e60d638caa1c.tar.bz2
scummvm-rg350-03ef6689c015742c192d5d92d936e60d638caa1c.zip
GOB: Rewrite the AdLib players
This is a complete rewrite of the AdLib players for ADL and MDY/TBR files in the Gob engine. Major changes 1) The AdLib base class is now completely separated from all file format code and can theoretically be used by any OPL2-based format (within reason) 2) The new code is far better documented and more readable 3) The MDY player now actually works. The MDY/TBR format is in reality the MUS/SND format created by AdLib as a simpler alternative to the ROL format 4) Since the MAME emulator is quite buggy and leads to noticable wrong percussion in the Gobliins 2 title music, the new AdLib player will try to create a DOSBox OPL. If it's not compiled in, or if the user configured opl_driver to "mame", it will print out appropriate warnings.
Diffstat (limited to 'engines/gob/sound/sound.h')
-rw-r--r--engines/gob/sound/sound.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/engines/gob/sound/sound.h b/engines/gob/sound/sound.h
index 585cf36703..ea7d639ffe 100644
--- a/engines/gob/sound/sound.h
+++ b/engines/gob/sound/sound.h
@@ -32,7 +32,7 @@ class GobEngine;
class PCSpeaker;
class SoundBlaster;
class ADLPlayer;
-class MDYPlayer;
+class MUSPlayer;
class Infogrames;
class Protracker;
class CDROM;
@@ -92,7 +92,7 @@ public:
bool adlibIsPlaying() const;
int adlibGetIndex() const;
- bool adlibGetRepeating() const;
+ int32 adlibGetRepeating() const;
void adlibSetRepeating(int32 repCount);
@@ -145,14 +145,23 @@ private:
SoundDesc _sounds[kSoundsCount];
+ // Speaker
PCSpeaker *_pcspeaker;
+
+ // PCM based
SoundBlaster *_blaster;
+ BackgroundAtmosphere *_bgatmos;
+
+ // AdLib
+ MUSPlayer *_mdyPlayer;
ADLPlayer *_adlPlayer;
- MDYPlayer *_mdyPlayer;
+
+ // Amiga Paula
Infogrames *_infogrames;
Protracker *_protracker;
+
+ // Audio CD
CDROM *_cdrom;
- BackgroundAtmosphere *_bgatmos;
};
} // End of namespace Gob