-
Notifications
You must be signed in to change notification settings - Fork 0
/
BassConstants.au3
565 lines (507 loc) · 32 KB
/
BassConstants.au3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
#include-once
; ===============================================================================================================================
; Error codes returned by $BASS_ErrorGetCode
; ===============================================================================================================================
Global Const $BASS_OK = 0 ;all is OK
Global Const $BASS_ERROR_MEM = 1 ;memory error
Global Const $BASS_ERROR_FILEOPEN = 2 ;can;t open the file
Global Const $BASS_ERROR_DRIVER = 3 ;can;t find a free sound driver
Global Const $BASS_ERROR_BUFLOST = 4 ;the sample buffer was lost
Global Const $BASS_ERROR_HANDLE = 5 ;invalid handle
Global Const $BASS_ERROR_FORMAT = 6 ;unsupported sample format
Global Const $BASS_ERROR_POSITION = 7 ;invalid position
Global Const $BASS_ERROR_INIT = 8 ;$BASS_Init has not been successfully called
Global Const $BASS_ERROR_START = 9 ;$BASS_Start has not been successfully called
Global Const $BASS_ERROR_ALREADY = 14 ;already initialized/paused/whatever
Global Const $BASS_ERROR_NOCHAN = 18 ;can;t get a free channel
Global Const $BASS_ERROR_ILLTYPE = 19 ;an illegal type was specified
Global Const $BASS_ERROR_ILLPARAM = 20 ;an illegal parameter was specified
Global Const $BASS_ERROR_NO3D = 21 ;no 3D support
Global Const $BASS_ERROR_NOEAX = 22 ;no EAX support
Global Const $BASS_ERROR_DEVICE = 23 ;illegal device number
Global Const $BASS_ERROR_NOPLAY = 24 ;not playing
Global Const $BASS_ERROR_FREQ = 25 ;illegal sample rate
Global Const $BASS_ERROR_NOTFILE = 27 ;the stream is not a file stream
Global Const $BASS_ERROR_NOHW = 29 ;no hardware voices available
Global Const $BASS_ERROR_EMPTY = 31 ;the MOD music has no sequence data
Global Const $BASS_ERROR_NONET = 32 ;no internet connection could be opened
Global Const $BASS_ERROR_CREATE = 33 ;couldn;t create the file
Global Const $BASS_ERROR_NOFX = 34 ;effects are not available
Global Const $BASS_ERROR_NOTAVAIL = 37 ;requested data is not available
Global Const $BASS_ERROR_DECODE = 38 ;the channel is a "decoding channel"
Global Const $BASS_ERROR_DX = 39 ;a sufficient DirectX version is not installed
Global Const $BASS_ERROR_TIMEOUT = 40 ;connection timedout
Global Const $BASS_ERROR_FILEFORM = 41 ;unsupported file format
Global Const $BASS_ERROR_SPEAKER = 42 ;unavailable speaker
Global Const $BASS_ERROR_VERSION = 43 ;invalid BASS version (used by add-ons)
Global Const $BASS_ERROR_CODEC = 44 ;codec is not available/supported
Global Const $BASS_ERROR_ENDED = 45 ;the channel/file has ended
Global Const $BASS_ERROR_UNKNOWN = -1 ;some other mystery problem
; ===============================================================================================================================
; $BASS_SetConfig options
; ===============================================================================================================================
Global Const $BASS_CONFIG_BUFFER = 0
Global Const $BASS_CONFIG_UPDATEPERIOD = 1
Global Const $BASS_CONFIG_GVOL_SAMPLE = 4
Global Const $BASS_CONFIG_GVOL_STREAM = 5
Global Const $BASS_CONFIG_GVOL_MUSIC = 6
Global Const $BASS_CONFIG_CURVE_VOL = 7
Global Const $BASS_CONFIG_CURVE_PAN = 8
Global Const $BASS_CONFIG_FLOATDSP = 9
Global Const $BASS_CONFIG_3DALGORITHM = 10
Global Const $BASS_CONFIG_NET_TIMEOUT = 11
Global Const $BASS_CONFIG_NET_BUFFER = 12
Global Const $BASS_CONFIG_PAUSE_NOPLAY = 13
Global Const $BASS_CONFIG_NET_PREBUF = 15
Global Const $BASS_CONFIG_NET_PASSIVE = 18
Global Const $BASS_CONFIG_REC_BUFFER = 19
Global Const $BASS_CONFIG_NET_PLAYLIST = 21
Global Const $BASS_CONFIG_MUSIC_VIRTUAL = 22
Global Const $BASS_CONFIG_VERIFY = 23
Global Const $BASS_CONFIG_UPDATETHREADS = 24
; ===============================================================================================================================
; $BASS_SetConfigPtr options
; ===============================================================================================================================
Global Const $BASS_CONFIG_NET_AGENT = 16
Global Const $BASS_CONFIG_NET_PROXY = 17
; ===============================================================================================================================
; Initialization flags
; ===============================================================================================================================
Global Const $BASS_DEVICE_8BITS = 1 ;use 8 bit resolution, else 16 bit
Global Const $BASS_DEVICE_MONO = 2 ;use mono, else stereo
Global Const $BASS_DEVICE_3D = 4 ;enable 3D functionality
Global Const $BASS_DEVICE_LATENCY = 256 ;calculate device latency ($BASS_INFO struct)
Global Const $BASS_DEVICE_CPSPEAKERS = 1024 ;detect speakers via Windows control panel
Global Const $BASS_DEVICE_SPEAKERS = 2048 ;force enabling of speaker assignment
Global Const $BASS_DEVICE_NOSPEAKER = 4096 ;ignore speaker arrangement
; ===============================================================================================================================
; DirectSound interfaces (for use with $BASS_GetDSoundObject)
; ===============================================================================================================================
Global Const $BASS_OBJECT_DS = 1 ; DirectSound
Global Const $BASS_OBJECT_DS3DL = 2 ;IDirectSound3DListener
Global Const $BASS_DEVICEINFO = "ptr name;" & _ ;name Description of the device.
"ptr driver;" & _ ;driver The filename of the driver... NULL = no driver ("no sound" device)
"dword flags;" ;flags The device's current status...
; ===============================================================================================================================
; $BASS_DEVICEINFO flags
; ===============================================================================================================================
Global Const $BASS_DEVICE_ENABLED = 1
Global Const $BASS_DEVICE_DEFAULT = 2
Global Const $BASS_DEVICE_INIT = 4
$BASS_INFO = 'dword flags;' & _ ; device capabilities (DSCAPS_xxx flags)
'dword hwsize;' & _ ; size of total device hardware memory
'dword hwfree;' & _ ; size of free device hardware memory
'dword freesam;' & _ ; number of free sample slots in the hardware
'dword free3d;' & _ ; number of free 3D sample slots in the hardware
'dword minrate;' & _ ; min sample rate supported by the hardware
'dword maxrate;' & _ ; max sample rate supported by the hardware
'int eax;' & _ ; device supports EAX? (always BASSFALSE if $BASS_DEVICE_3D was not used)
'dword minbuf;' & _ ; recommended minimum buffer length in ms (requires $BASS_DEVICE_LATENCY)
'dword dsver;' & _ ; DirectSound version
'dword latency;' & _ ; delay (in ms) before start of playback (requires $BASS_DEVICE_LATENCY)
'dword initflags;' & _ ; $BASS_Init "flags" parameter
'dword speakers;' & _ ; number of speakers available
'dword freq' ; current output rate (OSX only)
; ===============================================================================================================================
; $BASS_INFO flags
; ===============================================================================================================================
Global Const $DSCAPS_CONTINUOUSRATE = 16 ; supports all sample rates between min/maxrate
Global Const $DSCAPS_EMULDRIVER = 32 ; device does NOT have hardware DirectSound support
Global Const $DSCAPS_CERTIFIED = 64 ; device driver has been certified by Microsoft
Global Const $DSCAPS_SECONDARYMONO = 256 ; mono
Global Const $DSCAPS_SECONDARYSTEREO = 512 ; stereo
Global Const $DSCAPS_SECONDARY8BIT = 1024 ; 8 bit
Global Const $DSCAPS_SECONDARY16BIT = 2048 ; 16 bit
; ===============================================================================================================================
; Recording device info structure
; ===============================================================================================================================
$BASS_RECORDINFO = "dword flags;" & _ ; device capabilities (DSCCAPS_xxx flags)
'dword formats;' & _ ; supported standard formats (WAVE_FORMAT_xxx flags)
'dword inputs;' & _ ; number of inputs
'int singlein;' & _ ; BASSTRUE = only 1 input can be set at a time
'dword freq' ; current input rate (Vista/OSX only)
; ===============================================================================================================================
; $BASS_RECORDINFO flags
; ===============================================================================================================================
Global Const $DSCCAPS_EMULDRIVER = $DSCAPS_EMULDRIVER ; device does NOT have hardware DirectSound recording support
Global Const $DSCCAPS_CERTIFIED = $DSCAPS_CERTIFIED ; device driver has been certified by Microsoft
; ===============================================================================================================================
; defines for formats field of $BASS_RECORDINFO
; ===============================================================================================================================
Global Const $WAVE_FORMAT_1M08 = 0x1 ; 11.025 kHz, Mono, 8-bit
Global Const $WAVE_FORMAT_1S08 = 0x2 ; 11.025 kHz, Stereo, 8-bit
Global Const $WAVE_FORMAT_1M16 = 0x4 ; 11.025 kHz, Mono, 16-bit
Global Const $WAVE_FORMAT_1S16 = 0x8 ; 11.025 kHz, Stereo, 16-bit
Global Const $WAVE_FORMAT_2M08 = 0x10 ; 22.05 kHz, Mono, 8-bit
Global Const $WAVE_FORMAT_2S08 = 0x20 ; 22.05 kHz, Stereo, 8-bit
Global Const $WAVE_FORMAT_2M16 = 0x40 ; 22.05 kHz, Mono, 16-bit
Global Const $WAVE_FORMAT_2S16 = 0x80 ; 22.05 kHz, Stereo, 16-bit
Global Const $WAVE_FORMAT_4M08 = 0x100 ; 44.1 kHz, Mono, 8-bit
Global Const $WAVE_FORMAT_4S08 = 0x200 ; 44.1 kHz, Stereo, 8-bit
Global Const $WAVE_FORMAT_4M16 = 0x400 ; 44.1 kHz, Mono, 16-bit
Global Const $WAVE_FORMAT_4S16 = 0x800 ; 44.1 kHz, Stereo, 16-bit
; ===============================================================================================================================
; Sample info structure
; ===============================================================================================================================
$BASS_SAMPLE = 'dword freq;' & _ ; default playback rate
'float volume;' & _ ; default volume (0-100)
'float pan;' & _ ; default pan (-100=left, 0=middle, 100=right)
'dword flags;' & _ ; $BASS_SAMPLE_xxx flags
'dword length;' & _ ; length (in samples, not bytes)
'dword max;' & _ ; maximum simultaneous playbacks
'dword origres;' & _ ; original resolution
'dword chans;' & _ ; number of channels
'dword mingap;' & _ ; minimum gap (ms) between creating channels
'dword mode3d;' & _ ; $BASS_3DMODE_xxx mode
'float mindist;' & _ ; minimum distance
'float MAXDIST;' & _ ; maximum distance
'dword iangle;' & _ ; angle of inside projection cone
'dword oangle;' & _ ; angle of outside projection cone
'float outvol;' & _ ; delta-volume outside the projection cone
'dword vam;' & _ ; voice allocation/management flags ($BASS_VAM_xxx)
'dword priority;' ; priority (0=lowest, 0xffffffff=highest)
Global Const $BASS_SAMPLE_8BITS = 1 ; 8 bit
Global Const $BASS_SAMPLE_FLOAT = 256 ; 32-bit floating-point
Global Const $BASS_SAMPLE_MONO = 2 ; mono
Global Const $BASS_SAMPLE_LOOP = 4 ; looped
Global Const $BASS_SAMPLE_3D = 8 ; 3D functionality
Global Const $BASS_SAMPLE_SOFTWARE = 16 ; not using hardware mixing
Global Const $BASS_SAMPLE_MUTEMAX = 32 ; mute at max distance (3D only)
Global Const $BASS_SAMPLE_VAM = 64 ; DX7 voice allocation & management
Global Const $BASS_SAMPLE_FX = 128 ; old implementation of DX8 effects
Global Const $BASS_SAMPLE_OVER_VOL = 0x10000 ; override lowest volume
Global Const $BASS_SAMPLE_OVER_POS = 0x20000 ; override dwordest playing
Global Const $BASS_SAMPLE_OVER_DIST = 0x30000 ; override furthest from listener (3D only)
Global Const $BASS_STREAM_PRESCAN = 0x20000 ; enable pin-point seeking/length (MP3/MP2/MP1)
Global Const $BASS_MP3_SETPOS = $BASS_STREAM_PRESCAN
Global Const $BASS_STREAM_AUTOFREE = 0x40000 ; automatically free the stream when it stop/ends
Global Const $BASS_STREAM_RESTRATE = 0x80000 ; restrict the download rate of internet file streams
Global Const $BASS_STREAM_BLOCK = 0x100000 ; download/play internet file stream in small blocks
Global Const $BASS_STREAM_DECODE = 0x200000 ; don;t play the stream, only decode ($BASS_ChannelGetData)
Global Const $BASS_STREAM_STATUS = 0x800000 ; give server status info (HTTP/ICY tags) in DOWNLOADPROC
Global Const $BASS_MUSIC_FLOAT = $BASS_SAMPLE_FLOAT
Global Const $BASS_MUSIC_MONO = $BASS_SAMPLE_MONO
Global Const $BASS_MUSIC_LOOP = $BASS_SAMPLE_LOOP
Global Const $BASS_MUSIC_3D = $BASS_SAMPLE_3D
Global Const $BASS_MUSIC_FX = $BASS_SAMPLE_FX
Global Const $BASS_MUSIC_AUTOFREE = $BASS_STREAM_AUTOFREE
Global Const $BASS_MUSIC_DECODE = $BASS_STREAM_DECODE
Global Const $BASS_MUSIC_PRESCAN = $BASS_STREAM_PRESCAN ; calculate playback length
Global Const $BASS_MUSIC_CALCLEN = $BASS_MUSIC_PRESCAN
Global Const $BASS_MUSIC_RAMP = 0x200 ; normal ramping
Global Const $BASS_MUSIC_RAMPS = 0x400 ; sensitive ramping
Global Const $BASS_MUSIC_SURROUND = 0x800 ; surround sound
Global Const $BASS_MUSIC_SURROUND2 = 0x1000 ; surround sound (mode 2)
Global Const $BASS_MUSIC_FT2MOD = 0x2000 ; play .MOD as FastTracker 2 does
Global Const $BASS_MUSIC_PT1MOD = 0x4000 ; play .MOD as ProTracker 1 does
Global Const $BASS_MUSIC_NONINTER = 0x10000 ; non-interpolated sample mixing
Global Const $BASS_MUSIC_SINCINTER = 0x800000 ; sinc interpolated sample mixing
Global Const $BASS_MUSIC_POSRESET = 32768 ; stop all notes when moving position
Global Const $BASS_MUSIC_POSRESETEX = 0x400000 ; stop all notes and reset bmp/etc when moving position
Global Const $BASS_MUSIC_STOPBACK = 0x80000 ; stop the music on a backwards jump effect
Global Const $BASS_MUSIC_NOSAMPLE = 0x100000 ; don;t load the samples
; ===============================================================================================================================
; Speaker assignment flags
; ===============================================================================================================================
Global Const $BASS_SPEAKER_FRONT = 0x1000000 ; front speakers
Global Const $BASS_SPEAKER_REAR = 0x2000000 ; rear/side speakers
Global Const $BASS_SPEAKER_CENLFE = 0x3000000 ; center & LFE speakers (5.1)
Global Const $BASS_SPEAKER_REAR2 = 0x4000000 ; rear center speakers (7.1)
Global Const $BASS_SPEAKER_LEFT = 0x10000000 ; modifier: left
Global Const $BASS_SPEAKER_RIGHT = 0x20000000 ; modifier: right
Global Const $BASS_SPEAKER_FRONTLEFT = $BASS_SPEAKER_FRONT + $BASS_SPEAKER_LEFT
Global Const $BASS_SPEAKER_FRONTRIGHT = $BASS_SPEAKER_FRONT + $BASS_SPEAKER_RIGHT
Global Const $BASS_SPEAKER_REARLEFT = $BASS_SPEAKER_REAR + $BASS_SPEAKER_LEFT
Global Const $BASS_SPEAKER_REARRIGHT = $BASS_SPEAKER_REAR + $BASS_SPEAKER_RIGHT
Global Const $BASS_SPEAKER_CENTER = $BASS_SPEAKER_CENLFE + $BASS_SPEAKER_LEFT
Global Const $BASS_SPEAKER_LFE = $BASS_SPEAKER_CENLFE + $BASS_SPEAKER_RIGHT
Global Const $BASS_SPEAKER_REAR2LEFT = $BASS_SPEAKER_REAR2 + $BASS_SPEAKER_LEFT
Global Const $BASS_SPEAKER_REAR2RIGHT = $BASS_SPEAKER_REAR2 + $BASS_SPEAKER_RIGHT
Global Const $BASS_UNICODE = 0x80000000
Global Const $BASS_RECORD_PAUSE = 32768 ; start recording paused
; ===============================================================================================================================
; DX7 voice allocation flags
; ===============================================================================================================================
Global Const $BASS_VAM_HARDWARE = 1
Global Const $BASS_VAM_SOFTWARE = 2
Global Const $BASS_VAM_TERM_TIME = 4
Global Const $BASS_VAM_TERM_DIST = 8
Global Const $BASS_VAM_TERM_PRIO = 16
; ===============================================================================================================================
; Channel info structure
; ===============================================================================================================================
$BASS_CHANNELINFO = 'dword freq;' & _ ; default playback rate
'dword chans;' & _ ; channels
'dword flags;' & _ ; $BASS_SAMPLE/STREAM/MUSIC/SPEAKER flags
'dword ctype;' & _ ; type of channel
'dword origres;' & _ ; original resolution
'dword plugin;' & _ ; plugin
'dword sample;' & _ ; sample
'ptr filename;' ;filename
; ===============================================================================================================================
; $BASS_CHANNELINFO types
; ===============================================================================================================================
Global Const $BASS_CTYPE_SAMPLE = 1
Global Const $BASS_CTYPE_RECORD = 2
Global Const $BASS_CTYPE_STREAM = 0x10000
Global Const $BASS_CTYPE_STREAM_OGG = 0x10002
Global Const $BASS_CTYPE_STREAM_MP1 = 0x10003
Global Const $BASS_CTYPE_STREAM_MP2 = 0x10004
Global Const $BASS_CTYPE_STREAM_MP3 = 0x10005
Global Const $BASS_CTYPE_STREAM_AIFF = 0x10006
Global Const $BASS_CTYPE_STREAM_WAV = 0x40000 ; WAVE flag, LOWORD=codec
Global Const $BASS_CTYPE_STREAM_WAV_PCM = 0x50001
Global Const $BASS_CTYPE_STREAM_WAV_FLOAT = 0x50003
Global Const $BASS_CTYPE_MUSIC_MOD = 0x20000
Global Const $BASS_CTYPE_MUSIC_MTM = 0x20001
Global Const $BASS_CTYPE_MUSIC_S3M = 0x20002
Global Const $BASS_CTYPE_MUSIC_XM = 0x20003
Global Const $BASS_CTYPE_MUSIC_IT = 0x20004
Global Const $BASS_CTYPE_MUSIC_MO3 = 0x100 ; MO3 flag
$BASS_PLUGINFORM = 'dword;ptr;ptr;'
$BASS_PLUGININFO = 'dword version;' & _ ; version (same form as $BASS_GetVersion)
'dword formatc;' & _ ; number of formats
'ptr formats;' ; the array of formats
; ===============================================================================================================================
; 3D vector (for 3D positions/velocities/orientations)
; ===============================================================================================================================
$BASS_3DVECTOR = 'float X;' & _ ; + = right, - = left
'float Y;' & _ ; + = up, - = down
'float z;' ; + = front, - = behind
; ===============================================================================================================================
; 3D channel modes
; ===============================================================================================================================
Global Const $BASS_3DMODE_NORMAL = 0 ; normal 3D processing
Global Const $BASS_3DMODE_RELATIVE = 1 ; position is relative to the listener
Global Const $BASS_3DMODE_OFF = 2 ; no 3D processing
; ===============================================================================================================================
; software 3D mixing algorithms (used with $BASS_CONFIG_3DALGORITHM)
; ===============================================================================================================================
Global Const $BASS_3DALG_DEFAULT = 0
Global Const $BASS_3DALG_OFF = 1
Global Const $BASS_3DALG_FULL = 2
Global Const $BASS_3DALG_LIGHT = 3
; ===============================================================================================================================
; EAX environments, use with $BASS_SetEAXParameters
; ===============================================================================================================================
Global Const $EAX_ENVIRONMENT_GENERIC = 0
Global Const $EAX_ENVIRONMENT_PADDEDCELL = 1
Global Const $EAX_ENVIRONMENT_ROOM = 2
Global Const $EAX_ENVIRONMENT_BATHROOM = 3
Global Const $EAX_ENVIRONMENT_LIVINGROOM = 4
Global Const $EAX_ENVIRONMENT_STONEROOM = 5
Global Const $EAX_ENVIRONMENT_AUDITORIUM = 6
Global Const $EAX_ENVIRONMENT_CONCERTHALL = 7
Global Const $EAX_ENVIRONMENT_CAVE = 8
Global Const $EAX_ENVIRONMENT_ARENA = 9
Global Const $EAX_ENVIRONMENT_HANGAR = 10
Global Const $EAX_ENVIRONMENT_CARPETEDHALLWAY = 11
Global Const $EAX_ENVIRONMENT_HALLWAY = 12
Global Const $EAX_ENVIRONMENT_STONECORRIDOR = 13
Global Const $EAX_ENVIRONMENT_ALLEY = 14
Global Const $EAX_ENVIRONMENT_FOREST = 15
Global Const $EAX_ENVIRONMENT_CITY = 16
Global Const $EAX_ENVIRONMENT_MOUNTAINS = 17
Global Const $EAX_ENVIRONMENT_QUARRY = 18
Global Const $EAX_ENVIRONMENT_PLAIN = 19
Global Const $EAX_ENVIRONMENT_PARKINGLOT = 20
Global Const $EAX_ENVIRONMENT_SEWERPIPE = 21
Global Const $EAX_ENVIRONMENT_UNDERWATER = 22
Global Const $EAX_ENVIRONMENT_DRUGGED = 23
Global Const $EAX_ENVIRONMENT_DIZZY = 24
Global Const $EAX_ENVIRONMENT_PSYCHOTIC = 25
Global Const $EAX_ENVIRONMENT_COUNT = 26 ; total number of environments
Global Const $BASS_STREAMPROC_END = 0x80000000 ; end of user stream flag
; ===============================================================================================================================
; special STREAMPROCs
; ===============================================================================================================================
Global Const $STREAMPROC_DUMMY = 0 ; "dummy" stream
Global Const $STREAMPROC_PUSH = -1 ; push stream
; ===============================================================================================================================
; $BASS_StreamCreateFileUser file systems
; ===============================================================================================================================
Global Const $STREAMFILE_NOBUFFER = 0
Global Const $STREAMFILE_BUFFER = 1
Global Const $STREAMFILE_BUFFERPUSH = 2
; ===============================================================================================================================
; $BASS_StreamPutFileData options
; ===============================================================================================================================
Global Const $BASS_FILEDATA_END = 0 ; end & close the file
; ===============================================================================================================================
; $BASS_StreamGetFilePosition modes
; ===============================================================================================================================
Global Const $BASS_FILEPOS_CURRENT = 0
Global Const $BASS_FILEPOS_DECODE = $BASS_FILEPOS_CURRENT
Global Const $BASS_FILEPOS_DOWNLOAD = 1
Global Const $BASS_FILEPOS_END = 2
Global Const $BASS_FILEPOS_START = 3
Global Const $BASS_FILEPOS_CONNECTED = 4
Global Const $BASS_FILEPOS_BUFFER = 5
; ===============================================================================================================================
; $BASS_ChannelSetSync types
; ===============================================================================================================================
Global Const $BASS_SYNC_POS = 0
Global Const $BASS_SYNC_END = 2
Global Const $BASS_SYNC_META = 4
Global Const $BASS_SYNC_SLIDE = 5
Global Const $BASS_SYNC_STALL = 6
Global Const $BASS_SYNC_DOWNLOAD = 7
Global Const $BASS_SYNC_FREE = 8
Global Const $BASS_SYNC_SETPOS = 11
Global Const $BASS_SYNC_MUSICPOS = 10
Global Const $BASS_SYNC_MUSICINST = 1
Global Const $BASS_SYNC_MUSICFX = 3
Global Const $BASS_SYNC_OGG_CHANGE = 12
Global Const $BASS_SYNC_MIXTIME = 0x40000000 ; FLAG: sync at mixtime, else at playtime
Global Const $BASS_SYNC_ONETIME = 0x80000000 ; FLAG: sync only once, else continuously
; ===============================================================================================================================
; $BASS_ChannelIsActive return values
; ===============================================================================================================================
Global Const $BASS_ACTIVE_STOPPED = 0
Global Const $BASS_ACTIVE_PLAYING = 1
Global Const $BASS_ACTIVE_STALLED = 2
Global Const $BASS_ACTIVE_PAUSED = 3
; ===============================================================================================================================
; Channel attributes
; ===============================================================================================================================
Global Const $BASS_ATTRIB_FREQ = 1
Global Const $BASS_ATTRIB_VOL = 2
Global Const $BASS_ATTRIB_PAN = 3
Global Const $BASS_ATTRIB_EAXMIX = 4
Global Const $BASS_ATTRIB_MUSIC_AMPLIFY = 0x100
Global Const $BASS_ATTRIB_MUSIC_PANSEP = 0x101
Global Const $BASS_ATTRIB_MUSIC_PSCALER = 0x102
Global Const $BASS_ATTRIB_MUSIC_BPM = 0x103
Global Const $BASS_ATTRIB_MUSIC_SPEED = 0x104
Global Const $BASS_ATTRIB_MUSIC_VOL_GLOBAL = 0x105
Global Const $BASS_ATTRIB_MUSIC_VOL_CHAN = 0x200 ; + channel #
Global Const $BASS_ATTRIB_MUSIC_VOL_INST = 0x300 ; + instrument #
; ===============================================================================================================================
; $BASS_ChannelGetData flags
; ===============================================================================================================================
Global Const $BASS_DATA_AVAILABLE = 0 ; query how much data is buffered
Global Const $BASS_DATA_FLOAT = 0x40000000 ; flag: return floating-point sample data
Global Const $BASS_DATA_FFT256 = 0x80000000 ; 256 sample FFT
Global Const $BASS_DATA_FFT512 = 0x80000001 ; 512 FFT
Global Const $BASS_DATA_FFT1024 = 0x80000002 ; 1024 FFT
Global Const $BASS_DATA_FFT2048 = 0x80000003 ; 2048 FFT
Global Const $BASS_DATA_FFT4096 = 0x80000004 ; 4096 FFT
Global Const $BASS_DATA_FFT8192 = 0x80000005 ; 8192 FFT
Global Const $BASS_DATA_FFT_INDIVIDUAL = 0x10 ; FFT flag: FFT for each channel, else all combined
Global Const $BASS_DATA_FFT_NOWINDOW = 0x20 ; FFT flag: no Hanning window
; ===============================================================================================================================
; $BASS_ChannelGetTags types : what;s returned
; ===============================================================================================================================
Global Const $BASS_TAG_ID3 = 0 ;ID3v1 tags : 128 byte block
Global Const $BASS_TAG_ID3V2 = 1 ;ID3v2 tags : variable length block
Global Const $BASS_TAG_OGG = 2 ;OGG comments : series of null-terminated UTF-8 strings
Global Const $BASS_TAG_HTTP = 3 ;HTTP headers : series of null-terminated ANSI strings
Global Const $BASS_TAG_ICY = 4 ;ICY headers : series of null-terminated ANSI strings
Global Const $BASS_TAG_META = 5 ;ICY metadata : ANSI string
Global Const $BASS_TAG_VENDOR = 9 ;OGG encoder : UTF-8 string
Global Const $BASS_TAG_LYRICS3 = 10 ;Lyric3v2 tag : ASCII string
Global Const $BASS_TAG_RIFF_INFO = 0x100 ;RIFF/WAVE tags : series of null-terminated ANSI strings
Global Const $BASS_TAG_MUSIC_NAME = 0x10000 ;MOD music name : ANSI string
Global Const $BASS_TAG_MUSIC_MESSAGE = 0x10001 ;MOD message : ANSI string
Global Const $BASS_TAG_MUSIC_INST = 0x10100 ;+ instrument #, MOD instrument name : ANSI string
Global Const $BASS_TAG_MUSIC_SAMPLE = 0x10300 ;+ sample #, MOD sample name : ANSI string
; ===============================================================================================================================
; $BASS_ChannelGetLength/GetPosition/SetPosition modes
; ===============================================================================================================================
Global Const $BASS_POS_BYTE = 0 ; byte position
Global Const $BASS_POS_MUSIC_ORDER = 1 ; order.row position, MAKEdword(order,row)
; ===============================================================================================================================
; $BASS_RecordSetInput flags
; ===============================================================================================================================
Global Const $BASS_INPUT_OFF = 0x10000
Global Const $BASS_INPUT_ON = 0x20000
Global Const $BASS_INPUT_TYPE_MASK = 0xFF000000
Global Const $BASS_INPUT_TYPE_UNDEF = 0x0
Global Const $BASS_INPUT_TYPE_DIGITAL = 0x1000000
Global Const $BASS_INPUT_TYPE_LINE = 0x2000000
Global Const $BASS_INPUT_TYPE_MIC = 0x3000000
Global Const $BASS_INPUT_TYPE_SYNTH = 0x4000000
Global Const $BASS_INPUT_TYPE_CD = 0x5000000
Global Const $BASS_INPUT_TYPE_PHONE = 0x6000000
Global Const $BASS_INPUT_TYPE_SPEAKER = 0x7000000
Global Const $BASS_INPUT_TYPE_WAVE = 0x8000000
Global Const $BASS_INPUT_TYPE_AUX = 0x9000000
Global Const $BASS_INPUT_TYPE_ANALOG = 0xA000000
; ===============================================================================================================================
; DX8 effect types, use with $BASS_ChannelSetFX
; ===============================================================================================================================
Global Const $BASS_FX_DX8_CHORUS = "BASS_FX_DX8_CHORUS"
Global Const $BASS_FX_DX8_CHORUS_VALUE = 0
Global Const $BASS_FX_DX8_COMPRESSOR = "BASS_FX_DX8_COMPRESSOR"
Global Const $BASS_FX_DX8_COMPRESSOR_VALUE = 1
Global Const $BASS_FX_DX8_DISTORTION = "BASS_FX_DX8_DISTORTION"
Global Const $BASS_FX_DX8_DISTORTION_VALUE = 2
Global Const $BASS_FX_DX8_ECHO = "BASS_FX_DX8_ECHO"
Global Const $BASS_FX_DX8_ECHO_VALUE = 3
Global Const $BASS_FX_DX8_FLANGER = "BASS_FX_DX8_FLANGER"
Global Const $BASS_FX_DX8_FLANGER_VALUE = 4
Global Const $BASS_FX_DX8_GARGLE = "BASS_FX_DX8_GARGLE"
Global Const $BASS_FX_DX8_GARGLE_VALUE = 5
Global Const $BASS_FX_DX8_I3DL2REVERB = "BASS_FX_DX8_I3DL2REVERB"
Global Const $BASS_FX_DX8_I3DL2REVERB_VALUE = 6
Global Const $BASS_FX_DX8_PARAMEQ = "BASS_FX_DX8_PARAMEQ"
Global Const $BASS_FX_DX8_PARAMEQ_VALUE = 7
Global Const $BASS_FX_DX8_REVERB = "BASS_FX_DX8_REVERB"
Global Const $BASS_FX_DX8_REVERB_VALUE = 8
$BASS_DX8_CHORUS = 'float;' & _ ;fWetDryMix
'float;' & _ ;fDepth
'float;' & _ ;fFeedback
'float;' & _ ;fFrequency
'dword;' & _ ;lWaveform, 0=triangle, 1=sine
'float;' & _ ;fDelay
'dword;' ;lPhase
$BASS_DX8_COMPRESSOR = 'float;' & _ ;fGain
'float;' & _ ;fAttack
'float;' & _ ;fRelease
'float;' & _ ;fThreshold
'float;' & _ ;fRatio
'float;' ;fPredelay
$BASS_DX8_DISTORTION = 'float;' & _ ;fGain
'float;' & _ ;fEdge
'float;' & _ ;fPostEQCenterFrequency
'float;' & _ ;fPostEQBandwidth
'float;' ;fPreLowpassCutoff
$BASS_DX8_ECHO = 'float;' & _ ;fWetDryMix
'float;' & _ ;fFeedback
'float;' & _ ;fLeftDelay
'float;' & _ ;fRightDelay
'int;' ;lPanDelay
$BASS_DX8_FLANGER = 'float;' & _ ;fWetDryMix
'float;' & _ ;fDepth
'float;' & _ ;fFeedback
'float;' & _ ;fFrequency
'dword;' & _ ;lWaveform, 0=triangle, 1=sine
'float;' & _ ;fDelay
'dword;' ;lPhase
$BASS_DX8_GARGLE = 'dword;' & _ ;dwRateHz
'dword;' ;dwWaveShape, 0=triangle, 1=square
$BASS_DX8_I3DL2REVERB = 'int;' & _ ;lRoom [-10000, 0] default: -1000 mB
'int;' & _ ;lRoomHF [-10000, 0] default: 0 mB
'float;' & _ ;flRoomRolloffFactor [0.0, 10.0] default: 0.0
'float;' & _ ;flDecayTime [0.1, 20.0] default: 1.49s
'float;' & _ ;flDecayHFRatio [0.1, 2.0] default: 0.83
'int;' & _ ;lReflections [-10000, 1000] default: -2602 mB
'float;' & _ ;flReflectionsDelay [0.0, 0.3] default: 0.007 s
'int;' & _ ;lReverb [-10000, 2000] default: 200 mB
'float;' & _ ;flReverbDelay [0.0, 0.1] default: 0.011 s
'float;' & _ ;flDiffusion [0.0, 100.0] default: 100.0 %
'float;' & _ ;flDensity [0.0, 100.0] default: 100.0 %
'float;' ;flHFReference [20.0, 20000.0] default: 5000.0 Hz
$BASS_DX8_PARAMEQ = 'float;' & _ ;fCenter
'float;' & _ ;fBandwidth
'float;' ;fGain
$BASS_DX8_REVERB = 'float;' & _ ;fInGain [-96.0,0.0] default: 0.0 dB
'float;' & _ ;fReverbMix [-96.0,0.0] default: 0.0 db
'float;' & _ ;fReverbTime [0.001,3000.0] default: 1000.0 ms
'float;' ;fHighFreqRTRatio [0.001,0.999] default: 0.001
$ogg_tag = "char id[3];wchar title[30];wchar artist[30];wchar album[30];char year[4];wchar comment[30];ubyte genre;"
Global Const $BASS_DX8_PHASE_NEG_180 = 0
Global Const $BASS_DX8_PHASE_NEG_90 = 1
Global Const $BASS_DX8_PHASE_ZERO = 2
Global Const $BASS_DX8_PHASE_90 = 3
Global Const $BASS_DX8_PHASE_180 = 4