So i made a little DirectSound.pbi .
Code: Select all
; 2006 Hroudtwolf
; PureBasic-Lounge.de
; Tested with PureBasic 4.00
; DirectSound.pbi
Structure WAVEFORMATEX
lAvgBytesPerSec.l
lExtra.l
lSamplesPerSec.l
nBitsPerSample.l
nBlockAlign.l
nChannels.l
nFormatTag.l
nSize.l
EndStructure
Structure D3DVECTOR
x.f
y.f
z.f
EndStructure
Structure DS3DBUFFER
lConeOutsideVolume.l
lInsideConeAngle.l
lMode.l
lOutsideConeAngle.l
maxDistance.l
minDistance.l
vConeOrientation. D3DVECTOR
vPosition.D3DVECTOR
vVelocity.D3DVECTOR
EndStructure
Structure DS3DLISTENER
distanceFactor.l
dopplerFactor.l
rolloffFactor.l
vOrientFront.D3DVECTOR
vOrientTop.D3DVECTOR
vPosition.D3DVECTOR
vVelocity.D3DVECTOR
EndStructure
Structure DSBCAPS
lBufferBytes. Long
lFlags.l
lPlayCpuOverhead.l
lUnlockTransferRate.l
EndStructure
Structure DSBPOSITIONNOTIFY
hEventNotify.l
lOffset.l
EndStructure
Structure DSBUFFERDESC
lBufferBytes.l
lFlags.l
EndStructure
Structure DSCAPS
lFlags.l
lFreeHw3DAllBuffers.l
lFreeHw3DStaticBuffers.l
lFreeHw3DStreamingBuffers.l
lFreeHwMemBytes.l
lFreeHwMixingAllBuffers.l
lFreeHwMixingStaticBuffers.l
lFreeHwMixingStreamingBuffers.l
lMaxContigFreeHwMemBytes.l
lMaxHw3DAllBuffers.l
lMaxHw3DStaticBuffers.l
lMaxHw3DStreamingBuffers.l
lMaxHwMixingAllBuffers.l
lMaxHwMixingStaticBuffers.l
lMaxHwMixingStreamingBuffers.l
lMaxSecondarySampleRate.l
lMinSecondarySampleRate.l
lPlayCpuOverheadSwBuffers.l
lPrimaryBuffers.l
lReserved1.l
lReserved2.l
lTotalHwMemBytes.l
lUnlockTransferRateHwBuffers.l
EndStructure
Structure DSCBCAPS
lBufferBytes.l
lFlags.l
lReserved.l
EndStructure
Structure DSCBUFFERDESC
fxFormat.WAVEFORMATEX
lBufferBytes.l
lFlags.l
EndStructure
Structure DSCCAPS
lChannels.l
lFlags.l
lFormats.l
EndStructure
Structure DSCURSORS
lPlay.l
lWrite.l
EndStructure
Structure DXDRIVERINFO
strDescription.s
strGuid.s
strName.s
EndStructure
#DS3D_DEFERRED = 1
#DS3D_IMMEDIATE = 0
#DS3DMODE_DISABLE = 2
#DS3DMODE_HEADRELATIVE = 1
#DS3DMODE_NORMAL = 0
#DSBCAPS_CTRL3D = 16
#DSBCAPS_CTRLFREQUENCY = 32
#DSBCAPS_CTRLPAN = 64
#DSBCAPS_CTRLPOSITIONNOTIFY = 256
#DSBCAPS_CTRLVOLUME = 128
#DSBCAPS_GETCURRENTPOSITION2 = 65536
#DSBCAPS_GLOBALFOCUS = 32768
#DSBCAPS_LOCHARDWARE = 4
#DSBCAPS_LOCSOFTWARE = 8
#DSBCAPS_MUTE3DATMAXDISTANCE = 131072
#DSBCAPS_PRIMARYBUFFER = 1
#DSBCAPS_STATIC = 2
#DSBCAPS_STICKYFOCUS = 16384
#DSBLOCK_DEFAULT = 0
#DSBLOCK_ENTIREBUFFER = 2
#DSBLOCK_FROMWRITECURSOR = 1
#DSBPLAY_DEFAULT = 0
#DSBPLAY_LOOPING = 1
#DSBSTATUS_BUFFERLOST = 2
#DSBSTATUS_LOOPING = 4
#DSBSTATUS_PLAYING = 1
#DSCAPS_CERTIFIED = 64
#DSCAPS_CONTINUOUSRATE = 16
#DSCAPS_EMULDRIVER = 32
#DSCAPS_PRIMARY16BIT = 8
#DSCAPS_PRIMARY8BIT = 4
#DSCAPS_PRIMARYMONO = 1
#DSCAPS_PRIMARYSTEREO = 2
#DSCAPS_SECONDARY16BIT = 2048
#DSCAPS_SECONDARY8BIT = 1024
#DSCAPS_SECONDARYMONO = 256
#DSCAPS_SECONDARYSTEREO = 512
#DSCBCAPS_DEFAULT = 0
#DSCBCAPS_WAVEMAPPED = -2147483648
#DSCBLOCK_DEFAULT = 0
#DSCBLOCK_ENTIREBUFFER = 1
#DSCBSTART_DEFAULT = 0
#DSCBSTART_LOOPING = 1
#DSCBSTATUS_CAPTURING = 1
#DSCBSTATUS_LOOPING = 2
#DSCCAPS_DEFAULT = 0
#DSCCAPS_EMULDRIVER = 32
#DS3D_DEFAULTCONEANGLE = 360
#DS3D_DEFAULTCONEOUTSIDEVOLUME = 0
#DS3D_DEFAULTDISTANCEFACTOR = 1
#DS3D_DEFAULTDOPPLERFACTOR = 1
#DS3D_DEFAULTMAXDISTANCE = 1000000000
#DS3D_DEFAULTMINDISTANCE = 1
#DS3D_DEFAULTROLLOFFFACTOR = 1
#DS3D_MAXCONEANGLE = 360
#DS3D_MAXDISTANCEFACTOR = 10
#DS3D_MAXDOPPLERFACTOR = 10
#DS3D_MAXROLLOFFFACTOR = 10
#DS3D_MINCONEANGLE = 0
#DS3D_MINDISTANCEFACTOR = 0
#DS3D_MINDOPPLERFACTOR = 0
#DS3D_MINROLLOFFFACTOR = 0
#DSBFREQUENCY_MAX = 100000
#DSBFREQUENCY_MIN = 100
#DSBFREQUENCY_ORIGINAL = 0
#DSBPAN_CENTER = 0
#DSBPAN_LEFT = -10000
#DSBPAN_RIGHT = 10000
#DSBPN_OFFSETSTOP = -1
#DSBSIZE_MAX = 268435455
#DSBSIZE_MIN = 4
#DSBVOLUME_MAX = 0
#DSBVOLUME_MIN = -10000
#WAVE_FORMAT_PCM = 1
#DSSCL_EXCLUSIVE = 3
#DSSCL_NORMAL = 1
#DSSCL_PRIORITY = 2
#DSSCL_WRITEPRIMARY = 4
#DSSPEAKER_GEOMETRY_MAX = 180
#DSSPEAKER_GEOMETRY_MIN = 5
#DSSPEAKER_GEOMETRY_NARROW = 10
#DSSPEAKER_GEOMETRY_WIDE = 20
#DSSPEAKER_HEADPHONE = 1
#DSSPEAKER_MONO = 2
#DSSPEAKER_QUAD = 3
#DSSPEAKER_STEREO = 4
#DSSPEAKER_SURROUND = 5
#WAVE_FORMAT_1M08 = 1; 11.025 kHz, mono, 8-bit
#WAVE_FORMAT_1M16 = 4; 11.025 kHz, mono, 16-bit
#WAVE_FORMAT_1S08 = 2; 11.025 kHz, stereo, 8-bit
#WAVE_FORMAT_1S16 = 8; 11.025 kHz, stereo, 16-bit
#WAVE_FORMAT_2M08 = 16 ; 22.05 kHz, mono, 8-bit
#WAVE_FORMAT_2M16 = 64 ; 22.05 kHz, mono, 16-bit
#WAVE_FORMAT_2S08 = 32 ; 22.05 kHz, stereo, 8-bit
#WAVE_FORMAT_2S16 = 128 ; 22.05 kHz, stereo, 16-bit
#WAVE_FORMAT_4M08 = 256 ; 44.1 kHz, mono, 8-bit
#WAVE_FORMAT_4M16 = 1024 ; 44.1 kHz, mono, 16-bit
#WAVE_FORMAT_4S08 = 512 ; 44.1 kHz, stereo, 8-bit
#WAVE_FORMAT_4S16 = 2048 ; 44.1 kHz, stereo, 16-bit