My DirectSound.pbi

Share your advanced PureBasic knowledge/code with the community.
User avatar
Hroudtwolf
Addict
Addict
Posts: 803
Joined: Sat Feb 12, 2005 3:35 am
Location: Germany(Hessen)
Contact:

My DirectSound.pbi

Post 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