Fix issue with tempo when changing back and forth between OPL3 and WinMM MIDI output

git-svn-id: https://svn.eduke32.com/eduke32@8236 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2019-10-20 11:41:41 +00:00 committed by Christoph Oelckers
parent 5de8dad179
commit 9b97f504bb
2 changed files with 4 additions and 2 deletions

View file

@ -737,6 +737,8 @@ int WinMMDrv_MIDI_StartPlayback(void (*service)(void))
return WinMMErr_Error; return WinMMErr_Error;
} }
midiLastDivision = 0;
return WinMMErr_Ok; return WinMMErr_Ok;
} }

View file

@ -776,12 +776,12 @@ int MIDI_PlaySong(char *song, int loopflag)
_MIDI_Reset = FALSE; _MIDI_Reset = FALSE;
MIDI_SetTempo(120);
// this can either stay like this, or I can add another field to the MIDI driver spec that holds the service callback // this can either stay like this, or I can add another field to the MIDI driver spec that holds the service callback
if (SoundDriver_MIDI_StartPlayback(ASS_MIDISoundDriver == ASS_OPL3 ? _MIDI_ServiceMultivoc : _MIDI_ServiceRoutine) != MIDI_Ok) if (SoundDriver_MIDI_StartPlayback(ASS_MIDISoundDriver == ASS_OPL3 ? _MIDI_ServiceMultivoc : _MIDI_ServiceRoutine) != MIDI_Ok)
return MIDI_DriverError; return MIDI_DriverError;
MIDI_SetTempo(120);
_MIDI_SongLoaded = TRUE; _MIDI_SongLoaded = TRUE;
_MIDI_SongActive = TRUE; _MIDI_SongActive = TRUE;