SFXDSDevice Class Reference

#include <sfxDSDevice.h>

Inheritance diagram for SFXDSDevice:

Inheritance graph
[legend]
List of all members.

Detailed Description

The DirectSound device implementation exposes a couple of settings to script that you should be aware of:.

$DirectSound::dopplerFactor - This controls the scale of the doppler effect. Valid factors are 0.0 to 10.0 and it defaults to 0.75.

$DirectSound::distanceFactor - This sets the unit conversion for

$DirectSound::rolloffFactor - ;


Public Member Functions

 SFXDSDevice (SFXProvider *provider, DSoundFNTable *dsFnTbl, GUID *guid, const char *name, bool useHardware, S32 maxBuffers)
virtual ~SFXDSDevice ()
const char * getName () const
 Returns the name of this device.
SFXBuffercreateBuffer (SFXProfile *profile)
 Tries to create a new sound buffer.
SFXVoicecreateVoice (bool is3D, SFXBuffer *buffer)
void deleteVoice (SFXVoice *buffer)
U32 getVoiceCount () const
void update (const SFXListener &listener)
 Called from SFXSystem to do any updates the device may need to make.

Protected Member Functions

void _commitDeferred ()
 Called from SFXDSVoice to commit any deferred settings before playback begins.

Protected Attributes

const StringTableEntry mName
IDirectSound8 * mDSound
IDirectSound3DListener8 * mListener
IDirectSoundBuffer * mPrimaryBuffer
DSoundFNTablemDSoundTbl
DSCAPS mCaps
SFXDSVoiceVector mVoices
SFXDSBufferVector mBuffers

Private Types

typedef SFXDevice Parent

Friends

class SFXDSVoice


Member Typedef Documentation

typedef SFXDevice SFXDSDevice::Parent [private]


Constructor & Destructor Documentation

SFXDSDevice::SFXDSDevice ( SFXProvider provider,
DSoundFNTable dsFnTbl,
GUID *  guid,
const char *  name,
bool  useHardware,
S32  maxBuffers 
)

virtual SFXDSDevice::~SFXDSDevice (  )  [virtual]


Member Function Documentation

void SFXDSDevice::_commitDeferred (  )  [protected]

Called from SFXDSVoice to commit any deferred settings before playback begins.

const char* SFXDSDevice::getName (  )  const [inline, virtual]

Returns the name of this device.

Implements SFXDevice.

SFXBuffer* SFXDSDevice::createBuffer ( SFXProfile profile  )  [virtual]

Tries to create a new sound buffer.

If creation fails freeing another buffer will usually allow a new one to be created.

Parameters:
is3d True if a 3D sound buffer is desired.
channels The number of sound channels... typically 1 or 2.
frequency The number of samples per second ( a sample includes all channels ).
bitsPerSample The number of bits per sample ( a sample includes all channels ).
dataSize The total size of the buffer in bytes.
Returns:
Returns a new buffer or NULL if one cannot be created.

Implements SFXDevice.

SFXVoice* SFXDSDevice::createVoice ( bool  is3D,
SFXBuffer buffer 
) [virtual]

Implements SFXDevice.

void SFXDSDevice::deleteVoice ( SFXVoice buffer  )  [virtual]

Implements SFXDevice.

U32 SFXDSDevice::getVoiceCount (  )  const [inline, virtual]

Implements SFXDevice.

void SFXDSDevice::update ( const SFXListener listener  )  [virtual]

Called from SFXSystem to do any updates the device may need to make.

Implements SFXDevice.


Friends And Related Function Documentation

friend class SFXDSVoice [friend]


Member Data Documentation

IDirectSound8* SFXDSDevice::mDSound [protected]

IDirectSound3DListener8* SFXDSDevice::mListener [protected]

IDirectSoundBuffer* SFXDSDevice::mPrimaryBuffer [protected]

DSCAPS SFXDSDevice::mCaps [protected]