AL.java 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054
  1. package com.jme3.audio.android;
  2. /**
  3. *
  4. * @author iwgeric
  5. */
  6. public class AL {
  7. /* ********** */
  8. /* FROM ALC.h */
  9. /* ********** */
  10. // typedef struct ALCdevice_struct ALCdevice;
  11. // typedef struct ALCcontext_struct ALCcontext;
  12. /**
  13. * No error
  14. */
  15. static final int ALC_NO_ERROR = 0;
  16. /**
  17. * No device
  18. */
  19. static final int ALC_INVALID_DEVICE = 0xA001;
  20. /**
  21. * invalid context ID
  22. */
  23. static final int ALC_INVALID_CONTEXT = 0xA002;
  24. /**
  25. * bad enum
  26. */
  27. static final int ALC_INVALID_ENUM = 0xA003;
  28. /**
  29. * bad value
  30. */
  31. static final int ALC_INVALID_VALUE = 0xA004;
  32. /**
  33. * Out of memory.
  34. */
  35. static final int ALC_OUT_OF_MEMORY = 0xA005;
  36. /**
  37. * The Specifier string for default device
  38. */
  39. static final int ALC_DEFAULT_DEVICE_SPECIFIER = 0x1004;
  40. static final int ALC_DEVICE_SPECIFIER = 0x1005;
  41. static final int ALC_EXTENSIONS = 0x1006;
  42. static final int ALC_MAJOR_VERSION = 0x1000;
  43. static final int ALC_MINOR_VERSION = 0x1001;
  44. static final int ALC_ATTRIBUTES_SIZE = 0x1002;
  45. static final int ALC_ALL_ATTRIBUTES = 0x1003;
  46. /**
  47. * Capture extension
  48. */
  49. static final int ALC_EXT_CAPTURE = 1;
  50. static final int ALC_CAPTURE_DEVICE_SPECIFIER = 0x310;
  51. static final int ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311;
  52. static final int ALC_CAPTURE_SAMPLES = 0x312;
  53. /**
  54. * ALC_ENUMERATE_ALL_EXT enums
  55. */
  56. static final int ALC_ENUMERATE_ALL_EXT = 1;
  57. static final int ALC_DEFAULT_ALL_DEVICES_SPECIFIER = 0x1012;
  58. static final int ALC_ALL_DEVICES_SPECIFIER = 0x1013;
  59. /* ********** */
  60. /* FROM AL.h */
  61. /* ********** */
  62. /** Boolean False. */
  63. static final int AL_FALSE = 0;
  64. /** Boolean True. */
  65. static final int AL_TRUE = 1;
  66. /* "no distance model" or "no buffer" */
  67. static final int AL_NONE = 0;
  68. /** Indicate Source has relative coordinates. */
  69. static final int AL_SOURCE_RELATIVE = 0x202;
  70. /**
  71. * Directional source, inner cone angle, in degrees.
  72. * Range: [0-360]
  73. * Default: 360
  74. */
  75. static final int AL_CONE_INNER_ANGLE = 0x1001;
  76. /**
  77. * Directional source, outer cone angle, in degrees.
  78. * Range: [0-360]
  79. * Default: 360
  80. */
  81. static final int AL_CONE_OUTER_ANGLE = 0x1002;
  82. /**
  83. * Specify the pitch to be applied at source.
  84. * Range: [0.5-2.0]
  85. * Default: 1.0
  86. */
  87. static final int AL_PITCH = 0x1003;
  88. /**
  89. * Specify the current location in three dimensional space.
  90. * OpenAL, like OpenGL, uses a right handed coordinate system,
  91. * where in a frontal default view X (thumb) points right,
  92. * Y points up (index finger), and Z points towards the
  93. * viewer/camera (middle finger).
  94. * To switch from a left handed coordinate system, flip the
  95. * sign on the Z coordinate.
  96. * Listener position is always in the world coordinate system.
  97. */
  98. static final int AL_POSITION = 0x1004;
  99. /** Specify the current direction. */
  100. static final int AL_DIRECTION = 0x1005;
  101. /** Specify the current velocity in three dimensional space. */
  102. static final int AL_VELOCITY = 0x1006;
  103. /**
  104. * Indicate whether source is looping.
  105. * Type: ALboolean?
  106. * Range: [AL_TRUE, AL_FALSE]
  107. * Default: FALSE.
  108. */
  109. static final int AL_LOOPING = 0x1007;
  110. /**
  111. * Indicate the buffer to provide sound samples.
  112. * Type: ALuint.
  113. * Range: any valid Buffer id.
  114. */
  115. static final int AL_BUFFER = 0x1009;
  116. /**
  117. * Indicate the gain (volume amplification) applied.
  118. * Type: ALfloat.
  119. * Range: ]0.0- ]
  120. * A value of 1.0 means un-attenuated/unchanged.
  121. * Each division by 2 equals an attenuation of -6dB.
  122. * Each multiplicaton with 2 equals an amplification of +6dB.
  123. * A value of 0.0 is meaningless with respect to a logarithmic
  124. * scale; it is interpreted as zero volume - the channel
  125. * is effectively disabled.
  126. */
  127. static final int AL_GAIN = 0x100A;
  128. /*
  129. * Indicate minimum source attenuation
  130. * Type: ALfloat
  131. * Range: [0.0 - 1.0]
  132. *
  133. * Logarthmic
  134. */
  135. static final int AL_MIN_GAIN = 0x100D;
  136. /**
  137. * Indicate maximum source attenuation
  138. * Type: ALfloat
  139. * Range: [0.0 - 1.0]
  140. *
  141. * Logarthmic
  142. */
  143. static final int AL_MAX_GAIN = 0x100E;
  144. /**
  145. * Indicate listener orientation.
  146. *
  147. * at/up
  148. */
  149. static final int AL_ORIENTATION = 0x100F;
  150. /**
  151. * Source state information.
  152. */
  153. static final int AL_SOURCE_STATE = 0x1010;
  154. static final int AL_INITIAL = 0x1011;
  155. static final int AL_PLAYING = 0x1012;
  156. static final int AL_PAUSED = 0x1013;
  157. static final int AL_STOPPED = 0x1014;
  158. /**
  159. * Buffer Queue params
  160. */
  161. static final int AL_BUFFERS_QUEUED = 0x1015;
  162. static final int AL_BUFFERS_PROCESSED = 0x1016;
  163. /**
  164. * Source buffer position information
  165. */
  166. static final int AL_SEC_OFFSET = 0x1024;
  167. static final int AL_SAMPLE_OFFSET = 0x1025;
  168. static final int AL_BYTE_OFFSET = 0x1026;
  169. /*
  170. * Source type (Static, Streaming or undetermined)
  171. * Source is Static if a Buffer has been attached using AL_BUFFER
  172. * Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers
  173. * Source is undetermined when it has the NULL buffer attached
  174. */
  175. static final int AL_SOURCE_TYPE = 0x1027;
  176. static final int AL_STATIC = 0x1028;
  177. static final int AL_STREAMING = 0x1029;
  178. static final int AL_UNDETERMINED = 0x1030;
  179. /** Sound samples: format specifier. */
  180. static final int AL_FORMAT_MONO8 = 0x1100;
  181. static final int AL_FORMAT_MONO16 = 0x1101;
  182. static final int AL_FORMAT_STEREO8 = 0x1102;
  183. static final int AL_FORMAT_STEREO16 = 0x1103;
  184. /**
  185. * source specific reference distance
  186. * Type: ALfloat
  187. * Range: 0.0 - +inf
  188. *
  189. * At 0.0, no distance attenuation occurs. Default is
  190. * 1.0.
  191. */
  192. static final int AL_REFERENCE_DISTANCE = 0x1020;
  193. /**
  194. * source specific rolloff factor
  195. * Type: ALfloat
  196. * Range: 0.0 - +inf
  197. *
  198. */
  199. static final int AL_ROLLOFF_FACTOR = 0x1021;
  200. /**
  201. * Directional source, outer cone gain.
  202. *
  203. * Default: 0.0
  204. * Range: [0.0 - 1.0]
  205. * Logarithmic
  206. */
  207. static final int AL_CONE_OUTER_GAIN = 0x1022;
  208. /**
  209. * Indicate distance above which sources are not
  210. * attenuated using the inverse clamped distance model.
  211. *
  212. * Default: +inf
  213. * Type: ALfloat
  214. * Range: 0.0 - +inf
  215. */
  216. static final int AL_MAX_DISTANCE = 0x1023;
  217. /**
  218. * Sound samples: frequency, in units of Hertz [Hz].
  219. * This is the number of samples per second. Half of the
  220. * sample frequency marks the maximum significant
  221. * frequency component.
  222. */
  223. static final int AL_FREQUENCY = 0x2001;
  224. static final int AL_BITS = 0x2002;
  225. static final int AL_CHANNELS = 0x2003;
  226. static final int AL_SIZE = 0x2004;
  227. /**
  228. * Buffer state.
  229. *
  230. * Not supported for public use (yet).
  231. */
  232. static final int AL_UNUSED = 0x2010;
  233. static final int AL_PENDING = 0x2011;
  234. static final int AL_PROCESSED = 0x2012;
  235. /** Errors: No Error. */
  236. static final int AL_NO_ERROR = 0;
  237. /**
  238. * Invalid Name paramater passed to AL call.
  239. */
  240. static final int AL_INVALID_NAME = 0xA001;
  241. /**
  242. * Invalid parameter passed to AL call.
  243. */
  244. static final int AL_INVALID_ENUM = 0xA002;
  245. /**
  246. * Invalid enum parameter value.
  247. */
  248. static final int AL_INVALID_VALUE = 0xA003;
  249. /**
  250. * Illegal call.
  251. */
  252. static final int AL_INVALID_OPERATION = 0xA004;
  253. /**
  254. * No mojo.
  255. */
  256. static final int AL_OUT_OF_MEMORY = 0xA005;
  257. /** Context strings: Vendor Name. */
  258. static final int AL_VENDOR = 0xB001;
  259. static final int AL_VERSION = 0xB002;
  260. static final int AL_RENDERER = 0xB003;
  261. static final int AL_EXTENSIONS = 0xB004;
  262. /** Global tweakage. */
  263. /**
  264. * Doppler scale. Default 1.0
  265. */
  266. static final int AL_DOPPLER_FACTOR = 0xC000;
  267. /**
  268. * Tweaks speed of propagation.
  269. */
  270. static final int AL_DOPPLER_VELOCITY = 0xC001;
  271. /**
  272. * Speed of Sound in units per second
  273. */
  274. static final int AL_SPEED_OF_SOUND = 0xC003;
  275. /**
  276. * Distance models
  277. *
  278. * used in conjunction with DistanceModel
  279. *
  280. * implicit: NONE, which disances distance attenuation.
  281. */
  282. static final int AL_DISTANCE_MODEL = 0xD000;
  283. static final int AL_INVERSE_DISTANCE = 0xD001;
  284. static final int AL_INVERSE_DISTANCE_CLAMPED = 0xD002;
  285. static final int AL_LINEAR_DISTANCE = 0xD003;
  286. static final int AL_LINEAR_DISTANCE_CLAMPED = 0xD004;
  287. static final int AL_EXPONENT_DISTANCE = 0xD005;
  288. static final int AL_EXPONENT_DISTANCE_CLAMPED = 0xD006;
  289. /* ********** */
  290. /* FROM efx.h */
  291. /* ********** */
  292. static final String ALC_EXT_EFX_NAME = "ALC_EXT_EFX";
  293. static final int ALC_EFX_MAJOR_VERSION = 0x20001;
  294. static final int ALC_EFX_MINOR_VERSION = 0x20002;
  295. static final int ALC_MAX_AUXILIARY_SENDS = 0x20003;
  296. ///* Listener properties. */
  297. //#define AL_METERS_PER_UNIT 0x20004
  298. //
  299. ///* Source properties. */
  300. static final int AL_DIRECT_FILTER = 0x20005;
  301. static final int AL_AUXILIARY_SEND_FILTER = 0x20006;
  302. //#define AL_AIR_ABSORPTION_FACTOR 0x20007
  303. //#define AL_ROOM_ROLLOFF_FACTOR 0x20008
  304. //#define AL_CONE_OUTER_GAINHF 0x20009
  305. static final int AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A;
  306. //#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
  307. //#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
  308. //
  309. //
  310. ///* Effect properties. */
  311. //
  312. ///* Reverb effect parameters */
  313. static final int AL_REVERB_DENSITY = 0x0001;
  314. static final int AL_REVERB_DIFFUSION = 0x0002;
  315. static final int AL_REVERB_GAIN = 0x0003;
  316. static final int AL_REVERB_GAINHF = 0x0004;
  317. static final int AL_REVERB_DECAY_TIME = 0x0005;
  318. static final int AL_REVERB_DECAY_HFRATIO = 0x0006;
  319. static final int AL_REVERB_REFLECTIONS_GAIN = 0x0007;
  320. static final int AL_REVERB_REFLECTIONS_DELAY = 0x0008;
  321. static final int AL_REVERB_LATE_REVERB_GAIN = 0x0009;
  322. static final int AL_REVERB_LATE_REVERB_DELAY = 0x000A;
  323. static final int AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B;
  324. static final int AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C;
  325. static final int AL_REVERB_DECAY_HFLIMIT = 0x000D;
  326. ///* EAX Reverb effect parameters */
  327. //#define AL_EAXREVERB_DENSITY 0x0001
  328. //#define AL_EAXREVERB_DIFFUSION 0x0002
  329. //#define AL_EAXREVERB_GAIN 0x0003
  330. //#define AL_EAXREVERB_GAINHF 0x0004
  331. //#define AL_EAXREVERB_GAINLF 0x0005
  332. //#define AL_EAXREVERB_DECAY_TIME 0x0006
  333. //#define AL_EAXREVERB_DECAY_HFRATIO 0x0007
  334. //#define AL_EAXREVERB_DECAY_LFRATIO 0x0008
  335. //#define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009
  336. //#define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A
  337. //#define AL_EAXREVERB_REFLECTIONS_PAN 0x000B
  338. //#define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C
  339. //#define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D
  340. //#define AL_EAXREVERB_LATE_REVERB_PAN 0x000E
  341. //#define AL_EAXREVERB_ECHO_TIME 0x000F
  342. //#define AL_EAXREVERB_ECHO_DEPTH 0x0010
  343. //#define AL_EAXREVERB_MODULATION_TIME 0x0011
  344. //#define AL_EAXREVERB_MODULATION_DEPTH 0x0012
  345. //#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013
  346. //#define AL_EAXREVERB_HFREFERENCE 0x0014
  347. //#define AL_EAXREVERB_LFREFERENCE 0x0015
  348. //#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016
  349. //#define AL_EAXREVERB_DECAY_HFLIMIT 0x0017
  350. //
  351. ///* Chorus effect parameters */
  352. //#define AL_CHORUS_WAVEFORM 0x0001
  353. //#define AL_CHORUS_PHASE 0x0002
  354. //#define AL_CHORUS_RATE 0x0003
  355. //#define AL_CHORUS_DEPTH 0x0004
  356. //#define AL_CHORUS_FEEDBACK 0x0005
  357. //#define AL_CHORUS_DELAY 0x0006
  358. //
  359. ///* Distortion effect parameters */
  360. //#define AL_DISTORTION_EDGE 0x0001
  361. //#define AL_DISTORTION_GAIN 0x0002
  362. //#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003
  363. //#define AL_DISTORTION_EQCENTER 0x0004
  364. //#define AL_DISTORTION_EQBANDWIDTH 0x0005
  365. //
  366. ///* Echo effect parameters */
  367. //#define AL_ECHO_DELAY 0x0001
  368. //#define AL_ECHO_LRDELAY 0x0002
  369. //#define AL_ECHO_DAMPING 0x0003
  370. //#define AL_ECHO_FEEDBACK 0x0004
  371. //#define AL_ECHO_SPREAD 0x0005
  372. //
  373. ///* Flanger effect parameters */
  374. //#define AL_FLANGER_WAVEFORM 0x0001
  375. //#define AL_FLANGER_PHASE 0x0002
  376. //#define AL_FLANGER_RATE 0x0003
  377. //#define AL_FLANGER_DEPTH 0x0004
  378. //#define AL_FLANGER_FEEDBACK 0x0005
  379. //#define AL_FLANGER_DELAY 0x0006
  380. //
  381. ///* Frequency shifter effect parameters */
  382. //#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001
  383. //#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002
  384. //#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003
  385. //
  386. ///* Vocal morpher effect parameters */
  387. //#define AL_VOCAL_MORPHER_PHONEMEA 0x0001
  388. //#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002
  389. //#define AL_VOCAL_MORPHER_PHONEMEB 0x0003
  390. //#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004
  391. //#define AL_VOCAL_MORPHER_WAVEFORM 0x0005
  392. //#define AL_VOCAL_MORPHER_RATE 0x0006
  393. //
  394. ///* Pitchshifter effect parameters */
  395. //#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001
  396. //#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002
  397. //
  398. ///* Ringmodulator effect parameters */
  399. //#define AL_RING_MODULATOR_FREQUENCY 0x0001
  400. //#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002
  401. //#define AL_RING_MODULATOR_WAVEFORM 0x0003
  402. //
  403. ///* Autowah effect parameters */
  404. //#define AL_AUTOWAH_ATTACK_TIME 0x0001
  405. //#define AL_AUTOWAH_RELEASE_TIME 0x0002
  406. //#define AL_AUTOWAH_RESONANCE 0x0003
  407. //#define AL_AUTOWAH_PEAK_GAIN 0x0004
  408. //
  409. ///* Compressor effect parameters */
  410. //#define AL_COMPRESSOR_ONOFF 0x0001
  411. //
  412. ///* Equalizer effect parameters */
  413. //#define AL_EQUALIZER_LOW_GAIN 0x0001
  414. //#define AL_EQUALIZER_LOW_CUTOFF 0x0002
  415. //#define AL_EQUALIZER_MID1_GAIN 0x0003
  416. //#define AL_EQUALIZER_MID1_CENTER 0x0004
  417. //#define AL_EQUALIZER_MID1_WIDTH 0x0005
  418. //#define AL_EQUALIZER_MID2_GAIN 0x0006
  419. //#define AL_EQUALIZER_MID2_CENTER 0x0007
  420. //#define AL_EQUALIZER_MID2_WIDTH 0x0008
  421. //#define AL_EQUALIZER_HIGH_GAIN 0x0009
  422. //#define AL_EQUALIZER_HIGH_CUTOFF 0x000A
  423. //
  424. ///* Effect type */
  425. //#define AL_EFFECT_FIRST_PARAMETER 0x0000
  426. //#define AL_EFFECT_LAST_PARAMETER 0x8000
  427. static final int AL_EFFECT_TYPE = 0x8001;
  428. //
  429. ///* Effect types, used with the AL_EFFECT_TYPE property */
  430. //#define AL_EFFECT_NULL 0x0000
  431. static final int AL_EFFECT_REVERB = 0x0001;
  432. //#define AL_EFFECT_CHORUS 0x0002
  433. //#define AL_EFFECT_DISTORTION 0x0003
  434. //#define AL_EFFECT_ECHO 0x0004
  435. //#define AL_EFFECT_FLANGER 0x0005
  436. //#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
  437. //#define AL_EFFECT_VOCAL_MORPHER 0x0007
  438. //#define AL_EFFECT_PITCH_SHIFTER 0x0008
  439. //#define AL_EFFECT_RING_MODULATOR 0x0009
  440. //#define AL_EFFECT_AUTOWAH 0x000A
  441. //#define AL_EFFECT_COMPRESSOR 0x000B
  442. //#define AL_EFFECT_EQUALIZER 0x000C
  443. //#define AL_EFFECT_EAXREVERB 0x8000
  444. //
  445. ///* Auxiliary Effect Slot properties. */
  446. static final int AL_EFFECTSLOT_EFFECT = 0x0001;
  447. //#define AL_EFFECTSLOT_GAIN 0x0002
  448. //#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
  449. //
  450. ///* NULL Auxiliary Slot ID to disable a source send. */
  451. //#define AL_EFFECTSLOT_NULL 0x0000
  452. //
  453. //
  454. ///* Filter properties. */
  455. //
  456. ///* Lowpass filter parameters */
  457. static final int AL_LOWPASS_GAIN = 0x0001;
  458. static final int AL_LOWPASS_GAINHF = 0x0002;
  459. //
  460. ///* Highpass filter parameters */
  461. //#define AL_HIGHPASS_GAIN 0x0001
  462. //#define AL_HIGHPASS_GAINLF 0x0002
  463. //
  464. ///* Bandpass filter parameters */
  465. //#define AL_BANDPASS_GAIN 0x0001
  466. //#define AL_BANDPASS_GAINLF 0x0002
  467. //#define AL_BANDPASS_GAINHF 0x0003
  468. //
  469. ///* Filter type */
  470. //#define AL_FILTER_FIRST_PARAMETER 0x0000
  471. //#define AL_FILTER_LAST_PARAMETER 0x8000
  472. static final int AL_FILTER_TYPE = 0x8001;
  473. //
  474. ///* Filter types, used with the AL_FILTER_TYPE property */
  475. static final int AL_FILTER_NULL = 0x0000;
  476. static final int AL_FILTER_LOWPASS = 0x0001;
  477. static final int AL_FILTER_HIGHPASS = 0x0002;
  478. //#define AL_FILTER_BANDPASS 0x0003
  479. //
  480. ///* Filter ranges and defaults. */
  481. //
  482. ///* Lowpass filter */
  483. //#define AL_LOWPASS_MIN_GAIN (0.0f)
  484. //#define AL_LOWPASS_MAX_GAIN (1.0f)
  485. //#define AL_LOWPASS_DEFAULT_GAIN (1.0f)
  486. //
  487. //#define AL_LOWPASS_MIN_GAINHF (0.0f)
  488. //#define AL_LOWPASS_MAX_GAINHF (1.0f)
  489. //#define AL_LOWPASS_DEFAULT_GAINHF (1.0f)
  490. //
  491. ///* Highpass filter */
  492. //#define AL_HIGHPASS_MIN_GAIN (0.0f)
  493. //#define AL_HIGHPASS_MAX_GAIN (1.0f)
  494. //#define AL_HIGHPASS_DEFAULT_GAIN (1.0f)
  495. //
  496. //#define AL_HIGHPASS_MIN_GAINLF (0.0f)
  497. //#define AL_HIGHPASS_MAX_GAINLF (1.0f)
  498. //#define AL_HIGHPASS_DEFAULT_GAINLF (1.0f)
  499. //
  500. ///* Bandpass filter */
  501. //#define AL_BANDPASS_MIN_GAIN (0.0f)
  502. //#define AL_BANDPASS_MAX_GAIN (1.0f)
  503. //#define AL_BANDPASS_DEFAULT_GAIN (1.0f)
  504. //
  505. //#define AL_BANDPASS_MIN_GAINHF (0.0f)
  506. //#define AL_BANDPASS_MAX_GAINHF (1.0f)
  507. //#define AL_BANDPASS_DEFAULT_GAINHF (1.0f)
  508. //
  509. //#define AL_BANDPASS_MIN_GAINLF (0.0f)
  510. //#define AL_BANDPASS_MAX_GAINLF (1.0f)
  511. //#define AL_BANDPASS_DEFAULT_GAINLF (1.0f)
  512. //
  513. //
  514. ///* Effect parameter ranges and defaults. */
  515. //
  516. ///* Standard reverb effect */
  517. //#define AL_REVERB_MIN_DENSITY (0.0f)
  518. //#define AL_REVERB_MAX_DENSITY (1.0f)
  519. //#define AL_REVERB_DEFAULT_DENSITY (1.0f)
  520. //
  521. //#define AL_REVERB_MIN_DIFFUSION (0.0f)
  522. //#define AL_REVERB_MAX_DIFFUSION (1.0f)
  523. //#define AL_REVERB_DEFAULT_DIFFUSION (1.0f)
  524. //
  525. //#define AL_REVERB_MIN_GAIN (0.0f)
  526. //#define AL_REVERB_MAX_GAIN (1.0f)
  527. //#define AL_REVERB_DEFAULT_GAIN (0.32f)
  528. //
  529. //#define AL_REVERB_MIN_GAINHF (0.0f)
  530. //#define AL_REVERB_MAX_GAINHF (1.0f)
  531. //#define AL_REVERB_DEFAULT_GAINHF (0.89f)
  532. //
  533. //#define AL_REVERB_MIN_DECAY_TIME (0.1f)
  534. //#define AL_REVERB_MAX_DECAY_TIME (20.0f)
  535. //#define AL_REVERB_DEFAULT_DECAY_TIME (1.49f)
  536. //
  537. //#define AL_REVERB_MIN_DECAY_HFRATIO (0.1f)
  538. //#define AL_REVERB_MAX_DECAY_HFRATIO (2.0f)
  539. //#define AL_REVERB_DEFAULT_DECAY_HFRATIO (0.83f)
  540. //
  541. //#define AL_REVERB_MIN_REFLECTIONS_GAIN (0.0f)
  542. //#define AL_REVERB_MAX_REFLECTIONS_GAIN (3.16f)
  543. //#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN (0.05f)
  544. //
  545. //#define AL_REVERB_MIN_REFLECTIONS_DELAY (0.0f)
  546. //#define AL_REVERB_MAX_REFLECTIONS_DELAY (0.3f)
  547. //#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY (0.007f)
  548. //
  549. //#define AL_REVERB_MIN_LATE_REVERB_GAIN (0.0f)
  550. //#define AL_REVERB_MAX_LATE_REVERB_GAIN (10.0f)
  551. //#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN (1.26f)
  552. //
  553. //#define AL_REVERB_MIN_LATE_REVERB_DELAY (0.0f)
  554. //#define AL_REVERB_MAX_LATE_REVERB_DELAY (0.1f)
  555. //#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY (0.011f)
  556. //
  557. //#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f)
  558. //#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f)
  559. //#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
  560. //
  561. //#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
  562. //#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
  563. //#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
  564. //
  565. //#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE
  566. //#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE
  567. //#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
  568. //
  569. ///* EAX reverb effect */
  570. //#define AL_EAXREVERB_MIN_DENSITY (0.0f)
  571. //#define AL_EAXREVERB_MAX_DENSITY (1.0f)
  572. //#define AL_EAXREVERB_DEFAULT_DENSITY (1.0f)
  573. //
  574. //#define AL_EAXREVERB_MIN_DIFFUSION (0.0f)
  575. //#define AL_EAXREVERB_MAX_DIFFUSION (1.0f)
  576. //#define AL_EAXREVERB_DEFAULT_DIFFUSION (1.0f)
  577. //
  578. //#define AL_EAXREVERB_MIN_GAIN (0.0f)
  579. //#define AL_EAXREVERB_MAX_GAIN (1.0f)
  580. //#define AL_EAXREVERB_DEFAULT_GAIN (0.32f)
  581. //
  582. //#define AL_EAXREVERB_MIN_GAINHF (0.0f)
  583. //#define AL_EAXREVERB_MAX_GAINHF (1.0f)
  584. //#define AL_EAXREVERB_DEFAULT_GAINHF (0.89f)
  585. //
  586. //#define AL_EAXREVERB_MIN_GAINLF (0.0f)
  587. //#define AL_EAXREVERB_MAX_GAINLF (1.0f)
  588. //#define AL_EAXREVERB_DEFAULT_GAINLF (1.0f)
  589. //
  590. //#define AL_EAXREVERB_MIN_DECAY_TIME (0.1f)
  591. //#define AL_EAXREVERB_MAX_DECAY_TIME (20.0f)
  592. //#define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f)
  593. //
  594. //#define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f)
  595. //#define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f)
  596. //#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f)
  597. //
  598. //#define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f)
  599. //#define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f)
  600. //#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f)
  601. //
  602. //#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f)
  603. //#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f)
  604. //#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f)
  605. //
  606. //#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f)
  607. //#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f)
  608. //#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f)
  609. //
  610. //#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f)
  611. //
  612. //#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN (0.0f)
  613. //#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN (10.0f)
  614. //#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN (1.26f)
  615. //
  616. //#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY (0.0f)
  617. //#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY (0.1f)
  618. //#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY (0.011f)
  619. //
  620. //#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f)
  621. //
  622. //#define AL_EAXREVERB_MIN_ECHO_TIME (0.075f)
  623. //#define AL_EAXREVERB_MAX_ECHO_TIME (0.25f)
  624. //#define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f)
  625. //
  626. //#define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f)
  627. //#define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f)
  628. //#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f)
  629. //
  630. //#define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f)
  631. //#define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f)
  632. //#define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f)
  633. //
  634. //#define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f)
  635. //#define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f)
  636. //#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f)
  637. //
  638. //#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f)
  639. //#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f)
  640. //#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
  641. //
  642. //#define AL_EAXREVERB_MIN_HFREFERENCE (1000.0f)
  643. //#define AL_EAXREVERB_MAX_HFREFERENCE (20000.0f)
  644. //#define AL_EAXREVERB_DEFAULT_HFREFERENCE (5000.0f)
  645. //
  646. //#define AL_EAXREVERB_MIN_LFREFERENCE (20.0f)
  647. //#define AL_EAXREVERB_MAX_LFREFERENCE (1000.0f)
  648. //#define AL_EAXREVERB_DEFAULT_LFREFERENCE (250.0f)
  649. //
  650. //#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
  651. //#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
  652. //#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
  653. //
  654. //#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE
  655. //#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE
  656. //#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
  657. //
  658. ///* Chorus effect */
  659. //#define AL_CHORUS_WAVEFORM_SINUSOID (0)
  660. //#define AL_CHORUS_WAVEFORM_TRIANGLE (1)
  661. //
  662. //#define AL_CHORUS_MIN_WAVEFORM (0)
  663. //#define AL_CHORUS_MAX_WAVEFORM (1)
  664. //#define AL_CHORUS_DEFAULT_WAVEFORM (1)
  665. //
  666. //#define AL_CHORUS_MIN_PHASE (-180)
  667. //#define AL_CHORUS_MAX_PHASE (180)
  668. //#define AL_CHORUS_DEFAULT_PHASE (90)
  669. //
  670. //#define AL_CHORUS_MIN_RATE (0.0f)
  671. //#define AL_CHORUS_MAX_RATE (10.0f)
  672. //#define AL_CHORUS_DEFAULT_RATE (1.1f)
  673. //
  674. //#define AL_CHORUS_MIN_DEPTH (0.0f)
  675. //#define AL_CHORUS_MAX_DEPTH (1.0f)
  676. //#define AL_CHORUS_DEFAULT_DEPTH (0.1f)
  677. //
  678. //#define AL_CHORUS_MIN_FEEDBACK (-1.0f)
  679. //#define AL_CHORUS_MAX_FEEDBACK (1.0f)
  680. //#define AL_CHORUS_DEFAULT_FEEDBACK (0.25f)
  681. //
  682. //#define AL_CHORUS_MIN_DELAY (0.0f)
  683. //#define AL_CHORUS_MAX_DELAY (0.016f)
  684. //#define AL_CHORUS_DEFAULT_DELAY (0.016f)
  685. //
  686. ///* Distortion effect */
  687. //#define AL_DISTORTION_MIN_EDGE (0.0f)
  688. //#define AL_DISTORTION_MAX_EDGE (1.0f)
  689. //#define AL_DISTORTION_DEFAULT_EDGE (0.2f)
  690. //
  691. //#define AL_DISTORTION_MIN_GAIN (0.01f)
  692. //#define AL_DISTORTION_MAX_GAIN (1.0f)
  693. //#define AL_DISTORTION_DEFAULT_GAIN (0.05f)
  694. //
  695. //#define AL_DISTORTION_MIN_LOWPASS_CUTOFF (80.0f)
  696. //#define AL_DISTORTION_MAX_LOWPASS_CUTOFF (24000.0f)
  697. //#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF (8000.0f)
  698. //
  699. //#define AL_DISTORTION_MIN_EQCENTER (80.0f)
  700. //#define AL_DISTORTION_MAX_EQCENTER (24000.0f)
  701. //#define AL_DISTORTION_DEFAULT_EQCENTER (3600.0f)
  702. //
  703. //#define AL_DISTORTION_MIN_EQBANDWIDTH (80.0f)
  704. //#define AL_DISTORTION_MAX_EQBANDWIDTH (24000.0f)
  705. //#define AL_DISTORTION_DEFAULT_EQBANDWIDTH (3600.0f)
  706. //
  707. ///* Echo effect */
  708. //#define AL_ECHO_MIN_DELAY (0.0f)
  709. //#define AL_ECHO_MAX_DELAY (0.207f)
  710. //#define AL_ECHO_DEFAULT_DELAY (0.1f)
  711. //
  712. //#define AL_ECHO_MIN_LRDELAY (0.0f)
  713. //#define AL_ECHO_MAX_LRDELAY (0.404f)
  714. //#define AL_ECHO_DEFAULT_LRDELAY (0.1f)
  715. //
  716. //#define AL_ECHO_MIN_DAMPING (0.0f)
  717. //#define AL_ECHO_MAX_DAMPING (0.99f)
  718. //#define AL_ECHO_DEFAULT_DAMPING (0.5f)
  719. //
  720. //#define AL_ECHO_MIN_FEEDBACK (0.0f)
  721. //#define AL_ECHO_MAX_FEEDBACK (1.0f)
  722. //#define AL_ECHO_DEFAULT_FEEDBACK (0.5f)
  723. //
  724. //#define AL_ECHO_MIN_SPREAD (-1.0f)
  725. //#define AL_ECHO_MAX_SPREAD (1.0f)
  726. //#define AL_ECHO_DEFAULT_SPREAD (-1.0f)
  727. //
  728. ///* Flanger effect */
  729. //#define AL_FLANGER_WAVEFORM_SINUSOID (0)
  730. //#define AL_FLANGER_WAVEFORM_TRIANGLE (1)
  731. //
  732. //#define AL_FLANGER_MIN_WAVEFORM (0)
  733. //#define AL_FLANGER_MAX_WAVEFORM (1)
  734. //#define AL_FLANGER_DEFAULT_WAVEFORM (1)
  735. //
  736. //#define AL_FLANGER_MIN_PHASE (-180)
  737. //#define AL_FLANGER_MAX_PHASE (180)
  738. //#define AL_FLANGER_DEFAULT_PHASE (0)
  739. //
  740. //#define AL_FLANGER_MIN_RATE (0.0f)
  741. //#define AL_FLANGER_MAX_RATE (10.0f)
  742. //#define AL_FLANGER_DEFAULT_RATE (0.27f)
  743. //
  744. //#define AL_FLANGER_MIN_DEPTH (0.0f)
  745. //#define AL_FLANGER_MAX_DEPTH (1.0f)
  746. //#define AL_FLANGER_DEFAULT_DEPTH (1.0f)
  747. //
  748. //#define AL_FLANGER_MIN_FEEDBACK (-1.0f)
  749. //#define AL_FLANGER_MAX_FEEDBACK (1.0f)
  750. //#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f)
  751. //
  752. //#define AL_FLANGER_MIN_DELAY (0.0f)
  753. //#define AL_FLANGER_MAX_DELAY (0.004f)
  754. //#define AL_FLANGER_DEFAULT_DELAY (0.002f)
  755. //
  756. ///* Frequency shifter effect */
  757. //#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY (0.0f)
  758. //#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY (24000.0f)
  759. //#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY (0.0f)
  760. //
  761. //#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION (0)
  762. //#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION (2)
  763. //#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0)
  764. //
  765. //#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN (0)
  766. //#define AL_FREQUENCY_SHIFTER_DIRECTION_UP (1)
  767. //#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF (2)
  768. //
  769. //#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0)
  770. //#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2)
  771. //#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0)
  772. //
  773. ///* Vocal morpher effect */
  774. //#define AL_VOCAL_MORPHER_MIN_PHONEMEA (0)
  775. //#define AL_VOCAL_MORPHER_MAX_PHONEMEA (29)
  776. //#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA (0)
  777. //
  778. //#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24)
  779. //#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24)
  780. //#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0)
  781. //
  782. //#define AL_VOCAL_MORPHER_MIN_PHONEMEB (0)
  783. //#define AL_VOCAL_MORPHER_MAX_PHONEMEB (29)
  784. //#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB (10)
  785. //
  786. //#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24)
  787. //#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24)
  788. //#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0)
  789. //
  790. //#define AL_VOCAL_MORPHER_PHONEME_A (0)
  791. //#define AL_VOCAL_MORPHER_PHONEME_E (1)
  792. //#define AL_VOCAL_MORPHER_PHONEME_I (2)
  793. //#define AL_VOCAL_MORPHER_PHONEME_O (3)
  794. //#define AL_VOCAL_MORPHER_PHONEME_U (4)
  795. //#define AL_VOCAL_MORPHER_PHONEME_AA (5)
  796. //#define AL_VOCAL_MORPHER_PHONEME_AE (6)
  797. //#define AL_VOCAL_MORPHER_PHONEME_AH (7)
  798. //#define AL_VOCAL_MORPHER_PHONEME_AO (8)
  799. //#define AL_VOCAL_MORPHER_PHONEME_EH (9)
  800. //#define AL_VOCAL_MORPHER_PHONEME_ER (10)
  801. //#define AL_VOCAL_MORPHER_PHONEME_IH (11)
  802. //#define AL_VOCAL_MORPHER_PHONEME_IY (12)
  803. //#define AL_VOCAL_MORPHER_PHONEME_UH (13)
  804. //#define AL_VOCAL_MORPHER_PHONEME_UW (14)
  805. //#define AL_VOCAL_MORPHER_PHONEME_B (15)
  806. //#define AL_VOCAL_MORPHER_PHONEME_D (16)
  807. //#define AL_VOCAL_MORPHER_PHONEME_F (17)
  808. //#define AL_VOCAL_MORPHER_PHONEME_G (18)
  809. //#define AL_VOCAL_MORPHER_PHONEME_J (19)
  810. //#define AL_VOCAL_MORPHER_PHONEME_K (20)
  811. //#define AL_VOCAL_MORPHER_PHONEME_L (21)
  812. //#define AL_VOCAL_MORPHER_PHONEME_M (22)
  813. //#define AL_VOCAL_MORPHER_PHONEME_N (23)
  814. //#define AL_VOCAL_MORPHER_PHONEME_P (24)
  815. //#define AL_VOCAL_MORPHER_PHONEME_R (25)
  816. //#define AL_VOCAL_MORPHER_PHONEME_S (26)
  817. //#define AL_VOCAL_MORPHER_PHONEME_T (27)
  818. //#define AL_VOCAL_MORPHER_PHONEME_V (28)
  819. //#define AL_VOCAL_MORPHER_PHONEME_Z (29)
  820. //
  821. //#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID (0)
  822. //#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE (1)
  823. //#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH (2)
  824. //
  825. //#define AL_VOCAL_MORPHER_MIN_WAVEFORM (0)
  826. //#define AL_VOCAL_MORPHER_MAX_WAVEFORM (2)
  827. //#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM (0)
  828. //
  829. //#define AL_VOCAL_MORPHER_MIN_RATE (0.0f)
  830. //#define AL_VOCAL_MORPHER_MAX_RATE (10.0f)
  831. //#define AL_VOCAL_MORPHER_DEFAULT_RATE (1.41f)
  832. //
  833. ///* Pitch shifter effect */
  834. //#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12)
  835. //#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE (12)
  836. //#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE (12)
  837. //
  838. //#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50)
  839. //#define AL_PITCH_SHIFTER_MAX_FINE_TUNE (50)
  840. //#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE (0)
  841. //
  842. ///* Ring modulator effect */
  843. //#define AL_RING_MODULATOR_MIN_FREQUENCY (0.0f)
  844. //#define AL_RING_MODULATOR_MAX_FREQUENCY (8000.0f)
  845. //#define AL_RING_MODULATOR_DEFAULT_FREQUENCY (440.0f)
  846. //
  847. //#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF (0.0f)
  848. //#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF (24000.0f)
  849. //#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f)
  850. //
  851. //#define AL_RING_MODULATOR_SINUSOID (0)
  852. //#define AL_RING_MODULATOR_SAWTOOTH (1)
  853. //#define AL_RING_MODULATOR_SQUARE (2)
  854. //
  855. //#define AL_RING_MODULATOR_MIN_WAVEFORM (0)
  856. //#define AL_RING_MODULATOR_MAX_WAVEFORM (2)
  857. //#define AL_RING_MODULATOR_DEFAULT_WAVEFORM (0)
  858. //
  859. ///* Autowah effect */
  860. //#define AL_AUTOWAH_MIN_ATTACK_TIME (0.0001f)
  861. //#define AL_AUTOWAH_MAX_ATTACK_TIME (1.0f)
  862. //#define AL_AUTOWAH_DEFAULT_ATTACK_TIME (0.06f)
  863. //
  864. //#define AL_AUTOWAH_MIN_RELEASE_TIME (0.0001f)
  865. //#define AL_AUTOWAH_MAX_RELEASE_TIME (1.0f)
  866. //#define AL_AUTOWAH_DEFAULT_RELEASE_TIME (0.06f)
  867. //
  868. //#define AL_AUTOWAH_MIN_RESONANCE (2.0f)
  869. //#define AL_AUTOWAH_MAX_RESONANCE (1000.0f)
  870. //#define AL_AUTOWAH_DEFAULT_RESONANCE (1000.0f)
  871. //
  872. //#define AL_AUTOWAH_MIN_PEAK_GAIN (0.00003f)
  873. //#define AL_AUTOWAH_MAX_PEAK_GAIN (31621.0f)
  874. //#define AL_AUTOWAH_DEFAULT_PEAK_GAIN (11.22f)
  875. //
  876. ///* Compressor effect */
  877. //#define AL_COMPRESSOR_MIN_ONOFF (0)
  878. //#define AL_COMPRESSOR_MAX_ONOFF (1)
  879. //#define AL_COMPRESSOR_DEFAULT_ONOFF (1)
  880. //
  881. ///* Equalizer effect */
  882. //#define AL_EQUALIZER_MIN_LOW_GAIN (0.126f)
  883. //#define AL_EQUALIZER_MAX_LOW_GAIN (7.943f)
  884. //#define AL_EQUALIZER_DEFAULT_LOW_GAIN (1.0f)
  885. //
  886. //#define AL_EQUALIZER_MIN_LOW_CUTOFF (50.0f)
  887. //#define AL_EQUALIZER_MAX_LOW_CUTOFF (800.0f)
  888. //#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF (200.0f)
  889. //
  890. //#define AL_EQUALIZER_MIN_MID1_GAIN (0.126f)
  891. //#define AL_EQUALIZER_MAX_MID1_GAIN (7.943f)
  892. //#define AL_EQUALIZER_DEFAULT_MID1_GAIN (1.0f)
  893. //
  894. //#define AL_EQUALIZER_MIN_MID1_CENTER (200.0f)
  895. //#define AL_EQUALIZER_MAX_MID1_CENTER (3000.0f)
  896. //#define AL_EQUALIZER_DEFAULT_MID1_CENTER (500.0f)
  897. //
  898. //#define AL_EQUALIZER_MIN_MID1_WIDTH (0.01f)
  899. //#define AL_EQUALIZER_MAX_MID1_WIDTH (1.0f)
  900. //#define AL_EQUALIZER_DEFAULT_MID1_WIDTH (1.0f)
  901. //
  902. //#define AL_EQUALIZER_MIN_MID2_GAIN (0.126f)
  903. //#define AL_EQUALIZER_MAX_MID2_GAIN (7.943f)
  904. //#define AL_EQUALIZER_DEFAULT_MID2_GAIN (1.0f)
  905. //
  906. //#define AL_EQUALIZER_MIN_MID2_CENTER (1000.0f)
  907. //#define AL_EQUALIZER_MAX_MID2_CENTER (8000.0f)
  908. //#define AL_EQUALIZER_DEFAULT_MID2_CENTER (3000.0f)
  909. //
  910. //#define AL_EQUALIZER_MIN_MID2_WIDTH (0.01f)
  911. //#define AL_EQUALIZER_MAX_MID2_WIDTH (1.0f)
  912. //#define AL_EQUALIZER_DEFAULT_MID2_WIDTH (1.0f)
  913. //
  914. //#define AL_EQUALIZER_MIN_HIGH_GAIN (0.126f)
  915. //#define AL_EQUALIZER_MAX_HIGH_GAIN (7.943f)
  916. //#define AL_EQUALIZER_DEFAULT_HIGH_GAIN (1.0f)
  917. //
  918. //#define AL_EQUALIZER_MIN_HIGH_CUTOFF (4000.0f)
  919. //#define AL_EQUALIZER_MAX_HIGH_CUTOFF (16000.0f)
  920. //#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF (6000.0f)
  921. //
  922. //
  923. ///* Source parameter value ranges and defaults. */
  924. //#define AL_MIN_AIR_ABSORPTION_FACTOR (0.0f)
  925. //#define AL_MAX_AIR_ABSORPTION_FACTOR (10.0f)
  926. //#define AL_DEFAULT_AIR_ABSORPTION_FACTOR (0.0f)
  927. //
  928. //#define AL_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
  929. //#define AL_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
  930. //#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
  931. //
  932. //#define AL_MIN_CONE_OUTER_GAINHF (0.0f)
  933. //#define AL_MAX_CONE_OUTER_GAINHF (1.0f)
  934. //#define AL_DEFAULT_CONE_OUTER_GAINHF (1.0f)
  935. //
  936. //#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE
  937. //#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
  938. //#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
  939. //
  940. //#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE
  941. //#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
  942. //#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
  943. //
  944. //#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE
  945. //#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
  946. //#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
  947. //
  948. //
  949. ///* Listener parameter value ranges and defaults. */
  950. //#define AL_MIN_METERS_PER_UNIT FLT_MIN
  951. //#define AL_MAX_METERS_PER_UNIT FLT_MAX
  952. //#define AL_DEFAULT_METERS_PER_UNIT (1.0f)
  953. public static String GetALErrorMsg(int errorCode) {
  954. String errorText;
  955. switch (errorCode) {
  956. case AL_NO_ERROR:
  957. errorText = "No Error";
  958. break;
  959. case AL_INVALID_NAME:
  960. errorText = "Invalid Name";
  961. break;
  962. case AL_INVALID_ENUM:
  963. errorText = "Invalid Enum";
  964. break;
  965. case AL_INVALID_VALUE:
  966. errorText = "Invalid Value";
  967. break;
  968. case AL_INVALID_OPERATION:
  969. errorText = "Invalid Operation";
  970. break;
  971. case AL_OUT_OF_MEMORY:
  972. errorText = "Out of Memory";
  973. break;
  974. default:
  975. errorText = "Unknown Error Code: " + String.valueOf(errorCode);
  976. }
  977. return errorText;
  978. }
  979. }