aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_player.cpp
diff options
context:
space:
mode:
authorJamieson Christian2003-09-16 11:44:48 +0000
committerJamieson Christian2003-09-16 11:44:48 +0000
commit091b41a2787cf7eeb36732cb02aec68c66ab570c (patch)
treefa0ae6d9588b41eb2e770b69a12d2741d60f8dee /scumm/imuse_player.cpp
parent00c1fdce3aa67fae7d314ba48dfbb774879cf221 (diff)
downloadscummvm-rg350-091b41a2787cf7eeb36732cb02aec68c66ab570c.tar.gz
scummvm-rg350-091b41a2787cf7eeb36732cb02aec68c66ab570c.tar.bz2
scummvm-rg350-091b41a2787cf7eeb36732cb02aec68c66ab570c.zip
Partial fix for Bug [636985] ZAK256: No kazoo tune
Implemented a parser for Euphony music. No FM instrument support yet, as the FM chip used by FM Towns is not being emulated yet. In the meantime, a stock FM-emulated GM instrument is being used instead. This at least makes the Zak Towns kazoo tune and the Loom Towns distaff audible. Emulation of the FM Towns synth chip, or suitable emulation using the OPL2 synth, is still under investigation. svn-id: r10265
Diffstat (limited to 'scumm/imuse_player.cpp')
-rw-r--r--scumm/imuse_player.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/scumm/imuse_player.cpp b/scumm/imuse_player.cpp
index 51315e0a6c..986dfb6340 100644
--- a/scumm/imuse_player.cpp
+++ b/scumm/imuse_player.cpp
@@ -39,6 +39,7 @@
////////////////////////////////////////
extern MidiParser *MidiParser_createRO();
+extern MidiParser *MidiParser_createEUP();
static uint read_word(byte *a) {
return (a[0] << 8) + a[1];
@@ -186,6 +187,9 @@ int Player::start_seq_sound(int sound, bool reset_vars) {
if (!memcmp (ptr, "RO", 2)) {
// Old style 'RO' resource
_parser = MidiParser_createRO();
+ } else if (!memcmp (ptr, "SO", 2)) {
+ // Euphony (FM Towns) resource
+ _parser = MidiParser_createEUP();
} else if (!memcmp(ptr, "FORM", 4)) {
// Humongous Games XMIDI resource
_parser = MidiParser::createParser_XMIDI();