From 6588398ce6fab85e287b10c2781d3797d7639cb9 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 15 Sep 2010 22:00:20 +0000 Subject: MIDI: Send a reset MIDI device signal on startup. This is currently done in the engine code. I adapted AGI, AGOS, DRACI, GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset device on startup. The sound output still works fine (started up a game from every engine), so this should hopefully not introduce any regressions. As far as I can tell it seems that SCUMM does send a proper device reset, so I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am not sure about SCI though. This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI". svn-id: r52736 --- engines/sky/music/gmmusic.cpp | 1 + engines/sky/music/mt32music.cpp | 1 + 2 files changed, 2 insertions(+) (limited to 'engines/sky/music') diff --git a/engines/sky/music/gmmusic.cpp b/engines/sky/music/gmmusic.cpp index f2abb3f277..e7b3a24170 100644 --- a/engines/sky/music/gmmusic.cpp +++ b/engines/sky/music/gmmusic.cpp @@ -44,6 +44,7 @@ GmMusic::GmMusic(MidiDriver *pMidiDrv, Disk *pDisk) : MusicBase(pDisk) { error("Can't open midi device. Errorcode: %d", midiRes); _timerCount = 0; _midiDrv->setTimerCallback(this, passTimerFunc); + _midiDrv->sendGMReset(); } GmMusic::~GmMusic() { diff --git a/engines/sky/music/mt32music.cpp b/engines/sky/music/mt32music.cpp index ce2a29dad8..bdefa66709 100644 --- a/engines/sky/music/mt32music.cpp +++ b/engines/sky/music/mt32music.cpp @@ -44,6 +44,7 @@ MT32Music::MT32Music(MidiDriver *pMidiDrv, Disk *pDisk) : MusicBase(pDisk) { error("Can't open midi device. Errorcode: %d",midiRes); _timerCount = 0; _midiDrv->setTimerCallback(this, passTimerFunc); + _midiDrv->sendMT32Reset(); } MT32Music::~MT32Music() { -- cgit v1.2.3