Example ----------------------------------------------------------------------------------------------
void WINAPI BASS_RecordGetInfo(
    BASS_RECORDINFO *info
);

typedef struct {
    DWORD size;
    DWORD flags;
    DWORD formats;
    DWORD inputs;
    BOOL singlein;
} BASS_RECORDINFO;

BASS_RecordGetInfo(info*) : "BASS_RecordGetInfo"

:: BASS_RECORDINFO - Banksize = 17 Byte :::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
size                   0000     DWORD   Integer   4 Byte
flags                  0004     DWORD   Integer   4 Byte
formats                0008     DWORD   Integer   4 Byte
inputs                 0012     DWORD   Integer   4 Byte
singlein               0016     BOOL    Byte      1 Byte

Used in: BASS_RecordGetInfo;
---------------------------------------------------------

Include "bass.bb"
BASS_RecordInit(-1)

BASS_RECORDINFO = CreateBank(17)
PokeInt BASS_RECORDINFO,00,17         ; BASS_RECORDINFO.size
BASS_RecordGetInfo(BASS_RECORDINFO)

Flags = PeekInt(BASS_RECORDINFO,04)   ; BASS_RECORDINFO.flags
If Flags And DSCCAPS_EMULDRIVER Then
	Print "The device's drivers do NOT have DirectSound"
	Print "recording support, so it is being emulated."
EndIf
If Flags And DSCCAPS_CERTIFIED Then
	Print "The device driver has been certified by Microsoft."
EndIf

Formats = PeekInt(BASS_RECORDINFO,08) ; BASS:RECORDINFO.formats
If Formats And WAVE_FORMAT_1M08 Then Print "11025hz, Mono,   8-bit"
If Formats And WAVE_FORMAT_1S08 Then Print "11025hz, Stereo, 8-bit "
If Formats And WAVE_FORMAT_1M16 Then Print "11025hz, Mono,   16-bit "
If Formats And WAVE_FORMAT_1S16 Then Print "11025hz, Stereo, 16-bit "
If Formats And WAVE_FORMAT_2M08 Then Print "22050hz, Mono,   8-bit "
If Formats And WAVE_FORMAT_2S08 Then Print "22050hz, Stereo, 8-bit "
If Formats And WAVE_FORMAT_2M16 Then Print "22050hz, Mono,   16-bit "
If Formats And WAVE_FORMAT_2S16 Then Print "22050hz, Stereo, 16-bit "
If Formats And WAVE_FORMAT_3M08 Then Print "44100hz, Mono,   8-bit "
If Formats And WAVE_FORMAT_3S08 Then Print "44100hz, Stereo, 16-bit "
If Formats And WAVE_FORMAT_3M16 Then Print "44100hz, Mono,   8-bit "
If Formats And WAVE_FORMAT_3S16 Then Print "44100hz, Stereo, 16-bit "

Inputs = PeekInt(BASS_RECORDINFO,12) ; BASS_RECORDINFO.inputs
Print "number of input sources: " + Inputs

Singlein = PeekByte(BASS_RECORDINFO,16)
If Singlein Then
	Print "Only one input may be active at a time."
Else
	Print "More than one input may be active at a time."
EndIf 

WaitKey
FreeBank BASS_RECORDINFO
BASS_RecordFree
----------------------------------------------------------------------------------------------


:: BASS_INFO - Banksize = 49 Byte :::::::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
size                   0000     DWORD   Integer   4 Byte
flags                  0004     DWORD   Integer   4 Byte
hwsize                 0008     DWORD   Integer   4 Byte
hwfree                 0012     DWORD   Integer   4 Byte
freesam                0016     DWORD   Integer   4 Byte
free3d                 0020     DWORD   Integer   4 Byte
minarte                0024     DWORD   Integer   4 Byte
maxrate                0028     DWORD   Integer   4 Byte
eax                    0032     BOOL    Byte      1 Byte
minbuf                 0033     DWORD   Integer   4 Byte
dsver                  0037     DWORD   Integer   4 Byte
latency                0041     DWORD   Integer   4 Byte
initflags              0045     DWORD   Integer   4 Byte

Used in: BASS_GetInfo;
---------------------------------------------------------


:: BASS_3DVECTOR - Banksize = 12 Byte :::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
x                      0000     Float   Float     4 Byte
y                      0004     Float   Float     4 Byte
z                      0008     Float   FLoat     4 Byte

Used in: BASS_Get3DPosition; BASS_Set3DPosition;
         BASS_SamplePlay3D; BASS_SamplePlay3DEx;
         BASS_ChannelGet3DPosition;
         BASS_ChannelSet3DPosition;
