aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2011-04-07 10:51:39 -0400
committerMatthew Hoops2011-04-07 10:52:58 -0400
commitaf59f33b7b7646e299b053b8d46a25e49615f26b (patch)
treecec24802b1fbcbc1ce205453fa6d84eca9b35e64
parent50d25195524aaa11acc5ae08622c52a75d7f08ac (diff)
downloadscummvm-rg350-af59f33b7b7646e299b053b8d46a25e49615f26b.tar.gz
scummvm-rg350-af59f33b7b7646e299b053b8d46a25e49615f26b.tar.bz2
scummvm-rg350-af59f33b7b7646e299b053b8d46a25e49615f26b.zip
GROOVIE: Add a stub MPEG4 music player
-rw-r--r--engines/groovie/groovie.cpp14
-rw-r--r--engines/groovie/music.cpp14
-rw-r--r--engines/groovie/music.h9
3 files changed, 35 insertions, 2 deletions
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp
index 313a690aea..47070cc086 100644
--- a/engines/groovie/groovie.cpp
+++ b/engines/groovie/groovie.cpp
@@ -151,10 +151,20 @@ Common::Error GroovieEngine::run() {
}
// Create the music player
- if (getPlatform() == Common::kPlatformMacintosh)
+ switch (getPlatform()) {
+ case Common::kPlatformMacintosh:
+ // TODO: The 11th Hour Mac uses QuickTime MIDI files
+ // Right now, since the XMIDI are present and it is still detected as
+ // the DOS version, we don't have to do anything here.
_musicPlayer = new MusicPlayerMac(this);
- else
+ break;
+ case Common::kPlatformIOS:
+ _musicPlayer = new MusicPlayerMPEG4(this);
+ break;
+ default:
_musicPlayer = new MusicPlayerXMI(this, _gameDescription->version == kGroovieT7G ? "fat" : "sample");
+ break;
+ }
// Load volume levels
syncSoundSettings();
diff --git a/engines/groovie/music.cpp b/engines/groovie/music.cpp
index 7529f95bcf..bdb080d204 100644
--- a/engines/groovie/music.cpp
+++ b/engines/groovie/music.cpp
@@ -747,4 +747,18 @@ Common::SeekableReadStream *MusicPlayerMac::decompressMidi(Common::SeekableReadS
return new Common::MemoryReadStream(output, size, DisposeAfterUse::YES);
}
+MusicPlayerMPEG4::MusicPlayerMPEG4(GroovieEngine *vm) : MusicPlayer(vm) {
+}
+
+void MusicPlayerMPEG4::updateVolume() {
+ // TODO: Check if anything has to be done here
+}
+
+bool MusicPlayerMPEG4::load(uint32 fileref, bool loop) {
+ // TODO
+ Common::String filename = Common::String::format("gu%d.m4a", fileref & 0x3FF);
+ warning("TODO: Play MPEG-4 sound '%s'", filename.c_str());
+ return false;
+}
+
} // End of Groovie namespace
diff --git a/engines/groovie/music.h b/engines/groovie/music.h
index bde0a7a16f..9855c898fe 100644
--- a/engines/groovie/music.h
+++ b/engines/groovie/music.h
@@ -160,6 +160,15 @@ private:
Common::SeekableReadStream *decompressMidi(Common::SeekableReadStream *stream);
};
+class MusicPlayerMPEG4 : public MusicPlayer {
+public:
+ MusicPlayerMPEG4(GroovieEngine *vm);
+
+protected:
+ void updateVolume();
+ bool load(uint32 fileref, bool loop);
+};
+
} // End of Groovie namespace
#endif // GROOVIE_MUSIC_H