SFXProvider

Engine/source/sfx/sfxProvider.h

More...

Public Friends

class

Private Static Attributes

The head of the linked list of avalible providers.

Private Attributes

The provider name which is passed by the concrete provider class to the SFXProvider constructor.

The next provider in the linked list of available providers.

Protected Attributes

The array of avaIlable devices from this provider.

Protected Static Functions

This registers the provider to the available provider list.

Protected Functions

Look up the SFXDeviceInfo for the given device in mDeviceInfo.

createDevice(const String & deviceName, bool useHardware, S32 maxBuffers)

This is called from SFXSystem to create a new device.

Public Static Functions

findProvider(String providerName)

Returns a specific provider by searching the provider list for the first provider with the case sensitive name.

Returns the first provider in the provider list.

Public Functions

Returns a read only vector with device information for all creatable devices available from this provider.

The case sensitive name of this provider.

Returns the next provider in the provider list or NULL when the end of the list is reached.

Detailed Description

Public Friends

Private Static Attributes

Vector< SFXProvider * > sAllProviders 
SFXProvider * smProviders 

The head of the linked list of avalible providers.

Private Attributes

String mName 

The provider name which is passed by the concrete provider class to the SFXProvider constructor.

SFXProvider * mNextProvider 

The next provider in the linked list of available providers.

Protected Attributes

SFXDeviceInfoVector mDeviceInfo 

The array of avaIlable devices from this provider.

The concrete provider class will fill this on construction.

Protected Static Functions

regProvider(SFXProvider * provider)

This registers the provider to the available provider list.

It should be called for providers that are properly initialized and available for device enumeration and creation. the add and registration process is 2 steps to avoid issues when TGEA is used as a shared library (specifically on Windows)

Protected Functions

SFXProvider(const String & name)

~SFXProvider()

_findDeviceInfo(const String & deviceName)

Look up the SFXDeviceInfo for the given device in mDeviceInfo.

Return default device (first in list) if no other device matches (or null if device list is empty).

createDevice(const String & deviceName, bool useHardware, S32 maxBuffers)

This is called from SFXSystem to create a new device.

Must be implemented by all contrete provider classes.

Parameters:

deviceName

The case sensitive name of the device or NULL to create the

useHardware

Toggles the use of hardware processing when available.

maxBuffers

The maximum buffers for this device to use or -1 for the device to pick a reasonable default for that device.

return:

Returns the created device or NULL for failure.

Reimplemented by: SFXDSProvider, SFXFMODProvider, SFXNullProvider, SFXALProvider, SFXXAudioProvider

init()

Reimplemented by: SFXDSProvider, SFXFMODProvider, SFXNullProvider, SFXALProvider, SFXXAudioProvider

Public Static Functions

findProvider(String providerName)

Returns a specific provider by searching the provider list for the first provider with the case sensitive name.

getFirstProvider()

Returns the first provider in the provider list.

Use getNextProvider() to iterate over list.

initializeAllProviders()

Public Functions

getDeviceInfo()

Returns a read only vector with device information for all creatable devices available from this provider.

getName()

The case sensitive name of this provider.

getNextProvider()

Returns the next provider in the provider list or NULL when the end of the list is reached.