---------------------------------------------------------


:: BASS_SAMPLE - Banksize = 54 Byte :::::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
freq                   0000     DWORD   Integer   4 Byte
volume                 0004     DWORD   Integer   4 Byte
pan                    0008     int     Short     2 Byte
flags                  0010     DWORD   Integer   4 Byte
length                 0014     DWORD   Integer   4 Byte
max                    0018     DWORD   Integer   4 Byte
mode3d                 0022     DWORD   Integer   4 Byte
mindist                0026     Float   Float     4 Byte
maxdist                0030     Float   Float     4 Byte
iangle                 0034     DWORD   Integer   4 Byte
oangle                 0038     DWORD   Integer   4 Byte
outvol                 0042     DWORD   Integer   4 Byte
vam                    0046     DWORD   Integer   4 Byte
priority               0050     DWORD   Integer   4 Byte

Used in: BASS_SampleGetInfo; BASS_SampleSetInfo;
---------------------------------------------------------


:: BASS_RECORDINFO - Banksize = 17 Byte :::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
size                   0000     DWORD   Integer   4 Byte
flags                  0004     DWORD   Integer   4 Byte
formats                0008     DWORD   Integer   4 Byte
inputs                 0012     DWORD   Integer   4 Byte
singlein               0016     BOOL    Byte      1 Byte

Used in: BASS_RecordGetInfo;
---------------------------------------------------------


:: BASS_FXCHORUS - Banksize = 28 Byte :::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fWetDryMix             0000     Float   Float     4 Byte
fDepth                 0004     Float   Float     4 Byte
fFeedback              0008     Float   Float     4 Byte
fFrequency             0012     Float   Float     4 Byte
lWaveform              0016     DWORD   Integer   4 Byte
fDelay                 0020     Float   Float     4 Byte
lPhase                 0024     DWORD   Integer   4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXCOMPRESSOR - Banksize = 24 Byte :::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fGain                  0000     Float   Float     4 Byte
fAttack                0004     Float   Float     4 Byte
fRelease               0008     Float   Float     4 Byte
fThreshold             0012     Float   Float     4 Byte
fRatio                 0016     Float   Float     4 Byte
fPredelay              0020     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXDISTORTION - Banksize = 20 Byte :::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fGain                  0000     Float   Float     4 Byte
fEdge                  0004     Float   Float     4 Byte
fPostEQCenterFrequency 0008     Float   Float     4 Byte
fPostEQBandwidth       0012     Float   Float     4 Byte
fPreLowpassCutoff      0016     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXECHO - Banksize = 17 Byte :::::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fWetDryMix             0000     Float   Float     4 Byte
fFeedback              0004     Float   Float     4 Byte
fLeftDelay             0008     Float   Float     4 Byte
fRightDelay            0012     Float   Float     4 Byte
lPanDelay              0016     Byte    Byte      1 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXFLANGER - Banksize = 28 Byte ::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fWetDryMix             0000     Float   Float     4 Byte
fDepth                 0004     Float   Float     4 Byte
fFeedback              0008     Float   Float     4 Byte
lWaveform              0012     DWORD   Integer   4 Byte
fDelay                 0016     Float   Float     4 Byte
lPhase                 0016     DWORD   Integer   4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXGARGLE - Banksize = 8 Byte ::::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
dwRateHz               0000     DWORD   Integer   4 Byte
dwWaveShape            0004     DWORD   Integer   4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXI3DL2REVERB - Banksize = 40 Byte ::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lRoom                  0000     int     Short     2 Byte
lRoomHF                0002     int     Short     2 Byte
flRoomRolloffFactor    0004     Float   Float     4 Byte
flDecayTime            0008     Float   Float     4 Byte
flDecayHFRatio         0012     Float   Float     4 Byte
lReflections           0016     int     Short     2 Byte
flReflectionsDelay     0018     Float   Float     4 Byte
lReverb                0022     int     Short     2 Byte
flReverbDelay          0024     Float   Float     4 Byte
flDiffusion            0028     Float   Float     4 Byte
flDensity              0032     Float   Float     4 Byte
flHFReference          0036     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXI3DL2REVERB - Banksize = 40 Byte ::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lRoom                  0000     int     Short     2 Byte
lRoomHF                0002     int     Short     2 Byte
flRoomRolloffFactor    0004     Float   Float     4 Byte
flDecayTime            0008     Float   Float     4 Byte
flDecayHFRatio         0012     Float   Float     4 Byte
lReflections           0016     int     Short     2 Byte
flReflectionsDelay     0018     Float   Float     4 Byte
lReverb                0022     int     Short     2 Byte
flReverbDelay          0024     Float   Float     4 Byte
flDiffusion            0028     Float   Float     4 Byte
flDensity              0032     Float   Float     4 Byte
flHFReference          0036     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXPARAMEQ - Banksize = 12 Byte ::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fCenter                0000     Float   Float     4 Byte
fBandwidth             0004     Float   Float     4 Byte
fGain                  0008     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_FXREVERB - Banksize = 16 Byte :::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fInGain                0000     Float   Float     4 Byte
fReverbMix             0004     Float   Float     4 Byte
fReverbTime            0008     Float   Float     4 Byte
fHighFreqRTRatio       0012     Float   Float     4 Byte

