BASS_SetConfig: function(option, value: DWORD): BOOL; stdcall; 
BASS_GetConfig: function(option: DWORD): DWORD; stdcall; 
BASS_SetConfigPtr: function(option: DWORD; value: Pointer): BOOL; stdcall; 
BASS_GetConfigPtr: function(option: DWORD): Pointer; stdcall; 
BASS_GetVersion: function: DWORD; stdcall; 
BASS_ErrorGetCode: function: Integer; stdcall; 
BASS_GetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall; 
BASS_Init: function(device: Integer; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; stdcall; 
BASS_SetDevice: function(device: DWORD): BOOL; stdcall; 
BASS_GetDevice: function: DWORD; stdcall; 
BASS_Free: function: BOOL; stdcall; 
BASS_GetDSoundObject: function(obj: DWORD): Pointer; stdcall; 
BASS_GetInfo: function(var info: BASS_INFO): BOOL; stdcall; 
BASS_Update: function(length: DWORD): BOOL; stdcall; 
BASS_GetCPU: function: FLOAT; stdcall; 
BASS_Start: function: BOOL; stdcall; 
BASS_Stop: function: BOOL; stdcall; 
BASS_Pause: function: BOOL; stdcall; 
BASS_SetVolume: function(volume: FLOAT): BOOL; stdcall; 
BASS_GetVolume: function: FLOAT; stdcall; 

BASS_PluginLoad: function(filename: PChar; flags: DWORD): HPLUGIN; stdcall; 
BASS_PluginFree: function(handle: HPLUGIN): BOOL; stdcall; 
BASS_PluginGetInfo: function(handle: HPLUGIN): PBASS_PLUGININFO; stdcall; 

BASS_Set3DFactors: function(distf, rollf, doppf: FLOAT): BOOL; stdcall; 
BASS_Get3DFactors: function(var distf, rollf, doppf: FLOAT): BOOL; stdcall; 
BASS_Set3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall; 
BASS_Get3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall; 
BASS_Apply3D: procedure; stdcall; 
BASS_SetEAXParameters: function(env: Integer; vol, decay, damp: FLOAT): BOOL; stdcall; 
BASS_GetEAXParameters: function(var env: DWORD; var vol, decay, damp: FLOAT): BOOL; stdcall; 

BASS_MusicLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; stdcall; 
BASS_MusicFree: function(handle: HMUSIC): BOOL; stdcall; 

BASS_SampleLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; stdcall; 
BASS_SampleCreate: function(length, freq, chans, max, flags: DWORD): HSAMPLE; stdcall; 
BASS_SampleFree: function(handle: HSAMPLE): BOOL; stdcall; 
BASS_SampleSetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall; 
BASS_SampleGetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall; 
BASS_SampleGetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall; 
BASS_SampleSetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall; 
BASS_SampleGetChannel: function(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; stdcall; 
BASS_SampleGetChannels: function(handle: HSAMPLE; channels: Pointer): DWORD; stdcall; 
BASS_SampleStop: function(handle: HSAMPLE): BOOL; stdcall; 

BASS_StreamCreate: function(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; stdcall; 
BASS_StreamCreateFile: function(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; stdcall; 
BASS_StreamCreateURL: function(url: PChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; stdcall; 
BASS_StreamCreateFileUser: function(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; stdcall; 
BASS_StreamFree: function(handle: HSTREAM): BOOL; stdcall; 
BASS_StreamGetFilePosition: function(handle: HSTREAM; mode: DWORD): QWORD; stdcall; 
BASS_StreamPutData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall; 
BASS_StreamPutFileData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall; 

BASS_RecordGetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall; 
BASS_RecordInit: function(device: Integer):BOOL; stdcall; 
BASS_RecordSetDevice: function(device: DWORD): BOOL; stdcall; 
BASS_RecordGetDevice: function: DWORD; stdcall; 
BASS_RecordFree: function: BOOL; stdcall; 
BASS_RecordGetInfo: function(var info: BASS_RECORDINFO): BOOL; stdcall; 
BASS_RecordGetInputName: function(input: Integer): PChar; stdcall; 
BASS_RecordSetInput: function(input: Integer; flags: DWORD; volume: FLOAT): BOOL; stdcall; 
BASS_RecordGetInput: function(input: Integer; var volume: FLOAT): DWORD; stdcall; 
BASS_RecordStart: function(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; stdcall; 

BASS_ChannelBytes2Seconds: function(handle: DWORD; pos: QWORD): Double; stdcall;
BASS_ChannelSeconds2Bytes: function(handle: DWORD; pos: Double): QWORD; stdcall;
BASS_ChannelGetDevice: function(handle: DWORD): DWORD; stdcall; 
BASS_ChannelSetDevice: function(handle, device: DWORD): BOOL; stdcall; 
BASS_ChannelIsActive: function(handle: DWORD): DWORD; stdcall;
BASS_ChannelGetInfo: function(handle: DWORD; var info: BASS_CHANNELINFO):BOOL;stdcall;
BASS_ChannelGetTags: function(handle: HSTREAM; tags: DWORD): PChar; stdcall; 
BASS_ChannelFlags: function(handle, flags, mask: DWORD): DWORD; stdcall; 
BASS_ChannelUpdate: function(handle, length: DWORD): BOOL; stdcall; 
BASS_ChannelLock: function(handle: DWORD; lock: BOOL): BOOL; stdcall; 
BASS_ChannelPlay: function(handle: DWORD; restart: BOOL): BOOL; stdcall; 
BASS_ChannelStop: function(handle: DWORD): BOOL; stdcall; 
BASS_ChannelPause: function(handle: DWORD): BOOL; stdcall; 
BASS_ChannelSetAttribute: function(handle, attrib: DWORD; value: FLOAT): BOOL; stdcall; 
BASS_ChannelGetAttribute: function(handle, attrib: DWORD; var value: FLOAT): BOOL; stdcall; 
BASS_ChannelSlideAttribute: function(handle, attrib: DWORD; value: FLOAT; time: DWORD): BOOL; stdcall; 
BASS_ChannelIsSliding: function(handle, attrib: DWORD): BOOL; stdcall;
BASS_ChannelSet3DAttributes: function(handle: DWORD; mode: Integer; min, max: FLOAT; iangle, oangle, outvol: Integer): BOOL; stdcall; 
BASS_ChannelGet3DAttributes: function(handle: DWORD; var mode: DWORD; var min, max: FLOAT; var iangle, oangle, outvol: DWORD): BOOL; stdcall; 
BASS_ChannelSet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall; 
BASS_ChannelGet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall; 
BASS_ChannelGetLength: function(handle, mode: DWORD): QWORD; stdcall; 
BASS_ChannelSetPosition: function(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; stdcall; 
BASS_ChannelGetPosition: function(handle, mode: DWORD): QWORD; stdcall; 
BASS_ChannelGetLevel: function(handle: DWORD): DWORD; stdcall; 
BASS_ChannelGetData: function(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; stdcall; 
BASS_ChannelSetSync: function(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; stdcall; 
BASS_ChannelRemoveSync: function(handle: DWORD; sync: HSYNC): BOOL; stdcall; 
BASS_ChannelSetDSP: function(handle: DWORD; proc: DSPPROC; user: Pointer; priority: Integer): HDSP; stdcall; 
BASS_ChannelRemoveDSP: function(handle: DWORD; dsp: HDSP): BOOL; stdcall; 
BASS_ChannelSetLink: function(handle, chan: DWORD): BOOL; stdcall; 
BASS_ChannelRemoveLink: function(handle, chan: DWORD): BOOL; stdcall; 
BASS_ChannelSetFX: function(handle, type_: DWORD; priority: Integer): HFX; stdcall; 
BASS_ChannelRemoveFX: function(handle: DWORD; fx: HFX): BOOL; stdcall; 

BASS_FXSetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall; 
BASS_FXGetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall; 
BASS_FXReset: function(handle: HFX): BOOL; stdcall; 
