(svn r10471) -Codechange: implement driver probing priority so that 'preferred' drivers are loaded first

This commit is contained in:
peter1138
2007-07-07 20:31:23 +00:00
parent 0543657b75
commit 8b81cdd2a6
21 changed files with 39 additions and 55 deletions

View File

@@ -7,8 +7,6 @@
class MusicDriver_BeMidi: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_BeMidi: public MusicDriverFactory<FMusicDriver_BeMidi> {
public:
static const int priority = 10;
/* virtual */ const char *GetName() { return "bemidi"; }
/* virtual */ const char *GetDescription() { return "BeOS MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_BeMidi(); }

View File

@@ -7,8 +7,6 @@
class MusicDriver_DMusic: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_DMusic: public MusicDriverFactory<FMusicDriver_DMusic> {
public:
static const int priorty = 10;
/* virtual */ const char *GetName() { return "dmusic"; }
/* virtual */ const char *GetDescription() { return "DirectMusic MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_DMusic(); }

View File

@@ -14,8 +14,6 @@ private:
void DoStop();
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -31,6 +29,7 @@ public:
class FMusicDriver_ExtMidi: public MusicDriverFactory<FMusicDriver_ExtMidi> {
public:
static const int priority = 1;
/* virtual */ const char *GetName() { return "extmidi"; }
/* virtual */ const char *GetDescription() { return "External MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_ExtMidi(); }

View File

@@ -7,8 +7,6 @@
class MusicDriver_LibTimidity: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_LibTimidity: public MusicDriverFactory<FMusicDriver_LibTimidity> {
public:
static const int priority = 5;
/* virtual */ const char *GetName() { return "libtimidity"; }
/* virtual */ const char *GetDescription() { return "LibTimidity MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_LibTimidity(); }

View File

@@ -22,7 +22,7 @@ class MusicDriverFactoryBase: public DriverFactoryBase {
template <class T>
class MusicDriverFactory: public MusicDriverFactoryBase {
public:
MusicDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_MUSIC); }
MusicDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_MUSIC, ((T *)this)->priority); }
/**
* Get the long, human readable, name for the Driver-class.

View File

@@ -7,8 +7,6 @@
class MusicDriver_Null: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return false; }
/* virtual */ const char *Start(const char * const *param) { return NULL; }
/* virtual */ void Stop() { }
@@ -24,6 +22,7 @@ public:
class FMusicDriver_Null: public MusicDriverFactory<FMusicDriver_Null> {
public:
static const int priority = 0;
/* virtual */ const char *GetName() { return "null"; }
/* virtual */ const char *GetDescription() { return "Null Music Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_Null(); }

View File

@@ -7,8 +7,6 @@
class MusicDriver_OS2: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_OS2: public MusicDriverFactory<FMusicDriver_OS2> {
public:
static const int priority = 10;
/* virtual */ const char *GetName() { return "os2"; }
/* virtual */ const char *GetDescription() { return "OS/2 Music Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_OS2(); }

View File

@@ -7,8 +7,6 @@
class MusicDriver_QtMidi: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_QtMidi: public MusicDriverFactory<FMusicDriver_QtMidi> {
public:
static const int priorty = 10;
/* virtual */ const char *GetName() { return "qt"; }
/* virtual */ const char *GetDescription() { return "QuickTime MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_QtMidi(); }

View File

@@ -7,8 +7,6 @@
class MusicDriver_Win32: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FMusicDriver_Win32: public MusicDriverFactory<FMusicDriver_Win32> {
public:
static const int priorty = 5;
/* virtual */ const char *GetName() { return "win32"; }
/* virtual */ const char *GetDescription() { return "Win32 Music Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_Win32(); }