aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/sound.h
diff options
context:
space:
mode:
authorAlyssa Milburn2011-01-19 16:36:34 +0000
committerAlyssa Milburn2011-01-19 16:36:34 +0000
commit017ab4c50356608ff617da1c843495465999c1c6 (patch)
tree429d6d987c22898dd34e89f67494cc3e4724926b /engines/mohawk/sound.h
parente2d9a34bee1568b0deb9aad960f61421442230dd (diff)
downloadscummvm-rg350-017ab4c50356608ff617da1c843495465999c1c6.tar.gz
scummvm-rg350-017ab4c50356608ff617da1c843495465999c1c6.tar.bz2
scummvm-rg350-017ab4c50356608ff617da1c843495465999c1c6.zip
MOHAWK: Add some supporting code for cue lists.
svn-id: r55328
Diffstat (limited to 'engines/mohawk/sound.h')
-rw-r--r--engines/mohawk/sound.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/mohawk/sound.h b/engines/mohawk/sound.h
index 867be37652..e2481f6428 100644
--- a/engines/mohawk/sound.h
+++ b/engines/mohawk/sound.h
@@ -66,6 +66,7 @@ enum SndHandleType {
struct SndHandle {
Audio::SoundHandle handle;
SndHandleType type;
+ uint samplesPerSecond;
uint16 id;
};
@@ -120,7 +121,7 @@ public:
~Sound();
// Generic sound functions
- Audio::SoundHandle *playSound(uint16 id, byte volume = Audio::Mixer::kMaxChannelVolume, bool loop = false);
+ Audio::SoundHandle *playSound(uint16 id, byte volume = Audio::Mixer::kMaxChannelVolume, bool loop = false, CueList *cueList = NULL);
void playSoundBlocking(uint16 id, byte volume = Audio::Mixer::kMaxChannelVolume);
void playMidi(uint16 id);
void stopMidi();
@@ -129,6 +130,7 @@ public:
void pauseSound();
void resumeSound();
bool isPlaying(uint16 id);
+ uint getNumSamplesPlayed(uint16 id);
// Myst-specific sound functions
Audio::SoundHandle *replaceSoundMyst(uint16 id, byte volume = Audio::Mixer::kMaxChannelVolume, bool loop = false);
@@ -152,13 +154,13 @@ private:
MidiParser *_midiParser;
byte *_midiData;
- static Audio::AudioStream *makeMohawkWaveStream(Common::SeekableReadStream *stream);
+ static Audio::AudioStream *makeMohawkWaveStream(Common::SeekableReadStream *stream, CueList *cueList = NULL);
static Audio::AudioStream *makeOldMohawkWaveStream(Common::SeekableReadStream *stream);
void initMidi();
Common::Array<SndHandle> _handles;
SndHandle *getHandle();
- Audio::AudioStream *makeAudioStream(uint16 id);
+ Audio::AudioStream *makeAudioStream(uint16 id, CueList *cueList = NULL);
uint16 convertMystID(uint16 id);
// Riven-specific