Home

Add

Edit

Without Linenumbers

Code in Textfield

Download

  1. ''
    
  2. ''
    
  3. '' bass -- BASS 2.0 Multimedia Library
    
  4. ''         (header translated with help of SWIG FB wrapper)
    
  5. ''
    
  6. '' NOTICE: This file is part of the FreeBASIC Compiler package and can't
    
  7. ''         be included in other distributions without authorization.
    
  8. ''
    
  9. ''
    
  10. #IFNDEF __bass_bi__
    
  11. #DEFINE __bass_bi__
    
  12. 
    
  13. #INCLIB "bass"
    
  14. 
    
  15. #IFDEF __FB_WIN32__
    
  16. # Include Once "win/wtypes.bi"
    
  17. #ELSE
    
  18. Type WORD As Ushort
    
  19. Type DWORD As Uinteger
    
  20. Type BOOL As Integer
    
  21. # Define TRUE 1
    
  22. # Define FALSE 0
    
  23. #DEFINE MAKELONG(a,b) Cint( Cushort(a) Or (Cuint(Cushort(b)) Shl 16) )
    
  24. #ENDIF '' __FB_WIN32__
    
  25. 
    
  26. Type QWORD As ulongint
    
  27. 
    
  28. Type HMUSIC As DWORD
    
  29. Type HSAMPLE As DWORD
    
  30. Type HCHANNEL As DWORD
    
  31. Type HSTREAM As DWORD
    
  32. Type HRECORD As DWORD
    
  33. Type HSYNC As DWORD
    
  34. Type HDSP As DWORD
    
  35. Type HFX As DWORD
    
  36. Type HPLUGIN As DWORD
    
  37. 
    
  38. #DEFINE BASS_OK 0
    
  39. #DEFINE BASS_ERROR_MEM 1
    
  40. #DEFINE BASS_ERROR_FILEOPEN 2
    
  41. #DEFINE BASS_ERROR_DRIVER 3
    
  42. #DEFINE BASS_ERROR_BUFLOST 4
    
  43. #DEFINE BASS_ERROR_HANDLE 5
    
  44. #DEFINE BASS_ERROR_FORMAT 6
    
  45. #DEFINE BASS_ERROR_POSITION 7
    
  46. #DEFINE BASS_ERROR_INIT 8
    
  47. #DEFINE BASS_ERROR_START 9
    
  48. #DEFINE BASS_ERROR_ALREADY 14
    
  49. #DEFINE BASS_ERROR_NOPAUSE 16
    
  50. #DEFINE BASS_ERROR_NOCHAN 18
    
  51. #DEFINE BASS_ERROR_ILLTYPE 19
    
  52. #DEFINE BASS_ERROR_ILLPARAM 20
    
  53. #DEFINE BASS_ERROR_NO3D 21
    
  54. #DEFINE BASS_ERROR_NOEAX 22
    
  55. #DEFINE BASS_ERROR_DEVICE 23
    
  56. #DEFINE BASS_ERROR_NOPLAY 24
    
  57. #DEFINE BASS_ERROR_FREQ 25
    
  58. #DEFINE BASS_ERROR_NOTFILE 27
    
  59. #DEFINE BASS_ERROR_NOHW 29
    
  60. #DEFINE BASS_ERROR_EMPTY 31
    
  61. #DEFINE BASS_ERROR_NONET 32
    
  62. #DEFINE BASS_ERROR_CREATE 33
    
  63. #DEFINE BASS_ERROR_NOFX 34
    
  64. #DEFINE BASS_ERROR_PLAYING 35
    
  65. #DEFINE BASS_ERROR_NOTAVAIL 37
    
  66. #DEFINE BASS_ERROR_DECODE 38
    
  67. #DEFINE BASS_ERROR_DX 39
    
  68. #DEFINE BASS_ERROR_TIMEOUT 40
    
  69. #DEFINE BASS_ERROR_FILEFORM 41
    
  70. #DEFINE BASS_ERROR_SPEAKER 42
    
  71. #DEFINE BASS_ERROR_UNKNOWN -1
    
  72. #DEFINE BASS_DEVICE_8BITS 1
    
  73. #DEFINE BASS_DEVICE_MONO 2
    
  74. #DEFINE BASS_DEVICE_3D 4
    
  75. #DEFINE BASS_DEVICE_LATENCY 256
    
  76. #DEFINE BASS_DEVICE_SPEAKERS 2048
    
  77. #DEFINE BASS_OBJECT_DS 1
    
  78. #DEFINE BASS_OBJECT_DS3DL 2
    
  79. 
    
  80. Type BASS_INFO
    
  81.     flags As DWORD
    
  82.     hwsize As DWORD
    
  83.     hwfree As DWORD
    
  84.     freesam As DWORD
    
  85.     free3d As DWORD
    
  86.     minrate As DWORD
    
  87.     maxrate As DWORD
    
  88.     eax As BOOL
    
  89.     minbuf As DWORD
    
  90.     dsver As DWORD
    
  91.     latency As DWORD
    
  92.     initflags As DWORD
    
  93.     speakers As DWORD
    
  94.     driver As Zstring Ptr
    
  95. End Type
    
  96. 
    
  97. #DEFINE DSCAPS_CONTINUOUSRATE &h00000010
    
  98. #DEFINE DSCAPS_EMULDRIVER &h00000020
    
  99. #DEFINE DSCAPS_CERTIFIED &h00000040
    
  100. #DEFINE DSCAPS_SECONDARYMONO &h00000100
    
  101. #DEFINE DSCAPS_SECONDARYSTEREO &h00000200
    
  102. #DEFINE DSCAPS_SECONDARY8BIT &h00000400
    
  103. #DEFINE DSCAPS_SECONDARY16BIT &h00000800
    
  104. 
    
  105. Type BASS_RECORDINFO
    
  106.     flags As DWORD
    
  107.     formats As DWORD
    
  108.     inputs As DWORD
    
  109.     singlein As BOOL
    
  110.     driver As Zstring Ptr
    
  111. End Type
    
  112. 
    
  113. #DEFINE DSCCAPS_EMULDRIVER &h00000020
    
  114. #DEFINE DSCCAPS_CERTIFIED &h00000040
    
  115. #DEFINE WAVE_FORMAT_1M08 &h00000001
    
  116. #DEFINE WAVE_FORMAT_1S08 &h00000002
    
  117. #DEFINE WAVE_FORMAT_1M16 &h00000004
    
  118. #DEFINE WAVE_FORMAT_1S16 &h00000008
    
  119. #DEFINE WAVE_FORMAT_2M08 &h00000010
    
  120. #DEFINE WAVE_FORMAT_2S08 &h00000020
    
  121. #DEFINE WAVE_FORMAT_2M16 &h00000040
    
  122. #DEFINE WAVE_FORMAT_2S16 &h00000080
    
  123. #DEFINE WAVE_FORMAT_4M08 &h00000100
    
  124. #DEFINE WAVE_FORMAT_4S08 &h00000200
    
  125. #DEFINE WAVE_FORMAT_4M16 &h00000400
    
  126. #DEFINE WAVE_FORMAT_4S16 &h00000800
    
  127. 
    
  128. Type BASS_SAMPLE
    
  129.     freq As DWORD
    
  130.     volume As DWORD
    
  131.     pan As Integer
    
  132.     flags As DWORD
    
  133.     length As DWORD
    
  134.     max_ As DWORD
    
  135.     origres As DWORD
    
  136.     chans As DWORD
    
  137.     mode3d As DWORD
    
  138.     mindist As Single
    
  139.     maxdist As Single
    
  140.     iangle As DWORD
    
  141.     oangle As DWORD
    
  142.     outvol As DWORD
    
  143.     vam As DWORD
    
  144.     priority As DWORD
    
  145. End Type
    
  146. 
    
  147. #DEFINE BASS_SAMPLE_8BITS 1
    
  148. #DEFINE BASS_SAMPLE_FLOAT 256
    
  149. #DEFINE BASS_SAMPLE_MONO 2
    
  150. #DEFINE BASS_SAMPLE_LOOP 4
    
  151. #DEFINE BASS_SAMPLE_3D 8
    
  152. #DEFINE BASS_SAMPLE_SOFTWARE 16
    
  153. #DEFINE BASS_SAMPLE_MUTEMAX 32
    
  154. #DEFINE BASS_SAMPLE_VAM 64
    
  155. #DEFINE BASS_SAMPLE_FX 128
    
  156. #DEFINE BASS_SAMPLE_OVER_VOL &h10000
    
  157. #DEFINE BASS_SAMPLE_OVER_POS &h20000
    
  158. #DEFINE BASS_SAMPLE_OVER_DIST &h30000
    
  159. #DEFINE BASS_STREAM_PRESCAN &h20000
    
  160. #DEFINE BASS_MP3_SETPOS &h20000
    
  161. #DEFINE BASS_STREAM_AUTOFREE &h40000
    
  162. #DEFINE BASS_STREAM_RESTRATE &h80000
    
  163. #DEFINE BASS_STREAM_BLOCK &h100000
    
  164. #DEFINE BASS_STREAM_DECODE &h200000
    
  165. #DEFINE BASS_STREAM_STATUS &h800000
    
  166. #DEFINE BASS_MUSIC_FLOAT 256
    
  167. #DEFINE BASS_MUSIC_MONO 2
    
  168. #DEFINE BASS_MUSIC_LOOP 4
    
  169. #DEFINE BASS_MUSIC_3D 8
    
  170. #DEFINE BASS_MUSIC_FX 128
    
  171. #DEFINE BASS_MUSIC_AUTOFREE &h40000
    
  172. #DEFINE BASS_MUSIC_DECODE &h200000
    
  173. #DEFINE BASS_MUSIC_PRESCAN &h20000
    
  174. #DEFINE BASS_MUSIC_CALCLEN &h20000
    
  175. #DEFINE BASS_MUSIC_RAMP &h200
    
  176. #DEFINE BASS_MUSIC_RAMPS &h400
    
  177. #DEFINE BASS_MUSIC_SURROUND &h800
    
  178. #DEFINE BASS_MUSIC_SURROUND2 &h1000
    
  179. #DEFINE BASS_MUSIC_FT2MOD &h2000
    
  180. #DEFINE BASS_MUSIC_PT1MOD &h4000
    
  181. #DEFINE BASS_MUSIC_NONINTER &h10000
    
  182. #DEFINE BASS_MUSIC_POSRESET &h8000
    
  183. #DEFINE BASS_MUSIC_POSRESETEX &h400000
    
  184. #DEFINE BASS_MUSIC_STOPBACK &h80000
    
  185. #DEFINE BASS_MUSIC_NOSAMPLE &h100000
    
  186. #DEFINE BASS_SPEAKER_FRONT &h1000000
    
  187. #DEFINE BASS_SPEAKER_REAR &h2000000
    
  188. #DEFINE BASS_SPEAKER_CENLFE &h3000000
    
  189. #DEFINE BASS_SPEAKER_REAR2 &h4000000
    
  190. #DEFINE BASS_SPEAKER_LEFT &h10000000
    
  191. #DEFINE BASS_SPEAKER_RIGHT &h20000000
    
  192. #DEFINE BASS_SPEAKER_FRONTLEFT &h1000000 Or &h10000000
    
  193. #DEFINE BASS_SPEAKER_FRONTRIGHT &h1000000 Or &h20000000
    
  194. #DEFINE BASS_SPEAKER_REARLEFT &h2000000 Or &h10000000
    
  195. #DEFINE BASS_SPEAKER_REARRIGHT &h2000000 Or &h20000000
    
  196. #DEFINE BASS_SPEAKER_CENTER &h3000000 Or &h10000000
    
  197. #DEFINE BASS_SPEAKER_LFE &h3000000 Or &h20000000
    
  198. #DEFINE BASS_SPEAKER_REAR2LEFT &h4000000 Or &h10000000
    
  199. #DEFINE BASS_SPEAKER_REAR2RIGHT &h4000000 Or &h20000000
    
  200. #DEFINE BASS_UNICODE &h80000000
    
  201. #DEFINE BASS_RECORD_PAUSE &h8000
    
  202. #DEFINE BASS_VAM_HARDWARE 1
    
  203. #DEFINE BASS_VAM_SOFTWARE 2
    
  204. #DEFINE BASS_VAM_TERM_TIME 4
    
  205. #DEFINE BASS_VAM_TERM_DIST 8
    
  206. #DEFINE BASS_VAM_TERM_PRIO 16
    
  207. 
    
  208. Type BASS_CHANNELINFO
    
  209.     freq As DWORD
    
  210.     chans As DWORD
    
  211.     flags As DWORD
    
  212.     ctype As DWORD
    
  213.     origres As DWORD
    
  214. End Type
    
  215. 
    
  216. #DEFINE BASS_CTYPE_SAMPLE 1
    
  217. #DEFINE BASS_CTYPE_RECORD 2
    
  218. #DEFINE BASS_CTYPE_STREAM &h10000
    
  219. #DEFINE BASS_CTYPE_STREAM_WAV &h10001
    
  220. #DEFINE BASS_CTYPE_STREAM_OGG &h10002
    
  221. #DEFINE BASS_CTYPE_STREAM_MP1 &h10003
    
  222. #DEFINE BASS_CTYPE_STREAM_MP2 &h10004
    
  223. #DEFINE BASS_CTYPE_STREAM_MP3 &h10005
    
  224. #DEFINE BASS_CTYPE_STREAM_AIFF &h10006
    
  225. #DEFINE BASS_CTYPE_MUSIC_MOD &h20000
    
  226. #DEFINE BASS_CTYPE_MUSIC_MTM &h20001
    
  227. #DEFINE BASS_CTYPE_MUSIC_S3M &h20002
    
  228. #DEFINE BASS_CTYPE_MUSIC_XM &h20003
    
  229. #DEFINE BASS_CTYPE_MUSIC_IT &h20004
    
  230. #DEFINE BASS_CTYPE_MUSIC_MO3 &h00100
    
  231. 
    
  232. Type BASS_3DVECTOR
    
  233.     x As Single
    
  234.     y As Single
    
  235.     z As Single
    
  236. End Type
    
  237. 
    
  238. #DEFINE BASS_3DMODE_NORMAL 0
    
  239. #DEFINE BASS_3DMODE_RELATIVE 1
    
  240. #DEFINE BASS_3DMODE_OFF 2
    
  241. 
    
  242. #IFDEF __FB_WIN32__
    
  243. Enum 
    
  244.     EAX_ENVIRONMENT_GENERIC
    
  245.     EAX_ENVIRONMENT_PADDEDCELL
    
  246.     EAX_ENVIRONMENT_ROOM
    
  247.     EAX_ENVIRONMENT_BATHROOM
    
  248.     EAX_ENVIRONMENT_LIVINGROOM
    
  249.     EAX_ENVIRONMENT_STONEROOM
    
  250.     EAX_ENVIRONMENT_AUDITORIUM
    
  251.     EAX_ENVIRONMENT_CONCERTHALL
    
  252.     EAX_ENVIRONMENT_CAVE
    
  253.     EAX_ENVIRONMENT_ARENA
    
  254.     EAX_ENVIRONMENT_HANGAR
    
  255.     EAX_ENVIRONMENT_CARPETEDHALLWAY
    
  256.     EAX_ENVIRONMENT_HALLWAY
    
  257.     EAX_ENVIRONMENT_STONECORRIDOR
    
  258.     EAX_ENVIRONMENT_ALLEY
    
  259.     EAX_ENVIRONMENT_FOREST
    
  260.     EAX_ENVIRONMENT_CITY
    
  261.     EAX_ENVIRONMENT_MOUNTAINS
    
  262.     EAX_ENVIRONMENT_QUARRY
    
  263.     EAX_ENVIRONMENT_PLAIN
    
  264.     EAX_ENVIRONMENT_PARKINGLOT
    
  265.     EAX_ENVIRONMENT_SEWERPIPE
    
  266.     EAX_ENVIRONMENT_UNDERWATER
    
  267.     EAX_ENVIRONMENT_DRUGGED
    
  268.     EAX_ENVIRONMENT_DIZZY
    
  269.     EAX_ENVIRONMENT_PSYCHOTIC
    
  270.     EAX_ENVIRONMENT_COUNT
    
  271. End Enum
    
  272. 
    
  273. #DEFINE EAX_PRESET_GENERIC         EAX_ENVIRONMENT_GENERIC,0.5,1.493,0.5
    
  274. #DEFINE EAX_PRESET_PADDEDCELL      EAX_ENVIRONMENT_PADDEDCELL,0.25,0.1,0.0
    
  275. #DEFINE EAX_PRESET_ROOM            EAX_ENVIRONMENT_ROOM,0.417,0.4,0.666
    
  276. #DEFINE EAX_PRESET_BATHROOM        EAX_ENVIRONMENT_BATHROOM,0.653,1.499,0.166
    
  277. #DEFINE EAX_PRESET_LIVINGROOM      EAX_ENVIRONMENT_LIVINGROOM,0.208,0.478,0.0
    
  278. #DEFINE EAX_PRESET_STONEROOM       EAX_ENVIRONMENT_STONEROOM,0.5,2.309,0.888
    
  279. #DEFINE EAX_PRESET_AUDITORIUM      EAX_ENVIRONMENT_AUDITORIUM,0.403,4.279,0.5
    
  280. #DEFINE EAX_PRESET_CONCERTHALL     EAX_ENVIRONMENT_CONCERTHALL,0.5,3.961,0.5
    
  281. #DEFINE EAX_PRESET_CAVE            EAX_ENVIRONMENT_CAVE,0.5,2.886,1.304
    
  282. #DEFINE EAX_PRESET_ARENA           EAX_ENVIRONMENT_ARENA,0.361,7.284,0.332
    
  283. #DEFINE EAX_PRESET_HANGAR          EAX_ENVIRONMENT_HANGAR,0.5,10.0,0.3
    
  284. #DEFINE EAX_PRESET_CARPETEDHALLWAY EAX_ENVIRONMENT_CARPETEDHALLWAY,0.153,0.259,2.0
    
  285. #DEFINE EAX_PRESET_HALLWAY         EAX_ENVIRONMENT_HALLWAY,0.361,1.493,0.0
    
  286. #DEFINE EAX_PRESET_STONECORRIDOR   EAX_ENVIRONMENT_STONECORRIDOR,0.444,2.697,0.638
    
  287. #DEFINE EAX_PRESET_ALLEY           EAX_ENVIRONMENT_ALLEY,0.25,1.752,0.776
    
  288. #DEFINE EAX_PRESET_FOREST          EAX_ENVIRONMENT_FOREST,0.111,3.145,0.472
    
  289. #DEFINE EAX_PRESET_CITY            EAX_ENVIRONMENT_CITY,0.111,2.767,0.224
    
  290. #DEFINE EAX_PRESET_MOUNTAINS       EAX_ENVIRONMENT_MOUNTAINS,0.194,7.841,0.472
    
  291. #DEFINE EAX_PRESET_QUARRY          EAX_ENVIRONMENT_QUARRY,1.0,1.499,0.5
    
  292. #DEFINE EAX_PRESET_PLAIN           EAX_ENVIRONMENT_PLAIN,0.097,2.767,0.224
    
  293. #DEFINE EAX_PRESET_PARKINGLOT      EAX_ENVIRONMENT_PARKINGLOT,0.208,1.652,1.5
    
  294. #DEFINE EAX_PRESET_SEWERPIPE       EAX_ENVIRONMENT_SEWERPIPE,0.652,2.886,0.25
    
  295. #DEFINE EAX_PRESET_UNDERWATER      EAX_ENVIRONMENT_UNDERWATER,1.0,1.499,0.0
    
  296. #DEFINE EAX_PRESET_DRUGGED         EAX_ENVIRONMENT_DRUGGED,0.875,8.392,1.388
    
  297. #DEFINE EAX_PRESET_DIZZY           EAX_ENVIRONMENT_DIZZY,0.139,17.234,0.666
    
  298. #DEFINE EAX_PRESET_PSYCHOTIC       EAX_ENVIRONMENT_PSYCHOTIC,0.486,7.563,0.806
    
  299. #ENDIF '' __FB_WIN32__
    
  300. 
    
  301. #DEFINE BASS_3DALG_DEFAULT 0
    
  302. #DEFINE BASS_3DALG_OFF 1
    
  303. #DEFINE BASS_3DALG_FULL 2
    
  304. #DEFINE BASS_3DALG_LIGHT 3
    
  305. 
    
  306. Type STREAMPROC As Function (Byval As HSTREAM, Byval As Any Ptr, Byval As DWORD, Byval As DWORD) As DWORD
    
  307. 
    
  308. #DEFINE BASS_STREAMPROC_END &h80000000
    
  309. #DEFINE BASS_FILEPOS_CURRENT 0
    
  310. #DEFINE BASS_FILEPOS_DECODE 0
    
  311. #DEFINE BASS_FILEPOS_DOWNLOAD 1
    
  312. #DEFINE BASS_FILEPOS_END 2
    
  313. #DEFINE BASS_FILEPOS_START 3
    
  314. #DEFINE BASS_FILE_CLOSE 0
    
  315. #DEFINE BASS_FILE_READ 1
    
  316. #DEFINE BASS_FILE_LEN 3
    
  317. #DEFINE BASS_FILE_SEEK 4
    
  318. 
    
  319. Type STREAMFILEPROC As Function (Byval As DWORD, Byval As DWORD, Byval As DWORD, Byval As DWORD) As DWORD
    
  320. Type DOWNLOADPROC As Sub (Byval As Any Ptr, Byval As DWORD, Byval As DWORD)
    
  321. 
    
  322. #DEFINE BASS_SYNC_POS 0
    
  323. #DEFINE BASS_SYNC_END 2
    
  324. #DEFINE BASS_SYNC_META 4
    
  325. #DEFINE BASS_SYNC_SLIDE 5
    
  326. #DEFINE BASS_SYNC_STALL 6
    
  327. #DEFINE BASS_SYNC_DOWNLOAD 7
    
  328. #DEFINE BASS_SYNC_FREE 8
    
  329. #DEFINE BASS_SYNC_MUSICPOS 10
    
  330. #DEFINE BASS_SYNC_MUSICINST 1
    
  331. #DEFINE BASS_SYNC_MUSICFX 3
    
  332. #DEFINE BASS_SYNC_MESSAGE &h20000000
    
  333. #DEFINE BASS_SYNC_MIXTIME &h40000000
    
  334. #DEFINE BASS_SYNC_ONETIME &h80000000
    
  335. 
    
  336. Type SYNCPROC As Sub (Byval As HSYNC, Byval As DWORD, Byval As DWORD, Byval As DWORD)
    
  337. Type DSPPROC As Sub (Byval As HDSP, Byval As DWORD, Byval As Any Ptr, Byval As DWORD, Byval As DWORD)
    
  338. Type RECORDPROC As Function (Byval As HRECORD, Byval As Any Ptr, Byval As DWORD, Byval As DWORD) As BOOL
    
  339. 
    
  340. #DEFINE BASS_DATA_AVAILABLE 0
    
  341. #DEFINE BASS_DATA_FLOAT &h40000000
    
  342. #DEFINE BASS_DATA_FFT512 &h80000000
    
  343. #DEFINE BASS_DATA_FFT1024 &h80000001
    
  344. #DEFINE BASS_DATA_FFT2048 &h80000002
    
  345. #DEFINE BASS_DATA_FFT4096 &h80000003
    
  346. #DEFINE BASS_DATA_FFT_INDIVIDUAL &h10
    
  347. #DEFINE BASS_DATA_FFT_NOWINDOW &h20
    
  348. #DEFINE BASS_TAG_ID3 0
    
  349. #DEFINE BASS_TAG_ID3V2 1
    
  350. #DEFINE BASS_TAG_OGG 2
    
  351. #DEFINE BASS_TAG_HTTP 3
    
  352. #DEFINE BASS_TAG_ICY 4
    
  353. #DEFINE BASS_TAG_META 5
    
  354. #DEFINE BASS_MUSIC_ATTRIB_AMPLIFY 0
    
  355. #DEFINE BASS_MUSIC_ATTRIB_PANSEP 1
    
  356. #DEFINE BASS_MUSIC_ATTRIB_PSCALER 2
    
  357. #DEFINE BASS_MUSIC_ATTRIB_BPM 3
    
  358. #DEFINE BASS_MUSIC_ATTRIB_SPEED 4
    
  359. #DEFINE BASS_MUSIC_ATTRIB_VOL_GLOBAL 5
    
  360. #DEFINE BASS_MUSIC_ATTRIB_VOL_CHAN &h100
    
  361. #DEFINE BASS_MUSIC_ATTRIB_VOL_INST &h200
    
  362. 
    
  363. #IFDEF __FB_WIN32__
    
  364. Enum 
    
  365.     BASS_FX_CHORUS
    
  366.     BASS_FX_COMPRESSOR
    
  367.     BASS_FX_DISTORTION
    
  368.     BASS_FX_ECHO
    
  369.     BASS_FX_FLANGER
    
  370.     BASS_FX_GARGLE
    
  371.     BASS_FX_I3DL2REVERB
    
  372.     BASS_FX_PARAMEQ
    
  373.     BASS_FX_REVERB
    
  374. End Enum
    
  375. 
    
  376. Type BASS_FXCHORUS
    
  377.     fWetDryMix As Single
    
  378.     fDepth As Single
    
  379.     fFeedback As Single
    
  380.     fFrequency As Single
    
  381.     lWaveform As DWORD
    
  382.     fDelay As Single
    
  383.     lPhase As DWORD
    
  384. End Type
    
  385. 
    
  386. Type BASS_FXCOMPRESSOR
    
  387.     fGain As Single
    
  388.     fAttack As Single
    
  389.     fRelease As Single
    
  390.     fThreshold As Single
    
  391.     fRatio As Single
    
  392.     fPredelay As Single
    
  393. End Type
    
  394. 
    
  395. Type BASS_FXDISTORTION
    
  396.     fGain As Single
    
  397.     fEdge As Single
    
  398.     fPostEQCenterFrequency As Single
    
  399.     fPostEQBandwidth As Single
    
  400.     fPreLowpassCutoff As Single
    
  401. End Type
    
  402. 
    
  403. Type BASS_FXECHO
    
  404.     fWetDryMix As Single
    
  405.     fFeedback As Single
    
  406.     fLeftDelay As Single
    
  407.     fRightDelay As Single
    
  408.     lPanDelay As BOOL
    
  409. End Type
    
  410. 
    
  411. Type BASS_FXFLANGER
    
  412.     fWetDryMix As Single
    
  413.     fDepth As Single
    
  414.     fFeedback As Single
    
  415.     fFrequency As Single
    
  416.     lWaveform As DWORD
    
  417.     fDelay As Single
    
  418.     lPhase As DWORD
    
  419. End Type
    
  420. 
    
  421. Type BASS_FXGARGLE
    
  422.     dwRateHz As DWORD
    
  423.     dwWaveShape As DWORD
    
  424. End Type
    
  425. 
    
  426. Type BASS_FXI3DL2REVERB
    
  427.     lRoom As Integer
    
  428.     lRoomHF As Integer
    
  429.     flRoomRolloffFactor As Single
    
  430.     flDecayTime As Single
    
  431.     flDecayHFRatio As Single
    
  432.     lReflections As Integer
    
  433.     flReflectionsDelay As Single
    
  434.     lReverb As Integer
    
  435.     flReverbDelay As Single
    
  436.     flDiffusion As Single
    
  437.     flDensity As Single
    
  438.     flHFReference As Single
    
  439. End Type
    
  440. 
    
  441. Type BASS_FXPARAMEQ
    
  442.     fCenter As Single
    
  443.     fBandwidth As Single
    
  444.     fGain As Single
    
  445. End Type
    
  446. 
    
  447. Type BASS_FXREVERB
    
  448.     fInGain As Single
    
  449.     fReverbMix As Single
    
  450.     fReverbTime As Single
    
  451.     fHighFreqRTRatio As Single
    
  452. End Type
    
  453. 
    
  454. #DEFINE BASS_FX_PHASE_NEG_180 0
    
  455. #DEFINE BASS_FX_PHASE_NEG_90 1
    
  456. #DEFINE BASS_FX_PHASE_ZERO 2
    
  457. #DEFINE BASS_FX_PHASE_90 3
    
  458. #DEFINE BASS_FX_PHASE_180 4
    
  459. #ENDIF '' __FB_WIN32__
    
  460. 
    
  461. #DEFINE BASS_ACTIVE_STOPPED 0
    
  462. #DEFINE BASS_ACTIVE_PLAYING 1
    
  463. #DEFINE BASS_ACTIVE_STALLED 2
    
  464. #DEFINE BASS_ACTIVE_PAUSED 3
    
  465. #DEFINE BASS_SLIDE_FREQ 1
    
  466. #DEFINE BASS_SLIDE_VOL 2
    
  467. #DEFINE BASS_SLIDE_PAN 4
    
  468. #DEFINE BASS_INPUT_OFF &h10000
    
  469. #DEFINE BASS_INPUT_ON &h20000
    
  470. #DEFINE BASS_INPUT_LEVEL &h40000
    
  471. #DEFINE BASS_INPUT_TYPE_MASK &hff000000
    
  472. #DEFINE BASS_INPUT_TYPE_UNDEF &h00000000
    
  473. #DEFINE BASS_INPUT_TYPE_DIGITAL &h01000000
    
  474. #DEFINE BASS_INPUT_TYPE_LINE &h02000000
    
  475. #DEFINE BASS_INPUT_TYPE_MIC &h03000000
    
  476. #DEFINE BASS_INPUT_TYPE_SYNTH &h04000000
    
  477. #DEFINE BASS_INPUT_TYPE_CD &h05000000
    
  478. #DEFINE BASS_INPUT_TYPE_PHONE &h06000000
    
  479. #DEFINE BASS_INPUT_TYPE_SPEAKER &h07000000
    
  480. #DEFINE BASS_INPUT_TYPE_WAVE &h08000000
    
  481. #DEFINE BASS_INPUT_TYPE_AUX &h09000000
    
  482. #DEFINE BASS_INPUT_TYPE_ANALOG &h0a000000
    
  483. #DEFINE BASS_CONFIG_BUFFER 0
    
  484. #DEFINE BASS_CONFIG_UPDATEPERIOD 1
    
  485. #DEFINE BASS_CONFIG_MAXVOL 3
    
  486. #DEFINE BASS_CONFIG_GVOL_SAMPLE 4
    
  487. #DEFINE BASS_CONFIG_GVOL_STREAM 5
    
  488. #DEFINE BASS_CONFIG_GVOL_MUSIC 6
    
  489. #DEFINE BASS_CONFIG_CURVE_VOL 7
    
  490. #DEFINE BASS_CONFIG_CURVE_PAN 8
    
  491. #DEFINE BASS_CONFIG_FLOATDSP 9
    
  492. #DEFINE BASS_CONFIG_3DALGORITHM 10
    
  493. #DEFINE BASS_CONFIG_NET_TIMEOUT 11
    
  494. #DEFINE BASS_CONFIG_NET_BUFFER 12
    
  495. #DEFINE BASS_CONFIG_PAUSE_NOPLAY 13
    
  496. #DEFINE BASS_CONFIG_NET_NOPROXY 14
    
  497. #DEFINE BASS_CONFIG_NET_PREBUF 15
    
  498. #DEFINE BASS_CONFIG_NET_AGENT 16
    
  499. 
    
  500. Declare Function BASS_SetConfig Alias "BASS_SetConfig" (Byval Option As DWORD, Byval value As DWORD) As DWORD
    
  501. Declare Function BASS_GetConfig Alias "BASS_GetConfig" (Byval Option As DWORD) As DWORD
    
  502. Declare Function BASS_GetVersion Alias "BASS_GetVersion" () As DWORD
    
  503. Declare Function BASS_GetDeviceDescription Alias "BASS_GetDeviceDescription" (Byval device As DWORD) As Zstring Ptr
    
  504. Declare Function BASS_ErrorGetCode Alias "BASS_ErrorGetCode" () As Integer
    
  505. #IFDEF __FB_WIN32__
    
  506. Declare Function BASS_Init Alias "BASS_Init" (Byval device As Integer, Byval freq As DWORD, Byval flags As DWORD, Byval win As HWND, Byval dsguid As GUID Ptr) As BOOL
    
  507. #ELSE
    
  508. Declare Function BASS_Init Alias "BASS_Init" (Byval device As Integer, Byval freq As DWORD, Byval flags As DWORD, Byval win As Any Ptr, Byval dsguid As Any Ptr) As BOOL
    
  509. #ENDIF
    
  510. Declare Function BASS_SetDevice Alias "BASS_SetDevice" (Byval device As DWORD) As BOOL
    
  511. Declare Function BASS_GetDevice Alias "BASS_GetDevice" () As DWORD
    
  512. Declare Function BASS_Free Alias "BASS_Free" () As BOOL
    
  513. #IFDEF __FB_WIN32__
    
  514. Declare Function BASS_GetDSoundObject Alias "BASS_GetDSoundObject" (Byval object As DWORD) As Any Ptr
    
  515. #ENDIF
    
  516. Declare Function BASS_GetInfo Alias "BASS_GetInfo" (Byval info As BASS_INFO Ptr) As BOOL
    
  517. Declare Function BASS_Update Alias "BASS_Update" () As BOOL
    
  518. Declare Function BASS_GetCPU Alias "BASS_GetCPU" () As Single
    
  519. Declare Function BASS_Start Alias "BASS_Start" () As BOOL
    
  520. Declare Function BASS_Stop Alias "BASS_Stop" () As BOOL
    
  521. Declare Function BASS_Pause Alias "BASS_Pause" () As BOOL
    
  522. Declare Function BASS_SetVolume Alias "BASS_SetVolume" (Byval volume As DWORD) As BOOL
    
  523. Declare Function BASS_GetVolume Alias "BASS_GetVolume" () As DWORD
    
  524. Declare Function BASS_PluginLoad Alias "BASS_PluginLoad" (Byval file As Zstring Ptr) As HPLUGIN
    
  525. Declare Function BASS_PluginFree Alias "BASS_PluginFree" (Byval handle As HPLUGIN) As BOOL
    
  526. Declare Function BASS_Set3DFactors Alias "BASS_Set3DFactors" (Byval distf As Single, Byval rollf As Single, Byval doppf As Single) As BOOL
    
  527. Declare Function BASS_Get3DFactors Alias "BASS_Get3DFactors" (Byval distf As Single Ptr, Byval rollf As Single Ptr, Byval doppf As Single Ptr) As BOOL
    
  528. Declare Function BASS_Set3DPosition Alias "BASS_Set3DPosition" (Byval Pos As BASS_3DVECTOR Ptr, Byval vel As BASS_3DVECTOR Ptr, Byval front As BASS_3DVECTOR Ptr, Byval top As BASS_3DVECTOR Ptr) As BOOL
    
  529. Declare Function BASS_Get3DPosition Alias "BASS_Get3DPosition" (Byval Pos As BASS_3DVECTOR Ptr, Byval vel As BASS_3DVECTOR Ptr, Byval front As BASS_3DVECTOR Ptr, Byval top As BASS_3DVECTOR Ptr) As BOOL
    
  530. Declare Sub BASS_Apply3D Alias "BASS_Apply3D" ()
    
  531. #IFDEF __FB_WIN32__
    
  532. Declare Function BASS_SetEAXParameters Alias "BASS_SetEAXParameters" (Byval env As Integer, Byval vol As Single, Byval decay As Single, Byval damp As Single) As BOOL
    
  533. Declare Function BASS_GetEAXParameters Alias "BASS_GetEAXParameters" (Byval env As DWORD Ptr, Byval vol As Single Ptr, Byval decay As Single Ptr, Byval damp As Single Ptr) As BOOL
    
  534. #ENDIF
    
  535. Declare Function BASS_MusicLoad Alias "BASS_MusicLoad" (Byval mem As BOOL, Byval file As Zstring Ptr, Byval offset As DWORD, Byval length As DWORD, Byval flags As DWORD, Byval freq As DWORD) As HMUSIC
    
  536. Declare Function BASS_MusicFree Alias "BASS_MusicFree" (Byval handle As HMUSIC) As BOOL
    
  537. Declare Function BASS_MusicSetAttribute Alias "BASS_MusicSetAttribute" (Byval handle As HMUSIC, Byval attrib As DWORD, Byval value As DWORD) As DWORD
    
  538. Declare Function BASS_MusicGetAttribute Alias "BASS_MusicGetAttribute" (Byval handle As HMUSIC, Byval attrib As DWORD) As DWORD
    
  539. Declare Function BASS_MusicGetName Alias "BASS_MusicGetName" (Byval handle As HMUSIC) As Zstring Ptr
    
  540. Declare Function BASS_MusicGetOrders Alias "BASS_MusicGetOrders" (Byval handle As HMUSIC) As DWORD
    
  541. Declare Function BASS_MusicGetOrderPosition Alias "BASS_MusicGetOrderPosition" (Byval handle As HMUSIC) As DWORD
    
  542. Declare Function BASS_SampleLoad Alias "BASS_SampleLoad" (Byval mem As BOOL, Byval file As Zstring Ptr, Byval offset As DWORD, Byval length As DWORD, Byval max_ As DWORD, Byval flags As DWORD) As HSAMPLE
    
  543. Declare Function BASS_SampleCreate Alias "BASS_SampleCreate" (Byval length As DWORD, Byval freq As DWORD, Byval chans As DWORD, Byval max_ As DWORD, Byval flags As DWORD) As Any Ptr
    
  544. Declare Function BASS_SampleCreateDone Alias "BASS_SampleCreateDone" () As HSAMPLE
    
  545. Declare Function BASS_SampleFree Alias "BASS_SampleFree" (Byval handle As HSAMPLE) As BOOL
    
  546. Declare Function BASS_SampleGetInfo Alias "BASS_SampleGetInfo" (Byval handle As HSAMPLE, Byval info As BASS_SAMPLE Ptr) As BOOL
    
  547. Declare Function BASS_SampleSetInfo Alias "BASS_SampleSetInfo" (Byval handle As HSAMPLE, Byval info As BASS_SAMPLE Ptr) As BOOL
    
  548. Declare Function BASS_SampleGetChannel Alias "BASS_SampleGetChannel" (Byval handle As HSAMPLE, Byval onlynew As BOOL) As HCHANNEL
    
  549. Declare Function BASS_SampleStop Alias "BASS_SampleStop" (Byval handle As HSAMPLE) As BOOL
    
  550. Declare Function BASS_StreamCreate Alias "BASS_StreamCreate" (Byval freq As DWORD, Byval chans As DWORD, Byval flags As DWORD, Byval proc As STREAMPROC Ptr, Byval user As DWORD) As HSTREAM
    
  551. Declare Function BASS_StreamCreateFile Alias "BASS_StreamCreateFile" (Byval mem As BOOL, Byval file As Zstring Ptr, Byval offset As DWORD, Byval length As DWORD, Byval flags As DWORD) As HSTREAM
    
  552. Declare Function BASS_StreamCreateURL Alias "BASS_StreamCreateURL" (Byval url As Zstring Ptr, Byval offset As DWORD, Byval flags As DWORD, Byval proc As DOWNLOADPROC Ptr, Byval user As DWORD) As HSTREAM
    
  553. Declare Function BASS_StreamCreateFileUser Alias "BASS_StreamCreateFileUser" (Byval buffered As BOOL, Byval flags As DWORD, Byval proc As STREAMFILEPROC Ptr, Byval user As DWORD) As HSTREAM
    
  554. Declare Function BASS_StreamFree Alias "BASS_StreamFree" (Byval handle As HSTREAM) As BOOL
    
  555. Declare Function BASS_StreamGetTags Alias "BASS_StreamGetTags" (Byval handle As HSTREAM, Byval tags As DWORD) As Zstring Ptr
    
  556. Declare Function BASS_StreamGetFilePosition Alias "BASS_StreamGetFilePosition" (Byval handle As HSTREAM, Byval mode As DWORD) As DWORD
    
  557. Declare Function BASS_RecordGetDeviceDescription Alias "BASS_RecordGetDeviceDescription" (Byval device As DWORD) As Zstring Ptr
    
  558. Declare Function BASS_RecordInit Alias "BASS_RecordInit" (Byval device As Integer) As BOOL
    
  559. Declare Function BASS_RecordSetDevice Alias "BASS_RecordSetDevice" (Byval device As DWORD) As BOOL
    
  560. Declare Function BASS_RecordGetDevice Alias "BASS_RecordGetDevice" () As DWORD
    
  561. Declare Function BASS_RecordFree Alias "BASS_RecordFree" () As BOOL
    
  562. Declare Function BASS_RecordGetInfo Alias "BASS_RecordGetInfo" (Byval info As BASS_RECORDINFO Ptr) As BOOL
    
  563. Declare Function BASS_RecordGetInputName Alias "BASS_RecordGetInputName" (Byval Input As Integer) As Zstring Ptr
    
  564. Declare Function BASS_RecordSetInput Alias "BASS_RecordSetInput" (Byval Input As Integer, Byval setting As DWORD) As BOOL
    
  565. Declare Function BASS_RecordGetInput Alias "BASS_RecordGetInput" (Byval Input As Integer) As DWORD
    
  566. Declare Function BASS_RecordStart Alias "BASS_RecordStart" (Byval freq As DWORD, Byval chans As DWORD, Byval flags As DWORD, Byval proc As RECORDPROC Ptr, Byval user As DWORD) As HRECORD
    
  567. Declare Function BASS_ChannelBytes2Seconds Alias "BASS_ChannelBytes2Seconds" (Byval handle As DWORD, Byval Pos As QWORD) As Single
    
  568. Declare Function BASS_ChannelSeconds2Bytes Alias "BASS_ChannelSeconds2Bytes" (Byval handle As DWORD, Byval Pos As Single) As QWORD
    
  569. Declare Function BASS_ChannelGetDevice Alias "BASS_ChannelGetDevice" (Byval handle As DWORD) As DWORD
    
  570. Declare Function BASS_ChannelIsActive Alias "BASS_ChannelIsActive" (Byval handle As DWORD) As DWORD
    
  571. Declare Function BASS_ChannelGetInfo Alias "BASS_ChannelGetInfo" (Byval handle As DWORD, Byval info As BASS_CHANNELINFO Ptr) As BOOL
    
  572. Declare Function BASS_ChannelSetFlags Alias "BASS_ChannelSetFlags" (Byval handle As DWORD, Byval flags As DWORD) As BOOL
    
  573. Declare Function BASS_ChannelPreBuf Alias "BASS_ChannelPreBuf" (Byval handle As DWORD, Byval length As DWORD) As BOOL
    
  574. Declare Function BASS_ChannelPlay Alias "BASS_ChannelPlay" (Byval handle As DWORD, Byval restart As BOOL) As BOOL
    
  575. Declare Function BASS_ChannelStop Alias "BASS_ChannelStop" (Byval handle As DWORD) As BOOL
    
  576. Declare Function BASS_ChannelPause Alias "BASS_ChannelPause" (Byval handle As DWORD) As BOOL
    
  577. Declare Function BASS_ChannelSetAttributes Alias "BASS_ChannelSetAttributes" (Byval handle As DWORD, Byval freq As Integer, Byval volume As Integer, Byval pan As Integer) As BOOL
    
  578. Declare Function BASS_ChannelGetAttributes Alias "BASS_ChannelGetAttributes" (Byval handle As DWORD, Byval freq As DWORD Ptr, Byval volume As DWORD Ptr, Byval pan As Integer Ptr) As BOOL
    
  579. Declare Function BASS_ChannelSlideAttributes Alias "BASS_ChannelSlideAttributes" (Byval handle As DWORD, Byval freq As Integer, Byval volume As Integer, Byval pan As Integer, Byval Time As DWORD) As BOOL
    
  580. Declare Function BASS_ChannelIsSliding Alias "BASS_ChannelIsSliding" (Byval handle As DWORD) As DWORD
    
  581. Declare Function BASS_ChannelSet3DAttributes Alias "BASS_ChannelSet3DAttributes" (Byval handle As DWORD, Byval mode As Integer, Byval min_ As Single, Byval max_ As Single, Byval iangle As Integer, Byval oangle As Integer, Byval outvol As Integer) As BOOL
    
  582. Declare Function BASS_ChannelGet3DAttributes Alias "BASS_ChannelGet3DAttributes" (Byval handle As DWORD, Byval mode As DWORD Ptr, Byval min_ As Single Ptr, Byval max_ As Single Ptr, Byval iangle As DWORD Ptr, Byval oangle As DWORD Ptr, Byval outvol As DWORD Ptr) As BOOL
    
  583. Declare Function BASS_ChannelSet3DPosition Alias "BASS_ChannelSet3DPosition" (Byval handle As DWORD, Byval Pos As BASS_3DVECTOR Ptr, Byval orient As BASS_3DVECTOR Ptr, Byval vel As BASS_3DVECTOR Ptr) As BOOL
    
  584. Declare Function BASS_ChannelGet3DPosition Alias "BASS_ChannelGet3DPosition" (Byval handle As DWORD, Byval Pos As BASS_3DVECTOR Ptr, Byval orient As BASS_3DVECTOR Ptr, Byval vel As BASS_3DVECTOR Ptr) As BOOL
    
  585. Declare Function BASS_ChannelGetLength Alias "BASS_ChannelGetLength" (Byval handle As DWORD) As QWORD
    
  586. Declare Function BASS_ChannelSetPosition Alias "BASS_ChannelSetPosition" (Byval handle As DWORD, Byval Pos As QWORD) As BOOL
    
  587. Declare Function BASS_ChannelGetPosition Alias "BASS_ChannelGetPosition" (Byval handle As DWORD) As QWORD
    
  588. Declare Function BASS_ChannelGetLevel Alias "BASS_ChannelGetLevel" (Byval handle As DWORD) As DWORD
    
  589. Declare Function BASS_ChannelGetData Alias "BASS_ChannelGetData" (Byval handle As DWORD, Byval buffer As Any Ptr, Byval length As DWORD) As DWORD
    
  590. Declare Function BASS_ChannelSetSync Alias "BASS_ChannelSetSync" (Byval handle As DWORD, Byval Type As DWORD, Byval param As QWORD, Byval proc As SYNCPROC Ptr, Byval user As DWORD) As HSYNC
    
  591. Declare Function BASS_ChannelRemoveSync Alias "BASS_ChannelRemoveSync" (Byval handle As DWORD, Byval sync As HSYNC) As BOOL
    
  592. Declare Function BASS_ChannelSetDSP Alias "BASS_ChannelSetDSP" (Byval handle As DWORD, Byval proc As DSPPROC Ptr, Byval user As DWORD, Byval priority As Integer) As HDSP
    
  593. Declare Function BASS_ChannelRemoveDSP Alias "BASS_ChannelRemoveDSP" (Byval handle As DWORD, Byval dsp As HDSP) As BOOL
    
  594. Declare Function BASS_ChannelSetLink Alias "BASS_ChannelSetLink" (Byval handle As DWORD, Byval chan As DWORD) As BOOL
    
  595. Declare Function BASS_ChannelRemoveLink Alias "BASS_ChannelRemoveLink" (Byval handle As DWORD, Byval chan As DWORD) As BOOL
    
  596. #IFDEF __FB_WIN32__
    
  597. Declare Function BASS_ChannelSetEAXMix Alias "BASS_ChannelSetEAXMix" (Byval handle As DWORD, Byval mix As Single) As BOOL
    
  598. Declare Function BASS_ChannelGetEAXMix Alias "BASS_ChannelGetEAXMix" (Byval handle As DWORD, Byval mix As Single Ptr) As BOOL
    
  599. Declare Function BASS_ChannelSetFX Alias "BASS_ChannelSetFX" (Byval handle As DWORD, Byval Type As DWORD, Byval priority As DWORD) As HFX
    
  600. Declare Function BASS_ChannelRemoveFX Alias "BASS_ChannelRemoveFX" (Byval handle As DWORD, Byval fx As HFX) As BOOL
    
  601. Declare Function BASS_FXSetParameters Alias "BASS_FXSetParameters" (Byval handle As HFX, Byval par As Any Ptr) As BOOL
    
  602. Declare Function BASS_FXGetParameters Alias "BASS_FXGetParameters" (Byval handle As HFX, Byval par As Any Ptr) As BOOL
    
  603. #ENDIF
    
  604. 
    
  605. #ENDIF