IDirectSound - LPDS3DLISTENER = ^DS3DLISTENER ; // IDirectSound //
IDirectSound3DBuffer - IDirectSound3DBuffer //
IDirectSound3DListener - IDirectSound3DListener //
IDirectSoundBuffer - IDirectSoundBuffer //
DirectSoundCreate -
DirectSoundEnumerate -
DS3DBUFFER
DS3DLISTENER
DSBCAPS
DSBUFFERDESC
DSCAPS
LPDSENUMCALLBACK
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
function DirectSoundCreate ( lpGuid: PGUID ; var ppDS: IDirectSound ;
pUnkOuter: IUnknown ): HRESULT ;
function DirectSoundEnumerate ( lpCallback: LPDSENUMCALLBACK ;
lpContext: Pointer ): HRESULT ;
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
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