Unit dsound

Classes

IDirectSound - LPDS3DLISTENER = ^DS3DLISTENER ; // IDirectSound //
IDirectSound3DBuffer - IDirectSound3DBuffer //
IDirectSound3DListener - IDirectSound3DListener //
IDirectSoundBuffer - IDirectSoundBuffer //

Functions

DirectSoundCreate -
DirectSoundEnumerate -

Types

DS3DBUFFER
DS3DLISTENER
DSBCAPS
DSBUFFERDESC
DSCAPS
LPDSENUMCALLBACK

Constants

CLSID_DirectSound
DS3DMODE_DISABLE
DS3DMODE_HEADRELATIVE
DS3DMODE_NORMAL
DS3D_DEFAULTDISTANCEFACTOR
DS3D_DEFAULTDOPPLERFACTOR
DS3D_DEFAULTROLLOFFFACTOR
DS3D_DEFERRED
DS3D_IMMEDIATE
DSBCAPS_CTRL3D
DSBCAPS_CTRLALL
DSBCAPS_CTRLDEFAULT
DSBCAPS_CTRLFREQUENCY
DSBCAPS_CTRLPAN
DSBCAPS_CTRLVOLUME
DSBCAPS_GETCURRENTPOSITION2
DSBCAPS_GLOBALFOCUS
DSBCAPS_LOCHARDWARE
DSBCAPS_LOCSOFTWARE
DSBCAPS_PRIMARYBUFFER
DSBCAPS_STATIC
DSBCAPS_STICKYFOCUS
DSBLOCK_FROMWRITECURSOR
DSBPLAY_LOOPING
DSBSTATUS_BUFFERLOST
DSBSTATUS_LOOPING
DSBSTATUS_PLAYING
DSCAPS_CERTIFIED
DSCAPS_CONTINUOUSRATE
DSCAPS_EMULDRIVER
DSCAPS_PRIMARY16BIT
DSCAPS_PRIMARY8BIT
DSCAPS_PRIMARYMONO
DSCAPS_PRIMARYSTEREO
DSCAPS_SECONDARY16BIT
DSCAPS_SECONDARY8BIT
DSCAPS_SECONDARYMONO
DSCAPS_SECONDARYSTEREO
DSERR_ALLOCATED
DSERR_ALREADYINITIALIZED
DSERR_BADFORMAT
DSERR_BUFFERLOST
DSERR_CONTROLUNAVAIL
DSERR_GENERIC
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_NODRIVER
DSERR_OTHERAPPHASPRIO
DSERR_OUTOFMEMORY
DSERR_PRIOLEVELNEEDED
DSERR_UNINITIALIZED
DSERR_UNSUPPORTED
DSSCL_EXCLUSIVE
DSSCL_NORMAL
DSSCL_PRIORITY
DSSCL_WRITEPRIMARY
DSSPEAKER_HEADPHONE
DSSPEAKER_MONO
DSSPEAKER_QUAD
DSSPEAKER_STEREO
DSSPEAKER_SURROUND
DS_OK
IID_IDirectSound
IID_IDirectSound3DBuffer
IID_IDirectSound3DListener
IID_IDirectSoundBuffer

Variables


Functions


function DirectSoundCreate ( lpGuid: PGUID ; var ppDS: IDirectSound ; pUnkOuter: IUnknown ): HRESULT ;


function DirectSoundEnumerate ( lpCallback: LPDSENUMCALLBACK ; lpContext: Pointer ): HRESULT ;


Types


