mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-03 00:35:54 +00:00
ACCESS/AMAZON: music: no driver = ignore calls
ignore music calls when midi driver wasn't created
This commit is contained in:
parent
b6cf04bb0e
commit
44676d02f4
@ -233,14 +233,16 @@ MusicManager::MusicManager(AccessEngine *vm) : _vm(vm) {
|
||||
MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM);
|
||||
#endif
|
||||
|
||||
int retValue = _driver->open();
|
||||
if (retValue == 0) {
|
||||
if (_nativeMT32)
|
||||
_driver->sendMT32Reset();
|
||||
else
|
||||
_driver->sendGMReset();
|
||||
if (_driver) {
|
||||
int retValue = _driver->open();
|
||||
if (retValue == 0) {
|
||||
if (_nativeMT32)
|
||||
_driver->sendMT32Reset();
|
||||
else
|
||||
_driver->sendGMReset();
|
||||
|
||||
_driver->setTimerCallback(this, &timerCallback);
|
||||
_driver->setTimerCallback(this, &timerCallback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -264,6 +266,9 @@ void MusicManager::send(uint32 b) {
|
||||
void MusicManager::midiPlay() {
|
||||
debugC(1, kDebugSound, "midiPlay");
|
||||
|
||||
if (!_driver)
|
||||
return;
|
||||
|
||||
if (_music->_size < 4) {
|
||||
error("midiPlay() wrong music resource size");
|
||||
}
|
||||
@ -301,6 +306,8 @@ bool MusicManager::checkMidiDone() {
|
||||
void MusicManager::midiRepeat() {
|
||||
debugC(1, kDebugSound, "midiRepeat");
|
||||
|
||||
if (!_driver)
|
||||
return;
|
||||
if (!_parser)
|
||||
return;
|
||||
|
||||
@ -313,6 +320,9 @@ void MusicManager::midiRepeat() {
|
||||
void MusicManager::stopSong() {
|
||||
debugC(1, kDebugSound, "stopSong");
|
||||
|
||||
if (!_driver)
|
||||
return;
|
||||
|
||||
stop();
|
||||
}
|
||||
|
||||
@ -331,6 +341,9 @@ void MusicManager::loadMusic(FileIdent file) {
|
||||
void MusicManager::newMusic(int musicId, int mode) {
|
||||
debugC(1, kDebugSound, "newMusic(%d, %d)", musicId, mode);
|
||||
|
||||
if (!_driver)
|
||||
return;
|
||||
|
||||
if (mode == 1) {
|
||||
stopSong();
|
||||
freeMusic();
|
||||
|
Loading…
x
Reference in New Issue
Block a user