(svn r26538) -Codechange: remove double accounting of the drivers

This commit is contained in:
rubidium
2014-04-28 21:06:51 +00:00
parent 3b634b628c
commit b476086c39
24 changed files with 97 additions and 75 deletions

View File

@@ -37,8 +37,8 @@ static FMusicDriver_ExtMidi iFMusicDriver_ExtMidi;
const char *MusicDriver_ExtMidi::Start(const char * const * parm)
{
if (strcmp(_video_driver->GetName(), "allegro") == 0 ||
strcmp(_sound_driver->GetName(), "allegro") == 0) {
if (strcmp(VideoDriver::GetInstance()->GetName(), "allegro") == 0 ||
strcmp(SoundDriver::GetInstance()->GetName(), "allegro") == 0) {
return "the extmidi driver does not work when Allegro is loaded.";
}

View File

@@ -39,9 +39,15 @@ public:
* @param vol The new volume.
*/
virtual void SetVolume(byte vol) = 0;
/**
* Get the currently active instance of the music driver.
*/
static MusicDriver *GetInstance() {
return static_cast<MusicDriver*>(*DriverFactoryBase::GetActiveDriver(Driver::DT_MUSIC));
}
};
extern MusicDriver *_music_driver;
extern char *_ini_musicdriver;
#endif /* MUSIC_MUSIC_DRIVER_HPP */