Used in: BASS_FXGetParameters; BASS_FXSetParameters;
---------------------------------------------------------


:: BASS_CD_INFO - Banksize = 18 Byte ::::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
size                   0000     DWORD   Integer   4 Byte
rwflags                0004     DWORD   Integer   4 Byte
canopen                0008     Byte    Byte      1 Byte
canlock                0009     Byte    Byte      1 Byte
maxspeed               0010     DWORD   Integer   4 Byte
cache                  0014     DWORD   Integer   4 Byte

Used in: BASS_CD_GetInfo;
---------------------------------------------------------


:: BASS_FX_DSPFLANGER - Banksize = 8 Byte :::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fWetDry                0000     Float   Float     4 Byte
fSpeed                 0004     Float   Float     4 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPECHO - Banksize = 6 Byte ::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fLevel                 0000     Float   Float     4 Byte
lDelay                 0004     int     Short     2 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPREVERB - Banksize = 6 Byte ::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fLevel                 0000     Float   Float     4 Byte
lDelay                 0004     int     Short     2 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPVOLUME - Banksize = 8 Byte ::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fLeft                  0000     Float   Float     4 Byte
fRight                 0004     Float   Float     4 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPPEAKEQ - Banksize = 18 Byte :::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lBand                  0000     int     Short     2 Byte
lFreq                  0002     int     Short     2 Byte
fBandwidth             0004     Float   Float     4 Byte
fQ                     0008     Float   Float     4 Byte
fCenter                0012     Float   Float     4 Byte
fGain                  0016     Float   Float     4 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPLPF - Banksize = 10 Byte ::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lFreq                  0000     int     Short     2 Byte
fResonance             0002     Float   Float     4 Byte
fCutOffFreq            0006     Float   Float     4 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPCUT - Banksize = 8 Byte :::::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lCutsPerBeat           0000     int     Short     2 Byte
fBPM                   0002     Float   Float     4 Byte
lFreq                  0006     int     Short     2 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPFLANGER2 - Banksize = 14 Byte :::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
fDelay                 0000     Float   Float     4 Byte
lFreq                  0004     int     Short     2 Byte
fBPM                   0006     Float   Float     4 Byte
fWetDry                0010     Float   Float     4 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPDAMP - Banksize = 14 Byte :::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
lTarget                0000     int     Short     2 Byte
lQuiet                 0002     int     Short     2 Byte
fRate                  0004     Float   Float     4 Byte
fGain                  0008     Float   Float     4 Byte
lDelay                 0012     int     Short     2 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPAUTOWAH - Banksize = 48 Byte ::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
dDryMix                0000     double  -         8 Byte
dWetMix                0008     double  -         8 Byte
dFeedback              0016     double  -         8 Byte
dRate                  0024     double  -         8 Byte
dRange                 0032     double  -         8 Byte
dFreq                  0040     double  -         8 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPECHO2 - Banksize = 32 Byte ::::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
dDryMix                0000     double  -         8 Byte
dWetMix                0008     double  -         8 Byte
dFeedback              0016     double  -         8 Byte
dDelay                 0024     double  -         8 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------


:: BASS_FX_DSPECHO21 - Banksize = 32 Byte :::::::::::::::

Parameter:             Offset:  C-Type: Blitztyp: Size:
dDryMix                0000     double  -         8 Byte
dWetMix                0008     double  -         8 Byte
dDelay                 0016     double  -         8 Byte

Used in: BASS_FX_DSP_Set; BASS_FX_DSP_Remove;
         BASS_FX_DSP_SetParameters; 
         BASS_FX_DSP_GetParameters; BASS_FX_DSP_Reset;
---------------------------------------------------------