DS3DBUFFER = record
dwSize : DWORD ;
vPosition : D3DVECTOR ;
vVelocity : D3DVECTOR ;
dwInsideConeAngle : DWORD ;
dwOutsideConeAngle : DWORD ;
vConeOrientation : D3DVECTOR ;
lConeOutsideVolume : longint ;
flMinDistance : D3DVALUE ;
flMaxDistance : D3DVALUE ;
dwMode : DWORD ;
end;
LPDSBUFFERDESC = ^DSBUFFERDESC ;
DS3DLISTENER = record
dwSize : DWORD ;
vPosition : D3DVECTOR ;
vVelocity : D3DVECTOR ;
vOrientFront : D3DVECTOR ;
vOrientTop : D3DVECTOR ;
flDistanceFactor : D3DVALUE ;
flRolloffFactor : D3DVALUE ;
flDopplerFactor : D3DVALUE ;
end;
LPDS3DBUFFER = ^DS3DBUFFER ;
DSBCAPS = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwBufferBytes : DWORD ;
dwUnlockTransferRate : DWORD ;
dwPlayCpuOverhead : DWORD ;
end;
LPDSCAPS = ^DSCAPS ;
DSBUFFERDESC = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwBufferBytes : DWORD ;
dwReserved : DWORD ;
lpwfxFormat : PWaveFormatEx ;
end;
LPDSBCAPS = ^DSBCAPS ;
DSCAPS = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwMinSecondarySampleRate : DWORD ;
dwMaxSecondarySampleRate : DWORD ;
dwPrimaryBuffers : DWORD ;
dwMaxHwMixingAllBuffers : DWORD ;
dwMaxHwMixingStaticBuffers : DWORD ;
dwMaxHwMixingStreamingBuffers : DWORD ;
dwFreeHwMixingAllBuffers : DWORD ;
dwFreeHwMixingStaticBuffers : DWORD ;
dwFreeHwMixingStreamingBuffers : DWORD ;
dwMaxHw3DAllBuffers : DWORD ;
dwMaxHw3DStaticBuffers : DWORD ;
dwMaxHw3DStreamingBuffers : DWORD ;
dwFreeHw3DAllBuffers : DWORD ;
dwFreeHw3DStaticBuffers : DWORD ;
dwFreeHw3DStreamingBuffers : DWORD ;
dwTotalHwMemBytes : DWORD ;
dwFreeHwMemBytes : DWORD ;
dwMaxContigFreeHwMemBytes : DWORD ;
dwUnlockTransferRateHwBuffers : DWORD ;
dwPlayCpuOverheadSwBuffers : DWORD ;
dwReserved1 : DWORD ;
dwReserved2 : DWORD ;
end;
typedef struct IDirectSound *LPDIRECTSOUND; typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER; typedef struct IDirectSoundBuffer **LPLPDIRECTSOUNDBUFFER; typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER; typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER;
LPDSENUMCALLBACK = function ( lpGuid: PGUID ; lpstrDescription: LPSTR ;
      lpstrModule: LPSTR ; lpContext: Pointer ): BOOL 

Constants

CLSID_DirectSound = ( D1:$47d4d946;D2:$62e8;D3:$11cf;D4:($93,$bc,$44,$45,$53,$54,$0,$0))

