Page 1 of 1

My DirectSound.pbi

Posted: Wed Mar 29, 2006 10:45 pm
by Hroudtwolf
For my DirectSound practice, I needed some structures and constants.
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