diff options
author | Torbjörn Andersson | 2004-11-26 10:04:36 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2004-11-26 10:04:36 +0000 |
commit | 41d1be2ea8e1869b056cf09f3b82d52363aa80c1 (patch) | |
tree | a17811bbdb1f119624e9328dce532bbb4b7762d9 | |
parent | de815bac901435197e665d67ac0f237b76e57940 (diff) | |
download | scummvm-rg350-41d1be2ea8e1869b056cf09f3b82d52363aa80c1.tar.gz scummvm-rg350-41d1be2ea8e1869b056cf09f3b82d52363aa80c1.tar.bz2 scummvm-rg350-41d1be2ea8e1869b056cf09f3b82d52363aa80c1.zip |
After listening to some of the IHNM music from both the FM and GM music
files through the MIDI synth on my Soundblaster, I can only conclude that
they are both General MIDI, so I've changed our code to assume that in both
cases. The End Title (which we currently incorrectly play at the end of the
intro) sounds much better in Adlib this way, too.
Perhaps the original used a different GM to FM mapping than the one in our
adlib.cpp, but if so using the MT-32 to GM mapping isn't likely to improve
the situation.
We could add a way of replacing the GM to FM mapping in adlib.cpp, I guess.
Of course, that would only be worth it if the original sounds better than
our mapping.
svn-id: r15894
-rw-r--r-- | saga/music.cpp | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/saga/music.cpp b/saga/music.cpp index 73e23a36bd..b1a949b8f7 100644 --- a/saga/music.cpp +++ b/saga/music.cpp @@ -456,21 +456,36 @@ int Music::play(uint32 music_rn, uint16 flags) { if (GAME_GetGameType() == GID_ITE) { rsc_ctxt = GAME_GetFileContext(GAME_RESOURCEFILE, 0); } else { - // TODO: I'm not sure if this is right, but the FM file - // sounds better with Adlib than the AM file does. On - // the other hand, it doesn't sound like quite the same - // music, which is strange. + // I've listened to music from both the FM and the GM + // file, and I've tentatively reached the conclusion + // that they are both General MIDI. My guess is that + // the FM file has been reorchestrated to sound better + // on Adlib and other FM synths. + // + // Sev says the Adlib music does not sound like in the + // original, but I still think assuming General MIDI is + // the right thing to do. Some music, like the End + // Title (song 0) sound absolutely atrocious when piped + // through our MT-32 to GM mapping. + // + // It is, however, quite possible that the original + // used a different GM to FM mapping. If the original + // sounded markedly better, perhaps we should add some + // way of replacing our stock mapping in adlib.cpp? + // + // For the composer's own recording of the End Title, + // see http://www.johnottman.com/ + + // Oddly enough, the intro music (song 1) is very + // different in the two files. I have no idea why. if (hasAdlib()) { rsc_ctxt = GAME_GetFileContext(GAME_MUSICFILE_FM, 0); - // FIXME: This is weird, but this way Adlib - // sounds closer to original, though instrument - // mapping is not correct. - _player->setGM(false); } else { rsc_ctxt = GAME_GetFileContext(GAME_MUSICFILE_GM, 0); - _player->setGM(true); } + + _player->setGM(true); } if (RSC_LoadResource(rsc_ctxt, music_rn, &resource_data, |