diff options
Diffstat (limited to 'engines/tinsel/tinsel.cpp')
-rw-r--r-- | engines/tinsel/tinsel.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp index 8cfc6d7d4d..946c9338ba 100644 --- a/engines/tinsel/tinsel.cpp +++ b/engines/tinsel/tinsel.cpp @@ -914,8 +914,13 @@ void TinselEngine::RestartDrivers(void) { pMouseProcess = _scheduler->createProcess(PID_MOUSE, MouseProcess, NULL, 0); pKeyboardProcess = _scheduler->createProcess(PID_KEYBOARD, KeyboardProcess, NULL, 0); - // install sound driver - SoundInit(); + // open MIDI files + OpenMidiFiles(); + + // open sample files (only if mixer is ready) + if (_mixer->isReady()) { + _sound->openSampleFiles(); + } // Set midi volume SetMidiVolume(volMidi); @@ -927,7 +932,9 @@ void TinselEngine::RestartDrivers(void) { void TinselEngine::ChopDrivers(void) { // remove sound driver - SoundDeinit(); + StopMidi(); + _sound->stopAllSamples(); + DeleteMidiBuffer(); // remove event drivers _scheduler->killProcess(pMouseProcess); |