Direct Sound Component GUID {47D4D946-62E8-11cf-93BC-444553540000

DS3DMODE_DISABLE = 2

DS3DMODE_HEADRELATIVE = 1

default must be 0

DS3DMODE_NORMAL = 0

flags for IDirectSound3DBuffer::SetMode

DS3D_DEFAULTDISTANCEFACTOR = 1.0

default values for 3d factors

DS3D_DEFAULTDOPPLERFACTOR = 1.0

DS3D_DEFAULTROLLOFFFACTOR = 1.0

DS3D_DEFERRED = 1

DS3D_IMMEDIATE = 0

flags for dwApply parameter of some 3D functions

DSBCAPS_CTRL3D = $00000010

DSBCAPS_CTRLALL = $000000F0

Pan + volume + frequency.

DSBCAPS_CTRLDEFAULT = $000000E0

DSBCAPS_CTRLFREQUENCY = $00000020

DSBCAPS_CTRLPAN = $00000040

DSBCAPS_CTRLVOLUME = $00000080

DSBCAPS_GETCURRENTPOSITION2 = $00010000

DSBCAPS_GLOBALFOCUS = $00008000

DSBCAPS_LOCHARDWARE = $00000004

DSBCAPS_LOCSOFTWARE = $00000008

DSBCAPS_PRIMARYBUFFER = $00000001

DSBCAPS_STATIC = $00000002

DSBCAPS_STICKYFOCUS = $00004000

All control capabilities

DSBLOCK_FROMWRITECURSOR = $00000001

DSBPLAY_LOOPING = $00000001

DSBSTATUS_BUFFERLOST = $00000002

DSBSTATUS_LOOPING = $00000004

DSBSTATUS_PLAYING = $00000001

DSCAPS_CERTIFIED = $00000040

DSCAPS_CONTINUOUSRATE = $00000010

DSCAPS_EMULDRIVER = $00000020

DSCAPS_PRIMARY16BIT = $00000008

DSCAPS_PRIMARY8BIT = $00000004

DSCAPS_PRIMARYMONO = $00000001

==========================================================================; // Flags... // ==========================================================================;

DSCAPS_PRIMARYSTEREO = $00000002

DSCAPS_SECONDARY16BIT = $00000800

DSCAPS_SECONDARY8BIT = $00000400

DSCAPS_SECONDARYMONO = $00000100

DSCAPS_SECONDARYSTEREO = $00000200

DSERR_ALLOCATED = $88780000 + 10

* The call failed because resources (such as a priority level) * were already being used by another caller.

DSERR_ALREADYINITIALIZED = $88780000 + 130

* This object is already initialized

DSERR_BADFORMAT = $88780000 + 100

* The specified WAVE format is not supported

DSERR_BUFFERLOST = $88780000 + 150

* The buffer memory has been lost, and must be Restored.

DSERR_CONTROLUNAVAIL = $88780000 + 30

* The control (vol,pan,etc.) requested by the caller is not available.

DSERR_GENERIC = E_FAIL

* An undetermined error occured inside the DSound subsystem

DSERR_INVALIDCALL = $88780000 + 50

* This call is not valid for the current state of this object

DSERR_INVALIDPARAM = E_INVALIDARG

* An invalid parameter was passed to the returning function

DSERR_NOAGGREGATION = CLASS_E_NOAGGREGATION

* This object does not support aggregation

DSERR_NODRIVER = $88780000 + 120

* No sound driver is available for use

DSERR_OTHERAPPHASPRIO = $88780000 + 160

* Another app has a higher priority level, preventing this call from * succeeding.

DSERR_OUTOFMEMORY = E_OUTOFMEMORY

* The DSound subsystem couldn't allocate sufficient memory to complete the * caller's request.

DSERR_PRIOLEVELNEEDED = $88780000 + 70

* The caller does not have the priority level required for the function to * succeed.

DSERR_UNINITIALIZED = $88780000 + 170

* The Initialize() member on the Direct Sound Object has not been * called or called successfully before calls to other members.

DSERR_UNSUPPORTED = E_NOTIMPL

* The function called is not supported at this time

DSSCL_EXCLUSIVE = 3

DSSCL_NORMAL = 1

DSSCL_PRIORITY = 2

DSSCL_WRITEPRIMARY = 4

DSSPEAKER_HEADPHONE = 1

More accurate play cursor under emulation

DSSPEAKER_MONO = 2

DSSPEAKER_QUAD = 3

DSSPEAKER_STEREO = 4

DSSPEAKER_SURROUND = 5

DS_OK = 0

* Return Codes

IID_IDirectSound = ( D1:$279AFA83;D2:$4981;D3:$11CE;D4:($A5,$21,$00,$20,$AF,$0B,$E5,$60))

DirectSound 279afa83-4981-11ce-a521-0020af0be560

IID_IDirectSound3DBuffer = ( D1:$279AFA86;D2:$4981;D3:$11CE;D4:($A5,$21,$00,$20,$AF,$0B,$E5,$60))

DirectSound3DBuffer 279afa86-4981-11ce-a521-0020af0be560

IID_IDirectSound3DListener = ( D1:$279AFA84;D2:$4981;D3:$11CE;D4:($A5,$21,$00,$20,$AF,$0B,$E5,$60))

DirectSound3DListener 279afa84-4981-11ce-a521-0020af0be560

IID_IDirectSoundBuffer = ( D1:$279AFA85;D2:$4981;D3:$11CE;D4:($A5,$21,$00,$20,$AF,$0B,$E5,$60))

DirectSoundBuffer 279afa85-4981-11ce-a521-0020af0be560

Variables