[Scummvm-cvs-logs] scummvm master -> 861c97a05fd08d3d55d81584def03f8d00307e2d
eriktorbjorn
eriktorbjorn at telia.com
Mon Jun 15 07:42:43 CEST 2015
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1fc1d5cc88 SHERLOCK: Use standard MIDI drivers for Rose Tattoo
861c97a05f SHERLOCK: Clarify TODO comment for Rose Tattoo MT-32
Commit: 1fc1d5cc88c5c2bc703642fc66f979bbe9164816
https://github.com/scummvm/scummvm/commit/1fc1d5cc88c5c2bc703642fc66f979bbe9164816
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2015-06-15T07:24:10+02:00
Commit Message:
SHERLOCK: Use standard MIDI drivers for Rose Tattoo
As far as I understand, the Rose Tattoo music is standard XMIDI, so
it can be played on any GM device. The music now sounds like I
remember it from DOSBox. (I'm currently limited to AdLib music in
DOSBox, so I can't make any proper comparison.)
AdLib support currently depends on ScummVM's GM -> AdLib conversion,
so that does not match the original.
I'm not sure about MT-32, but since I have no reason to believe that
there is MT-32 specific music - at least not in the way the Serrated
Scalpel MT-32 driver expects - we can probably rely on our default
driver to a reasonable job of it.
Changed paths:
engines/sherlock/music.cpp
diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 29e122f..7cf8053 100644
--- a/engines/sherlock/music.cpp
+++ b/engines/sherlock/music.cpp
@@ -218,29 +218,40 @@ Music::Music(SherlockEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) {
if (_vm->_interactiveFl)
_vm->_res->addToCache("MUSIC.LIB");
- _midiParser = (IS_SERRATED_SCALPEL) ? new MidiParser_SH() : MidiParser::createParser_XMIDI();
+ MidiDriver::DeviceHandle dev;
- MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MT32);
- _musicType = MidiDriver::getMusicType(dev);
+ if (IS_SERRATED_SCALPEL) {
+ _midiParser = new MidiParser_SH();
+ dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MT32);
+ _musicType = MidiDriver::getMusicType(dev);
- switch (_musicType) {
- case MT_ADLIB:
- _midiDriver = MidiDriver_AdLib_create();
- break;
- case MT_MT32:
- _midiDriver = MidiDriver_MT32_create();
- break;
- case MT_GM:
- if (ConfMan.getBool("native_mt32")) {
+ switch (_musicType) {
+ case MT_ADLIB:
+ _midiDriver = MidiDriver_AdLib_create();
+ break;
+ case MT_MT32:
_midiDriver = MidiDriver_MT32_create();
- _musicType = MT_MT32;
+ break;
+ case MT_GM:
+ if (ConfMan.getBool("native_mt32")) {
+ _midiDriver = MidiDriver_MT32_create();
+ _musicType = MT_MT32;
+ }
+ break;
+ default:
+ // Create default one
+ // I guess we shouldn't do this anymore
+ //_midiDriver = MidiDriver::createMidi(dev);
+ break;
}
- break;
- default:
- // Create default one
- // I guess we shouldn't do this anymore
- //_driver = MidiDriver::createMidi(dev);
- break;
+ } else {
+ // TODO: AdLib support uses ScummVM's builtin GM to AdLib
+ // conversion. This won't match the original.
+
+ _midiParser = MidiParser::createParser_XMIDI();
+ dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM);
+ _musicType = MT_GM;
+ _midiDriver = MidiDriver::createMidi(dev);
}
if (_midiDriver) {
@@ -400,6 +411,9 @@ bool Music::playMusic(const Common::String &name) {
MidiDriver_MT32_newMusicData(_midiDriver, dataPos, dataSize);
break;
+ case MT_GM:
+ break;
+
default:
// should never happen
break;
Commit: 861c97a05fd08d3d55d81584def03f8d00307e2d
https://github.com/scummvm/scummvm/commit/861c97a05fd08d3d55d81584def03f8d00307e2d
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2015-06-15T07:39:34+02:00
Commit Message:
SHERLOCK: Clarify TODO comment for Rose Tattoo MT-32
Changed paths:
engines/sherlock/music.cpp
diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 7cf8053..39bbd59 100644
--- a/engines/sherlock/music.cpp
+++ b/engines/sherlock/music.cpp
@@ -246,7 +246,8 @@ Music::Music(SherlockEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) {
}
} else {
// TODO: AdLib support uses ScummVM's builtin GM to AdLib
- // conversion. This won't match the original.
+ // conversion. This won't match the original. I'm also
+ // uncertain about the MT-32 case, but it plays at least.
_midiParser = MidiParser::createParser_XMIDI();
dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM);
More information about the Scummvm-git-logs
mailing list