merge/simplify
This commit is contained in:
@@ -4,12 +4,7 @@
|
||||
#include "RageUtil.h"
|
||||
#include "Foreach.h"
|
||||
|
||||
static DriverList g_pRegistrees;
|
||||
|
||||
RegisterSoundDriver::RegisterSoundDriver( const istring &sName, CreateRageDriverFn pfn )
|
||||
{
|
||||
g_pRegistrees.Add( sName, pfn );
|
||||
}
|
||||
DriverList RageSoundDriver::m_pDriverList;
|
||||
|
||||
RageSoundDriver *RageSoundDriver::Create( const RString &drivers )
|
||||
{
|
||||
@@ -18,7 +13,7 @@ RageSoundDriver *RageSoundDriver::Create( const RString &drivers )
|
||||
|
||||
FOREACH_CONST( RString, DriversToTry, Driver )
|
||||
{
|
||||
RageDriver *pDriver = g_pRegistrees.Create( *Driver );
|
||||
RageDriver *pDriver = m_pDriverList.Create( *Driver );
|
||||
if( pDriver == NULL )
|
||||
{
|
||||
LOG->Trace( "Unknown sound driver: %s", Driver->c_str() );
|
||||
|
||||
@@ -9,6 +9,7 @@ class RageSoundDriver: public RageDriver
|
||||
{
|
||||
public:
|
||||
static RageSoundDriver *Create( const RString &sDrivers );
|
||||
static DriverList m_pDriverList;
|
||||
|
||||
friend class RageSoundManager;
|
||||
|
||||
@@ -53,13 +54,9 @@ public:
|
||||
virtual ~RageSoundDriver() { }
|
||||
};
|
||||
|
||||
struct RegisterSoundDriver
|
||||
{
|
||||
RegisterSoundDriver( const istring &sName, CreateRageDriverFn pfn );
|
||||
};
|
||||
// Can't use Create##name because many of these have -sw suffixes.
|
||||
#define REGISTER_SOUND_DRIVER_CLASS2( name, x ) \
|
||||
static RegisterSoundDriver register_##x( #name, CreateClass<RageSoundDriver_##x, RageDriver> )
|
||||
static RegisterRageDriver register_##x( &RageSoundDriver::m_pDriverList, #name, CreateClass<RageSoundDriver_##x, RageDriver> )
|
||||
#define REGISTER_SOUND_DRIVER_CLASS( name ) REGISTER_SOUND_DRIVER_CLASS2( name, name )
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user