diff options
| -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,   | 
