soloud_sys/
soloud.rs

1/* automatically generated by rust-bindgen 0.56.0 */
2
3pub const SOLOUD_ENUMS_SOLOUD_AUTO: SOLOUD_ENUMS = 0;
4pub const SOLOUD_ENUMS_SOLOUD_SDL1: SOLOUD_ENUMS = 1;
5pub const SOLOUD_ENUMS_SOLOUD_SDL2: SOLOUD_ENUMS = 2;
6pub const SOLOUD_ENUMS_SOLOUD_PORTAUDIO: SOLOUD_ENUMS = 3;
7pub const SOLOUD_ENUMS_SOLOUD_WINMM: SOLOUD_ENUMS = 4;
8pub const SOLOUD_ENUMS_SOLOUD_XAUDIO2: SOLOUD_ENUMS = 5;
9pub const SOLOUD_ENUMS_SOLOUD_WASAPI: SOLOUD_ENUMS = 6;
10pub const SOLOUD_ENUMS_SOLOUD_ALSA: SOLOUD_ENUMS = 7;
11pub const SOLOUD_ENUMS_SOLOUD_JACK: SOLOUD_ENUMS = 8;
12pub const SOLOUD_ENUMS_SOLOUD_OSS: SOLOUD_ENUMS = 9;
13pub const SOLOUD_ENUMS_SOLOUD_OPENAL: SOLOUD_ENUMS = 10;
14pub const SOLOUD_ENUMS_SOLOUD_COREAUDIO: SOLOUD_ENUMS = 11;
15pub const SOLOUD_ENUMS_SOLOUD_OPENSLES: SOLOUD_ENUMS = 12;
16pub const SOLOUD_ENUMS_SOLOUD_VITA_HOMEBREW: SOLOUD_ENUMS = 13;
17pub const SOLOUD_ENUMS_SOLOUD_MINIAUDIO: SOLOUD_ENUMS = 14;
18pub const SOLOUD_ENUMS_SOLOUD_NOSOUND: SOLOUD_ENUMS = 15;
19pub const SOLOUD_ENUMS_SOLOUD_NULLDRIVER: SOLOUD_ENUMS = 16;
20pub const SOLOUD_ENUMS_SOLOUD_BACKEND_MAX: SOLOUD_ENUMS = 17;
21pub const SOLOUD_ENUMS_SOLOUD_CLIP_ROUNDOFF: SOLOUD_ENUMS = 1;
22pub const SOLOUD_ENUMS_SOLOUD_ENABLE_VISUALIZATION: SOLOUD_ENUMS = 2;
23pub const SOLOUD_ENUMS_SOLOUD_LEFT_HANDED_3D: SOLOUD_ENUMS = 4;
24pub const SOLOUD_ENUMS_SOLOUD_NO_FPU_REGISTER_CHANGE: SOLOUD_ENUMS = 8;
25pub const SOLOUD_ENUMS_SOLOUD_WAVE_SQUARE: SOLOUD_ENUMS = 0;
26pub const SOLOUD_ENUMS_SOLOUD_WAVE_SAW: SOLOUD_ENUMS = 1;
27pub const SOLOUD_ENUMS_SOLOUD_WAVE_SIN: SOLOUD_ENUMS = 2;
28pub const SOLOUD_ENUMS_SOLOUD_WAVE_TRIANGLE: SOLOUD_ENUMS = 3;
29pub const SOLOUD_ENUMS_SOLOUD_WAVE_BOUNCE: SOLOUD_ENUMS = 4;
30pub const SOLOUD_ENUMS_SOLOUD_WAVE_JAWS: SOLOUD_ENUMS = 5;
31pub const SOLOUD_ENUMS_SOLOUD_WAVE_HUMPS: SOLOUD_ENUMS = 6;
32pub const SOLOUD_ENUMS_SOLOUD_WAVE_FSQUARE: SOLOUD_ENUMS = 7;
33pub const SOLOUD_ENUMS_SOLOUD_WAVE_FSAW: SOLOUD_ENUMS = 8;
34pub const SOLOUD_ENUMS_SOLOUD_RESAMPLER_POINT: SOLOUD_ENUMS = 0;
35pub const SOLOUD_ENUMS_SOLOUD_RESAMPLER_LINEAR: SOLOUD_ENUMS = 1;
36pub const SOLOUD_ENUMS_SOLOUD_RESAMPLER_CATMULLROM: SOLOUD_ENUMS = 2;
37pub const SOLOUD_ENUMS_BASSBOOSTFILTER_WET: SOLOUD_ENUMS = 0;
38pub const SOLOUD_ENUMS_BASSBOOSTFILTER_BOOST: SOLOUD_ENUMS = 1;
39pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_LOWPASS: SOLOUD_ENUMS = 0;
40pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_HIGHPASS: SOLOUD_ENUMS = 1;
41pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_BANDPASS: SOLOUD_ENUMS = 2;
42pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_WET: SOLOUD_ENUMS = 0;
43pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_TYPE: SOLOUD_ENUMS = 1;
44pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_FREQUENCY: SOLOUD_ENUMS = 2;
45pub const SOLOUD_ENUMS_BIQUADRESONANTFILTER_RESONANCE: SOLOUD_ENUMS = 3;
46pub const SOLOUD_ENUMS_ECHOFILTER_WET: SOLOUD_ENUMS = 0;
47pub const SOLOUD_ENUMS_ECHOFILTER_DELAY: SOLOUD_ENUMS = 1;
48pub const SOLOUD_ENUMS_ECHOFILTER_DECAY: SOLOUD_ENUMS = 2;
49pub const SOLOUD_ENUMS_ECHOFILTER_FILTER: SOLOUD_ENUMS = 3;
50pub const SOLOUD_ENUMS_FLANGERFILTER_WET: SOLOUD_ENUMS = 0;
51pub const SOLOUD_ENUMS_FLANGERFILTER_DELAY: SOLOUD_ENUMS = 1;
52pub const SOLOUD_ENUMS_FLANGERFILTER_FREQ: SOLOUD_ENUMS = 2;
53pub const SOLOUD_ENUMS_FREEVERBFILTER_WET: SOLOUD_ENUMS = 0;
54pub const SOLOUD_ENUMS_FREEVERBFILTER_FREEZE: SOLOUD_ENUMS = 1;
55pub const SOLOUD_ENUMS_FREEVERBFILTER_ROOMSIZE: SOLOUD_ENUMS = 2;
56pub const SOLOUD_ENUMS_FREEVERBFILTER_DAMP: SOLOUD_ENUMS = 3;
57pub const SOLOUD_ENUMS_FREEVERBFILTER_WIDTH: SOLOUD_ENUMS = 4;
58pub const SOLOUD_ENUMS_LOFIFILTER_WET: SOLOUD_ENUMS = 0;
59pub const SOLOUD_ENUMS_LOFIFILTER_SAMPLERATE: SOLOUD_ENUMS = 1;
60pub const SOLOUD_ENUMS_LOFIFILTER_BITDEPTH: SOLOUD_ENUMS = 2;
61pub const SOLOUD_ENUMS_NOISE_WHITE: SOLOUD_ENUMS = 0;
62pub const SOLOUD_ENUMS_NOISE_PINK: SOLOUD_ENUMS = 1;
63pub const SOLOUD_ENUMS_NOISE_BROWNISH: SOLOUD_ENUMS = 2;
64pub const SOLOUD_ENUMS_NOISE_BLUEISH: SOLOUD_ENUMS = 3;
65pub const SOLOUD_ENUMS_ROBOTIZEFILTER_WET: SOLOUD_ENUMS = 0;
66pub const SOLOUD_ENUMS_ROBOTIZEFILTER_FREQ: SOLOUD_ENUMS = 1;
67pub const SOLOUD_ENUMS_ROBOTIZEFILTER_WAVE: SOLOUD_ENUMS = 2;
68pub const SOLOUD_ENUMS_SFXR_COIN: SOLOUD_ENUMS = 0;
69pub const SOLOUD_ENUMS_SFXR_LASER: SOLOUD_ENUMS = 1;
70pub const SOLOUD_ENUMS_SFXR_EXPLOSION: SOLOUD_ENUMS = 2;
71pub const SOLOUD_ENUMS_SFXR_POWERUP: SOLOUD_ENUMS = 3;
72pub const SOLOUD_ENUMS_SFXR_HURT: SOLOUD_ENUMS = 4;
73pub const SOLOUD_ENUMS_SFXR_JUMP: SOLOUD_ENUMS = 5;
74pub const SOLOUD_ENUMS_SFXR_BLIP: SOLOUD_ENUMS = 6;
75pub const SOLOUD_ENUMS_SPEECH_KW_SAW: SOLOUD_ENUMS = 0;
76pub const SOLOUD_ENUMS_SPEECH_KW_TRIANGLE: SOLOUD_ENUMS = 1;
77pub const SOLOUD_ENUMS_SPEECH_KW_SIN: SOLOUD_ENUMS = 2;
78pub const SOLOUD_ENUMS_SPEECH_KW_SQUARE: SOLOUD_ENUMS = 3;
79pub const SOLOUD_ENUMS_SPEECH_KW_PULSE: SOLOUD_ENUMS = 4;
80pub const SOLOUD_ENUMS_SPEECH_KW_NOISE: SOLOUD_ENUMS = 5;
81pub const SOLOUD_ENUMS_SPEECH_KW_WARBLE: SOLOUD_ENUMS = 6;
82pub const SOLOUD_ENUMS_VIC_PAL: SOLOUD_ENUMS = 0;
83pub const SOLOUD_ENUMS_VIC_NTSC: SOLOUD_ENUMS = 1;
84pub const SOLOUD_ENUMS_VIC_BASS: SOLOUD_ENUMS = 0;
85pub const SOLOUD_ENUMS_VIC_ALTO: SOLOUD_ENUMS = 1;
86pub const SOLOUD_ENUMS_VIC_SOPRANO: SOLOUD_ENUMS = 2;
87pub const SOLOUD_ENUMS_VIC_NOISE: SOLOUD_ENUMS = 3;
88pub const SOLOUD_ENUMS_VIC_MAX_REGS: SOLOUD_ENUMS = 4;
89pub const SOLOUD_ENUMS_WAVESHAPERFILTER_WET: SOLOUD_ENUMS = 0;
90pub const SOLOUD_ENUMS_WAVESHAPERFILTER_AMOUNT: SOLOUD_ENUMS = 1;
91pub type SOLOUD_ENUMS = ::std::os::raw::c_uint;
92pub type AlignedFloatBuffer = *mut ::std::os::raw::c_void;
93pub type TinyAlignedFloatBuffer = *mut ::std::os::raw::c_void;
94pub type Soloud = *mut ::std::os::raw::c_void;
95pub type Ay = *mut ::std::os::raw::c_void;
96pub type AudioCollider = *mut ::std::os::raw::c_void;
97pub type AudioAttenuator = *mut ::std::os::raw::c_void;
98pub type AudioSource = *mut ::std::os::raw::c_void;
99pub type BassboostFilter = *mut ::std::os::raw::c_void;
100pub type BiquadResonantFilter = *mut ::std::os::raw::c_void;
101pub type Bus = *mut ::std::os::raw::c_void;
102pub type DCRemovalFilter = *mut ::std::os::raw::c_void;
103pub type EchoFilter = *mut ::std::os::raw::c_void;
104pub type Fader = *mut ::std::os::raw::c_void;
105pub type FFTFilter = *mut ::std::os::raw::c_void;
106pub type Filter = *mut ::std::os::raw::c_void;
107pub type FlangerFilter = *mut ::std::os::raw::c_void;
108pub type FreeverbFilter = *mut ::std::os::raw::c_void;
109pub type LofiFilter = *mut ::std::os::raw::c_void;
110pub type Monotone = *mut ::std::os::raw::c_void;
111pub type Noise = *mut ::std::os::raw::c_void;
112pub type Openmpt = *mut ::std::os::raw::c_void;
113pub type Queue = *mut ::std::os::raw::c_void;
114pub type RobotizeFilter = *mut ::std::os::raw::c_void;
115pub type Sfxr = *mut ::std::os::raw::c_void;
116pub type Speech = *mut ::std::os::raw::c_void;
117pub type TedSid = *mut ::std::os::raw::c_void;
118pub type Vic = *mut ::std::os::raw::c_void;
119pub type Vizsn = *mut ::std::os::raw::c_void;
120pub type Wav = *mut ::std::os::raw::c_void;
121pub type WaveShaperFilter = *mut ::std::os::raw::c_void;
122pub type WavStream = *mut ::std::os::raw::c_void;
123pub type File = *mut ::std::os::raw::c_void;
124extern "C" {
125    pub fn Soloud_destroy(aSoloud: *mut Soloud);
126}
127extern "C" {
128    pub fn Soloud_create() -> *mut Soloud;
129}
130extern "C" {
131    pub fn Soloud_init(aSoloud: *mut Soloud) -> ::std::os::raw::c_int;
132}
133extern "C" {
134    pub fn Soloud_initEx(
135        aSoloud: *mut Soloud,
136        aFlags: ::std::os::raw::c_uint,
137        aBackend: ::std::os::raw::c_uint,
138        aSamplerate: ::std::os::raw::c_uint,
139        aBufferSize: ::std::os::raw::c_uint,
140        aChannels: ::std::os::raw::c_uint,
141    ) -> ::std::os::raw::c_int;
142}
143extern "C" {
144    pub fn Soloud_deinit(aSoloud: *mut Soloud);
145}
146extern "C" {
147    pub fn Soloud_getVersion(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
148}
149extern "C" {
150    pub fn Soloud_getErrorString(
151        aSoloud: *mut Soloud,
152        aErrorCode: ::std::os::raw::c_int,
153    ) -> *const ::std::os::raw::c_char;
154}
155extern "C" {
156    pub fn Soloud_getBackendId(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
157}
158extern "C" {
159    pub fn Soloud_getBackendString(aSoloud: *mut Soloud) -> *const ::std::os::raw::c_char;
160}
161extern "C" {
162    pub fn Soloud_getBackendChannels(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
163}
164extern "C" {
165    pub fn Soloud_getBackendSamplerate(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
166}
167extern "C" {
168    pub fn Soloud_getBackendBufferSize(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
169}
170extern "C" {
171    pub fn Soloud_setSpeakerPosition(
172        aSoloud: *mut Soloud,
173        aChannel: ::std::os::raw::c_uint,
174        aX: f32,
175        aY: f32,
176        aZ: f32,
177    ) -> ::std::os::raw::c_int;
178}
179extern "C" {
180    pub fn Soloud_getSpeakerPosition(
181        aSoloud: *mut Soloud,
182        aChannel: ::std::os::raw::c_uint,
183        aX: *mut f32,
184        aY: *mut f32,
185        aZ: *mut f32,
186    ) -> ::std::os::raw::c_int;
187}
188extern "C" {
189    pub fn Soloud_play(aSoloud: *mut Soloud, aSound: *mut AudioSource) -> ::std::os::raw::c_uint;
190}
191extern "C" {
192    pub fn Soloud_playEx(
193        aSoloud: *mut Soloud,
194        aSound: *mut AudioSource,
195        aVolume: f32,
196        aPan: f32,
197        aPaused: ::std::os::raw::c_int,
198        aBus: ::std::os::raw::c_uint,
199    ) -> ::std::os::raw::c_uint;
200}
201extern "C" {
202    pub fn Soloud_playClocked(
203        aSoloud: *mut Soloud,
204        aSoundTime: f64,
205        aSound: *mut AudioSource,
206    ) -> ::std::os::raw::c_uint;
207}
208extern "C" {
209    pub fn Soloud_playClockedEx(
210        aSoloud: *mut Soloud,
211        aSoundTime: f64,
212        aSound: *mut AudioSource,
213        aVolume: f32,
214        aPan: f32,
215        aBus: ::std::os::raw::c_uint,
216    ) -> ::std::os::raw::c_uint;
217}
218extern "C" {
219    pub fn Soloud_play3d(
220        aSoloud: *mut Soloud,
221        aSound: *mut AudioSource,
222        aPosX: f32,
223        aPosY: f32,
224        aPosZ: f32,
225    ) -> ::std::os::raw::c_uint;
226}
227extern "C" {
228    pub fn Soloud_play3dEx(
229        aSoloud: *mut Soloud,
230        aSound: *mut AudioSource,
231        aPosX: f32,
232        aPosY: f32,
233        aPosZ: f32,
234        aVelX: f32,
235        aVelY: f32,
236        aVelZ: f32,
237        aVolume: f32,
238        aPaused: ::std::os::raw::c_int,
239        aBus: ::std::os::raw::c_uint,
240    ) -> ::std::os::raw::c_uint;
241}
242extern "C" {
243    pub fn Soloud_play3dClocked(
244        aSoloud: *mut Soloud,
245        aSoundTime: f64,
246        aSound: *mut AudioSource,
247        aPosX: f32,
248        aPosY: f32,
249        aPosZ: f32,
250    ) -> ::std::os::raw::c_uint;
251}
252extern "C" {
253    pub fn Soloud_play3dClockedEx(
254        aSoloud: *mut Soloud,
255        aSoundTime: f64,
256        aSound: *mut AudioSource,
257        aPosX: f32,
258        aPosY: f32,
259        aPosZ: f32,
260        aVelX: f32,
261        aVelY: f32,
262        aVelZ: f32,
263        aVolume: f32,
264        aBus: ::std::os::raw::c_uint,
265    ) -> ::std::os::raw::c_uint;
266}
267extern "C" {
268    pub fn Soloud_playBackground(
269        aSoloud: *mut Soloud,
270        aSound: *mut AudioSource,
271    ) -> ::std::os::raw::c_uint;
272}
273extern "C" {
274    pub fn Soloud_playBackgroundEx(
275        aSoloud: *mut Soloud,
276        aSound: *mut AudioSource,
277        aVolume: f32,
278        aPaused: ::std::os::raw::c_int,
279        aBus: ::std::os::raw::c_uint,
280    ) -> ::std::os::raw::c_uint;
281}
282extern "C" {
283    pub fn Soloud_seek(
284        aSoloud: *mut Soloud,
285        aVoiceHandle: ::std::os::raw::c_uint,
286        aSeconds: f64,
287    ) -> ::std::os::raw::c_int;
288}
289extern "C" {
290    pub fn Soloud_stop(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint);
291}
292extern "C" {
293    pub fn Soloud_stopAll(aSoloud: *mut Soloud);
294}
295extern "C" {
296    pub fn Soloud_stopAudioSource(aSoloud: *mut Soloud, aSound: *mut AudioSource);
297}
298extern "C" {
299    pub fn Soloud_countAudioSource(
300        aSoloud: *mut Soloud,
301        aSound: *mut AudioSource,
302    ) -> ::std::os::raw::c_int;
303}
304extern "C" {
305    pub fn Soloud_setFilterParameter(
306        aSoloud: *mut Soloud,
307        aVoiceHandle: ::std::os::raw::c_uint,
308        aFilterId: ::std::os::raw::c_uint,
309        aAttributeId: ::std::os::raw::c_uint,
310        aValue: f32,
311    );
312}
313extern "C" {
314    pub fn Soloud_getFilterParameter(
315        aSoloud: *mut Soloud,
316        aVoiceHandle: ::std::os::raw::c_uint,
317        aFilterId: ::std::os::raw::c_uint,
318        aAttributeId: ::std::os::raw::c_uint,
319    ) -> f32;
320}
321extern "C" {
322    pub fn Soloud_fadeFilterParameter(
323        aSoloud: *mut Soloud,
324        aVoiceHandle: ::std::os::raw::c_uint,
325        aFilterId: ::std::os::raw::c_uint,
326        aAttributeId: ::std::os::raw::c_uint,
327        aTo: f32,
328        aTime: f64,
329    );
330}
331extern "C" {
332    pub fn Soloud_oscillateFilterParameter(
333        aSoloud: *mut Soloud,
334        aVoiceHandle: ::std::os::raw::c_uint,
335        aFilterId: ::std::os::raw::c_uint,
336        aAttributeId: ::std::os::raw::c_uint,
337        aFrom: f32,
338        aTo: f32,
339        aTime: f64,
340    );
341}
342extern "C" {
343    pub fn Soloud_getStreamTime(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint) -> f64;
344}
345extern "C" {
346    pub fn Soloud_getStreamPosition(
347        aSoloud: *mut Soloud,
348        aVoiceHandle: ::std::os::raw::c_uint,
349    ) -> f64;
350}
351extern "C" {
352    pub fn Soloud_getPause(
353        aSoloud: *mut Soloud,
354        aVoiceHandle: ::std::os::raw::c_uint,
355    ) -> ::std::os::raw::c_int;
356}
357extern "C" {
358    pub fn Soloud_getVolume(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint) -> f32;
359}
360extern "C" {
361    pub fn Soloud_getOverallVolume(
362        aSoloud: *mut Soloud,
363        aVoiceHandle: ::std::os::raw::c_uint,
364    ) -> f32;
365}
366extern "C" {
367    pub fn Soloud_getPan(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint) -> f32;
368}
369extern "C" {
370    pub fn Soloud_getSamplerate(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint) -> f32;
371}
372extern "C" {
373    pub fn Soloud_getProtectVoice(
374        aSoloud: *mut Soloud,
375        aVoiceHandle: ::std::os::raw::c_uint,
376    ) -> ::std::os::raw::c_int;
377}
378extern "C" {
379    pub fn Soloud_getActiveVoiceCount(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
380}
381extern "C" {
382    pub fn Soloud_getVoiceCount(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
383}
384extern "C" {
385    pub fn Soloud_isValidVoiceHandle(
386        aSoloud: *mut Soloud,
387        aVoiceHandle: ::std::os::raw::c_uint,
388    ) -> ::std::os::raw::c_int;
389}
390extern "C" {
391    pub fn Soloud_getRelativePlaySpeed(
392        aSoloud: *mut Soloud,
393        aVoiceHandle: ::std::os::raw::c_uint,
394    ) -> f32;
395}
396extern "C" {
397    pub fn Soloud_getPostClipScaler(aSoloud: *mut Soloud) -> f32;
398}
399extern "C" {
400    pub fn Soloud_getMainResampler(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
401}
402extern "C" {
403    pub fn Soloud_getGlobalVolume(aSoloud: *mut Soloud) -> f32;
404}
405extern "C" {
406    pub fn Soloud_getMaxActiveVoiceCount(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
407}
408extern "C" {
409    pub fn Soloud_getLooping(
410        aSoloud: *mut Soloud,
411        aVoiceHandle: ::std::os::raw::c_uint,
412    ) -> ::std::os::raw::c_int;
413}
414extern "C" {
415    pub fn Soloud_getAutoStop(
416        aSoloud: *mut Soloud,
417        aVoiceHandle: ::std::os::raw::c_uint,
418    ) -> ::std::os::raw::c_int;
419}
420extern "C" {
421    pub fn Soloud_getLoopPoint(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint) -> f64;
422}
423extern "C" {
424    pub fn Soloud_setLoopPoint(
425        aSoloud: *mut Soloud,
426        aVoiceHandle: ::std::os::raw::c_uint,
427        aLoopPoint: f64,
428    );
429}
430extern "C" {
431    pub fn Soloud_setLooping(
432        aSoloud: *mut Soloud,
433        aVoiceHandle: ::std::os::raw::c_uint,
434        aLooping: ::std::os::raw::c_int,
435    );
436}
437extern "C" {
438    pub fn Soloud_setAutoStop(
439        aSoloud: *mut Soloud,
440        aVoiceHandle: ::std::os::raw::c_uint,
441        aAutoStop: ::std::os::raw::c_int,
442    );
443}
444extern "C" {
445    pub fn Soloud_setMaxActiveVoiceCount(
446        aSoloud: *mut Soloud,
447        aVoiceCount: ::std::os::raw::c_uint,
448    ) -> ::std::os::raw::c_int;
449}
450extern "C" {
451    pub fn Soloud_setInaudibleBehavior(
452        aSoloud: *mut Soloud,
453        aVoiceHandle: ::std::os::raw::c_uint,
454        aMustTick: ::std::os::raw::c_int,
455        aKill: ::std::os::raw::c_int,
456    );
457}
458extern "C" {
459    pub fn Soloud_setGlobalVolume(aSoloud: *mut Soloud, aVolume: f32);
460}
461extern "C" {
462    pub fn Soloud_setPostClipScaler(aSoloud: *mut Soloud, aScaler: f32);
463}
464extern "C" {
465    pub fn Soloud_setMainResampler(aSoloud: *mut Soloud, aResampler: ::std::os::raw::c_uint);
466}
467extern "C" {
468    pub fn Soloud_setPause(
469        aSoloud: *mut Soloud,
470        aVoiceHandle: ::std::os::raw::c_uint,
471        aPause: ::std::os::raw::c_int,
472    );
473}
474extern "C" {
475    pub fn Soloud_setPauseAll(aSoloud: *mut Soloud, aPause: ::std::os::raw::c_int);
476}
477extern "C" {
478    pub fn Soloud_setRelativePlaySpeed(
479        aSoloud: *mut Soloud,
480        aVoiceHandle: ::std::os::raw::c_uint,
481        aSpeed: f32,
482    ) -> ::std::os::raw::c_int;
483}
484extern "C" {
485    pub fn Soloud_setProtectVoice(
486        aSoloud: *mut Soloud,
487        aVoiceHandle: ::std::os::raw::c_uint,
488        aProtect: ::std::os::raw::c_int,
489    );
490}
491extern "C" {
492    pub fn Soloud_setSamplerate(
493        aSoloud: *mut Soloud,
494        aVoiceHandle: ::std::os::raw::c_uint,
495        aSamplerate: f32,
496    );
497}
498extern "C" {
499    pub fn Soloud_setPan(aSoloud: *mut Soloud, aVoiceHandle: ::std::os::raw::c_uint, aPan: f32);
500}
501extern "C" {
502    pub fn Soloud_setPanAbsolute(
503        aSoloud: *mut Soloud,
504        aVoiceHandle: ::std::os::raw::c_uint,
505        aLVolume: f32,
506        aRVolume: f32,
507    );
508}
509extern "C" {
510    pub fn Soloud_setChannelVolume(
511        aSoloud: *mut Soloud,
512        aVoiceHandle: ::std::os::raw::c_uint,
513        aChannel: ::std::os::raw::c_uint,
514        aVolume: f32,
515    );
516}
517extern "C" {
518    pub fn Soloud_setVolume(
519        aSoloud: *mut Soloud,
520        aVoiceHandle: ::std::os::raw::c_uint,
521        aVolume: f32,
522    );
523}
524extern "C" {
525    pub fn Soloud_setDelaySamples(
526        aSoloud: *mut Soloud,
527        aVoiceHandle: ::std::os::raw::c_uint,
528        aSamples: ::std::os::raw::c_uint,
529    );
530}
531extern "C" {
532    pub fn Soloud_fadeVolume(
533        aSoloud: *mut Soloud,
534        aVoiceHandle: ::std::os::raw::c_uint,
535        aTo: f32,
536        aTime: f64,
537    );
538}
539extern "C" {
540    pub fn Soloud_fadePan(
541        aSoloud: *mut Soloud,
542        aVoiceHandle: ::std::os::raw::c_uint,
543        aTo: f32,
544        aTime: f64,
545    );
546}
547extern "C" {
548    pub fn Soloud_fadeRelativePlaySpeed(
549        aSoloud: *mut Soloud,
550        aVoiceHandle: ::std::os::raw::c_uint,
551        aTo: f32,
552        aTime: f64,
553    );
554}
555extern "C" {
556    pub fn Soloud_fadeGlobalVolume(aSoloud: *mut Soloud, aTo: f32, aTime: f64);
557}
558extern "C" {
559    pub fn Soloud_schedulePause(
560        aSoloud: *mut Soloud,
561        aVoiceHandle: ::std::os::raw::c_uint,
562        aTime: f64,
563    );
564}
565extern "C" {
566    pub fn Soloud_scheduleStop(
567        aSoloud: *mut Soloud,
568        aVoiceHandle: ::std::os::raw::c_uint,
569        aTime: f64,
570    );
571}
572extern "C" {
573    pub fn Soloud_oscillateVolume(
574        aSoloud: *mut Soloud,
575        aVoiceHandle: ::std::os::raw::c_uint,
576        aFrom: f32,
577        aTo: f32,
578        aTime: f64,
579    );
580}
581extern "C" {
582    pub fn Soloud_oscillatePan(
583        aSoloud: *mut Soloud,
584        aVoiceHandle: ::std::os::raw::c_uint,
585        aFrom: f32,
586        aTo: f32,
587        aTime: f64,
588    );
589}
590extern "C" {
591    pub fn Soloud_oscillateRelativePlaySpeed(
592        aSoloud: *mut Soloud,
593        aVoiceHandle: ::std::os::raw::c_uint,
594        aFrom: f32,
595        aTo: f32,
596        aTime: f64,
597    );
598}
599extern "C" {
600    pub fn Soloud_oscillateGlobalVolume(aSoloud: *mut Soloud, aFrom: f32, aTo: f32, aTime: f64);
601}
602extern "C" {
603    pub fn Soloud_setGlobalFilter(
604        aSoloud: *mut Soloud,
605        aFilterId: ::std::os::raw::c_uint,
606        aFilter: *mut Filter,
607    );
608}
609extern "C" {
610    pub fn Soloud_setVisualizationEnable(aSoloud: *mut Soloud, aEnable: ::std::os::raw::c_int);
611}
612extern "C" {
613    pub fn Soloud_calcFFT(aSoloud: *mut Soloud) -> *mut f32;
614}
615extern "C" {
616    pub fn Soloud_getWave(aSoloud: *mut Soloud) -> *mut f32;
617}
618extern "C" {
619    pub fn Soloud_getApproximateVolume(
620        aSoloud: *mut Soloud,
621        aChannel: ::std::os::raw::c_uint,
622    ) -> f32;
623}
624extern "C" {
625    pub fn Soloud_getLoopCount(
626        aSoloud: *mut Soloud,
627        aVoiceHandle: ::std::os::raw::c_uint,
628    ) -> ::std::os::raw::c_uint;
629}
630extern "C" {
631    pub fn Soloud_getInfo(
632        aSoloud: *mut Soloud,
633        aVoiceHandle: ::std::os::raw::c_uint,
634        aInfoKey: ::std::os::raw::c_uint,
635    ) -> f32;
636}
637extern "C" {
638    pub fn Soloud_createVoiceGroup(aSoloud: *mut Soloud) -> ::std::os::raw::c_uint;
639}
640extern "C" {
641    pub fn Soloud_destroyVoiceGroup(
642        aSoloud: *mut Soloud,
643        aVoiceGroupHandle: ::std::os::raw::c_uint,
644    ) -> ::std::os::raw::c_int;
645}
646extern "C" {
647    pub fn Soloud_addVoiceToGroup(
648        aSoloud: *mut Soloud,
649        aVoiceGroupHandle: ::std::os::raw::c_uint,
650        aVoiceHandle: ::std::os::raw::c_uint,
651    ) -> ::std::os::raw::c_int;
652}
653extern "C" {
654    pub fn Soloud_isVoiceGroup(
655        aSoloud: *mut Soloud,
656        aVoiceGroupHandle: ::std::os::raw::c_uint,
657    ) -> ::std::os::raw::c_int;
658}
659extern "C" {
660    pub fn Soloud_isVoiceGroupEmpty(
661        aSoloud: *mut Soloud,
662        aVoiceGroupHandle: ::std::os::raw::c_uint,
663    ) -> ::std::os::raw::c_int;
664}
665extern "C" {
666    pub fn Soloud_update3dAudio(aSoloud: *mut Soloud);
667}
668extern "C" {
669    pub fn Soloud_set3dSoundSpeed(aSoloud: *mut Soloud, aSpeed: f32) -> ::std::os::raw::c_int;
670}
671extern "C" {
672    pub fn Soloud_get3dSoundSpeed(aSoloud: *mut Soloud) -> f32;
673}
674extern "C" {
675    pub fn Soloud_set3dListenerParameters(
676        aSoloud: *mut Soloud,
677        aPosX: f32,
678        aPosY: f32,
679        aPosZ: f32,
680        aAtX: f32,
681        aAtY: f32,
682        aAtZ: f32,
683        aUpX: f32,
684        aUpY: f32,
685        aUpZ: f32,
686    );
687}
688extern "C" {
689    pub fn Soloud_set3dListenerParametersEx(
690        aSoloud: *mut Soloud,
691        aPosX: f32,
692        aPosY: f32,
693        aPosZ: f32,
694        aAtX: f32,
695        aAtY: f32,
696        aAtZ: f32,
697        aUpX: f32,
698        aUpY: f32,
699        aUpZ: f32,
700        aVelocityX: f32,
701        aVelocityY: f32,
702        aVelocityZ: f32,
703    );
704}
705extern "C" {
706    pub fn Soloud_set3dListenerPosition(aSoloud: *mut Soloud, aPosX: f32, aPosY: f32, aPosZ: f32);
707}
708extern "C" {
709    pub fn Soloud_set3dListenerAt(aSoloud: *mut Soloud, aAtX: f32, aAtY: f32, aAtZ: f32);
710}
711extern "C" {
712    pub fn Soloud_set3dListenerUp(aSoloud: *mut Soloud, aUpX: f32, aUpY: f32, aUpZ: f32);
713}
714extern "C" {
715    pub fn Soloud_set3dListenerVelocity(
716        aSoloud: *mut Soloud,
717        aVelocityX: f32,
718        aVelocityY: f32,
719        aVelocityZ: f32,
720    );
721}
722extern "C" {
723    pub fn Soloud_set3dSourceParameters(
724        aSoloud: *mut Soloud,
725        aVoiceHandle: ::std::os::raw::c_uint,
726        aPosX: f32,
727        aPosY: f32,
728        aPosZ: f32,
729    );
730}
731extern "C" {
732    pub fn Soloud_set3dSourceParametersEx(
733        aSoloud: *mut Soloud,
734        aVoiceHandle: ::std::os::raw::c_uint,
735        aPosX: f32,
736        aPosY: f32,
737        aPosZ: f32,
738        aVelocityX: f32,
739        aVelocityY: f32,
740        aVelocityZ: f32,
741    );
742}
743extern "C" {
744    pub fn Soloud_set3dSourcePosition(
745        aSoloud: *mut Soloud,
746        aVoiceHandle: ::std::os::raw::c_uint,
747        aPosX: f32,
748        aPosY: f32,
749        aPosZ: f32,
750    );
751}
752extern "C" {
753    pub fn Soloud_set3dSourceVelocity(
754        aSoloud: *mut Soloud,
755        aVoiceHandle: ::std::os::raw::c_uint,
756        aVelocityX: f32,
757        aVelocityY: f32,
758        aVelocityZ: f32,
759    );
760}
761extern "C" {
762    pub fn Soloud_set3dSourceMinMaxDistance(
763        aSoloud: *mut Soloud,
764        aVoiceHandle: ::std::os::raw::c_uint,
765        aMinDistance: f32,
766        aMaxDistance: f32,
767    );
768}
769extern "C" {
770    pub fn Soloud_set3dSourceAttenuation(
771        aSoloud: *mut Soloud,
772        aVoiceHandle: ::std::os::raw::c_uint,
773        aAttenuationModel: ::std::os::raw::c_uint,
774        aAttenuationRolloffFactor: f32,
775    );
776}
777extern "C" {
778    pub fn Soloud_set3dSourceDopplerFactor(
779        aSoloud: *mut Soloud,
780        aVoiceHandle: ::std::os::raw::c_uint,
781        aDopplerFactor: f32,
782    );
783}
784extern "C" {
785    pub fn Soloud_mix(aSoloud: *mut Soloud, aBuffer: *mut f32, aSamples: ::std::os::raw::c_uint);
786}
787extern "C" {
788    pub fn Soloud_mixSigned16(
789        aSoloud: *mut Soloud,
790        aBuffer: *mut ::std::os::raw::c_short,
791        aSamples: ::std::os::raw::c_uint,
792    );
793}
794extern "C" {
795    pub fn Ay_destroy(aAy: *mut Ay);
796}
797extern "C" {
798    pub fn Ay_create() -> *mut Ay;
799}
800extern "C" {
801    pub fn Ay_setVolume(aAy: *mut Ay, aVolume: f32);
802}
803extern "C" {
804    pub fn Ay_setLooping(aAy: *mut Ay, aLoop: ::std::os::raw::c_int);
805}
806extern "C" {
807    pub fn Ay_setAutoStop(aAy: *mut Ay, aAutoStop: ::std::os::raw::c_int);
808}
809extern "C" {
810    pub fn Ay_set3dMinMaxDistance(aAy: *mut Ay, aMinDistance: f32, aMaxDistance: f32);
811}
812extern "C" {
813    pub fn Ay_set3dAttenuation(
814        aAy: *mut Ay,
815        aAttenuationModel: ::std::os::raw::c_uint,
816        aAttenuationRolloffFactor: f32,
817    );
818}
819extern "C" {
820    pub fn Ay_set3dDopplerFactor(aAy: *mut Ay, aDopplerFactor: f32);
821}
822extern "C" {
823    pub fn Ay_set3dListenerRelative(aAy: *mut Ay, aListenerRelative: ::std::os::raw::c_int);
824}
825extern "C" {
826    pub fn Ay_set3dDistanceDelay(aAy: *mut Ay, aDistanceDelay: ::std::os::raw::c_int);
827}
828extern "C" {
829    pub fn Ay_set3dCollider(aAy: *mut Ay, aCollider: *mut AudioCollider);
830}
831extern "C" {
832    pub fn Ay_set3dColliderEx(
833        aAy: *mut Ay,
834        aCollider: *mut AudioCollider,
835        aUserData: ::std::os::raw::c_int,
836    );
837}
838extern "C" {
839    pub fn Ay_set3dAttenuator(aAy: *mut Ay, aAttenuator: *mut AudioAttenuator);
840}
841extern "C" {
842    pub fn Ay_setInaudibleBehavior(
843        aAy: *mut Ay,
844        aMustTick: ::std::os::raw::c_int,
845        aKill: ::std::os::raw::c_int,
846    );
847}
848extern "C" {
849    pub fn Ay_setLoopPoint(aAy: *mut Ay, aLoopPoint: f64);
850}
851extern "C" {
852    pub fn Ay_getLoopPoint(aAy: *mut Ay) -> f64;
853}
854extern "C" {
855    pub fn Ay_setFilter(aAy: *mut Ay, aFilterId: ::std::os::raw::c_uint, aFilter: *mut Filter);
856}
857extern "C" {
858    pub fn Ay_stop(aAy: *mut Ay);
859}
860extern "C" {
861    pub fn BassboostFilter_destroy(aBassboostFilter: *mut BassboostFilter);
862}
863extern "C" {
864    pub fn BassboostFilter_getParamCount(
865        aBassboostFilter: *mut BassboostFilter,
866    ) -> ::std::os::raw::c_int;
867}
868extern "C" {
869    pub fn BassboostFilter_getParamName(
870        aBassboostFilter: *mut BassboostFilter,
871        aParamIndex: ::std::os::raw::c_uint,
872    ) -> *const ::std::os::raw::c_char;
873}
874extern "C" {
875    pub fn BassboostFilter_getParamType(
876        aBassboostFilter: *mut BassboostFilter,
877        aParamIndex: ::std::os::raw::c_uint,
878    ) -> ::std::os::raw::c_uint;
879}
880extern "C" {
881    pub fn BassboostFilter_getParamMax(
882        aBassboostFilter: *mut BassboostFilter,
883        aParamIndex: ::std::os::raw::c_uint,
884    ) -> f32;
885}
886extern "C" {
887    pub fn BassboostFilter_getParamMin(
888        aBassboostFilter: *mut BassboostFilter,
889        aParamIndex: ::std::os::raw::c_uint,
890    ) -> f32;
891}
892extern "C" {
893    pub fn BassboostFilter_setParams(
894        aBassboostFilter: *mut BassboostFilter,
895        aBoost: f32,
896    ) -> ::std::os::raw::c_int;
897}
898extern "C" {
899    pub fn BassboostFilter_create() -> *mut BassboostFilter;
900}
901extern "C" {
902    pub fn BiquadResonantFilter_destroy(aBiquadResonantFilter: *mut BiquadResonantFilter);
903}
904extern "C" {
905    pub fn BiquadResonantFilter_getParamCount(
906        aBiquadResonantFilter: *mut BiquadResonantFilter,
907    ) -> ::std::os::raw::c_int;
908}
909extern "C" {
910    pub fn BiquadResonantFilter_getParamName(
911        aBiquadResonantFilter: *mut BiquadResonantFilter,
912        aParamIndex: ::std::os::raw::c_uint,
913    ) -> *const ::std::os::raw::c_char;
914}
915extern "C" {
916    pub fn BiquadResonantFilter_getParamType(
917        aBiquadResonantFilter: *mut BiquadResonantFilter,
918        aParamIndex: ::std::os::raw::c_uint,
919    ) -> ::std::os::raw::c_uint;
920}
921extern "C" {
922    pub fn BiquadResonantFilter_getParamMax(
923        aBiquadResonantFilter: *mut BiquadResonantFilter,
924        aParamIndex: ::std::os::raw::c_uint,
925    ) -> f32;
926}
927extern "C" {
928    pub fn BiquadResonantFilter_getParamMin(
929        aBiquadResonantFilter: *mut BiquadResonantFilter,
930        aParamIndex: ::std::os::raw::c_uint,
931    ) -> f32;
932}
933extern "C" {
934    pub fn BiquadResonantFilter_create() -> *mut BiquadResonantFilter;
935}
936extern "C" {
937    pub fn BiquadResonantFilter_setParams(
938        aBiquadResonantFilter: *mut BiquadResonantFilter,
939        aType: ::std::os::raw::c_int,
940        aFrequency: f32,
941        aResonance: f32,
942    ) -> ::std::os::raw::c_int;
943}
944extern "C" {
945    pub fn Bus_destroy(aBus: *mut Bus);
946}
947extern "C" {
948    pub fn Bus_create() -> *mut Bus;
949}
950extern "C" {
951    pub fn Bus_setFilter(aBus: *mut Bus, aFilterId: ::std::os::raw::c_uint, aFilter: *mut Filter);
952}
953extern "C" {
954    pub fn Bus_play(aBus: *mut Bus, aSound: *mut AudioSource) -> ::std::os::raw::c_uint;
955}
956extern "C" {
957    pub fn Bus_playEx(
958        aBus: *mut Bus,
959        aSound: *mut AudioSource,
960        aVolume: f32,
961        aPan: f32,
962        aPaused: ::std::os::raw::c_int,
963    ) -> ::std::os::raw::c_uint;
964}
965extern "C" {
966    pub fn Bus_playClocked(
967        aBus: *mut Bus,
968        aSoundTime: f64,
969        aSound: *mut AudioSource,
970    ) -> ::std::os::raw::c_uint;
971}
972extern "C" {
973    pub fn Bus_playClockedEx(
974        aBus: *mut Bus,
975        aSoundTime: f64,
976        aSound: *mut AudioSource,
977        aVolume: f32,
978        aPan: f32,
979    ) -> ::std::os::raw::c_uint;
980}
981extern "C" {
982    pub fn Bus_play3d(
983        aBus: *mut Bus,
984        aSound: *mut AudioSource,
985        aPosX: f32,
986        aPosY: f32,
987        aPosZ: f32,
988    ) -> ::std::os::raw::c_uint;
989}
990extern "C" {
991    pub fn Bus_play3dEx(
992        aBus: *mut Bus,
993        aSound: *mut AudioSource,
994        aPosX: f32,
995        aPosY: f32,
996        aPosZ: f32,
997        aVelX: f32,
998        aVelY: f32,
999        aVelZ: f32,
1000        aVolume: f32,
1001        aPaused: ::std::os::raw::c_int,
1002    ) -> ::std::os::raw::c_uint;
1003}
1004extern "C" {
1005    pub fn Bus_play3dClocked(
1006        aBus: *mut Bus,
1007        aSoundTime: f64,
1008        aSound: *mut AudioSource,
1009        aPosX: f32,
1010        aPosY: f32,
1011        aPosZ: f32,
1012    ) -> ::std::os::raw::c_uint;
1013}
1014extern "C" {
1015    pub fn Bus_play3dClockedEx(
1016        aBus: *mut Bus,
1017        aSoundTime: f64,
1018        aSound: *mut AudioSource,
1019        aPosX: f32,
1020        aPosY: f32,
1021        aPosZ: f32,
1022        aVelX: f32,
1023        aVelY: f32,
1024        aVelZ: f32,
1025        aVolume: f32,
1026    ) -> ::std::os::raw::c_uint;
1027}
1028extern "C" {
1029    pub fn Bus_setChannels(
1030        aBus: *mut Bus,
1031        aChannels: ::std::os::raw::c_uint,
1032    ) -> ::std::os::raw::c_int;
1033}
1034extern "C" {
1035    pub fn Bus_setVisualizationEnable(aBus: *mut Bus, aEnable: ::std::os::raw::c_int);
1036}
1037extern "C" {
1038    pub fn Bus_annexSound(aBus: *mut Bus, aVoiceHandle: ::std::os::raw::c_uint);
1039}
1040extern "C" {
1041    pub fn Bus_calcFFT(aBus: *mut Bus) -> *mut f32;
1042}
1043extern "C" {
1044    pub fn Bus_getWave(aBus: *mut Bus) -> *mut f32;
1045}
1046extern "C" {
1047    pub fn Bus_getApproximateVolume(aBus: *mut Bus, aChannel: ::std::os::raw::c_uint) -> f32;
1048}
1049extern "C" {
1050    pub fn Bus_getActiveVoiceCount(aBus: *mut Bus) -> ::std::os::raw::c_uint;
1051}
1052extern "C" {
1053    pub fn Bus_getResampler(aBus: *mut Bus) -> ::std::os::raw::c_uint;
1054}
1055extern "C" {
1056    pub fn Bus_setResampler(aBus: *mut Bus, aResampler: ::std::os::raw::c_uint);
1057}
1058extern "C" {
1059    pub fn Bus_setVolume(aBus: *mut Bus, aVolume: f32);
1060}
1061extern "C" {
1062    pub fn Bus_setLooping(aBus: *mut Bus, aLoop: ::std::os::raw::c_int);
1063}
1064extern "C" {
1065    pub fn Bus_setAutoStop(aBus: *mut Bus, aAutoStop: ::std::os::raw::c_int);
1066}
1067extern "C" {
1068    pub fn Bus_set3dMinMaxDistance(aBus: *mut Bus, aMinDistance: f32, aMaxDistance: f32);
1069}
1070extern "C" {
1071    pub fn Bus_set3dAttenuation(
1072        aBus: *mut Bus,
1073        aAttenuationModel: ::std::os::raw::c_uint,
1074        aAttenuationRolloffFactor: f32,
1075    );
1076}
1077extern "C" {
1078    pub fn Bus_set3dDopplerFactor(aBus: *mut Bus, aDopplerFactor: f32);
1079}
1080extern "C" {
1081    pub fn Bus_set3dListenerRelative(aBus: *mut Bus, aListenerRelative: ::std::os::raw::c_int);
1082}
1083extern "C" {
1084    pub fn Bus_set3dDistanceDelay(aBus: *mut Bus, aDistanceDelay: ::std::os::raw::c_int);
1085}
1086extern "C" {
1087    pub fn Bus_set3dCollider(aBus: *mut Bus, aCollider: *mut AudioCollider);
1088}
1089extern "C" {
1090    pub fn Bus_set3dColliderEx(
1091        aBus: *mut Bus,
1092        aCollider: *mut AudioCollider,
1093        aUserData: ::std::os::raw::c_int,
1094    );
1095}
1096extern "C" {
1097    pub fn Bus_set3dAttenuator(aBus: *mut Bus, aAttenuator: *mut AudioAttenuator);
1098}
1099extern "C" {
1100    pub fn Bus_setInaudibleBehavior(
1101        aBus: *mut Bus,
1102        aMustTick: ::std::os::raw::c_int,
1103        aKill: ::std::os::raw::c_int,
1104    );
1105}
1106extern "C" {
1107    pub fn Bus_setLoopPoint(aBus: *mut Bus, aLoopPoint: f64);
1108}
1109extern "C" {
1110    pub fn Bus_getLoopPoint(aBus: *mut Bus) -> f64;
1111}
1112extern "C" {
1113    pub fn Bus_stop(aBus: *mut Bus);
1114}
1115extern "C" {
1116    pub fn DCRemovalFilter_destroy(aDCRemovalFilter: *mut DCRemovalFilter);
1117}
1118extern "C" {
1119    pub fn DCRemovalFilter_create() -> *mut DCRemovalFilter;
1120}
1121extern "C" {
1122    pub fn DCRemovalFilter_setParams(
1123        aDCRemovalFilter: *mut DCRemovalFilter,
1124    ) -> ::std::os::raw::c_int;
1125}
1126extern "C" {
1127    pub fn DCRemovalFilter_setParamsEx(
1128        aDCRemovalFilter: *mut DCRemovalFilter,
1129        aLength: f32,
1130    ) -> ::std::os::raw::c_int;
1131}
1132extern "C" {
1133    pub fn DCRemovalFilter_getParamCount(
1134        aDCRemovalFilter: *mut DCRemovalFilter,
1135    ) -> ::std::os::raw::c_int;
1136}
1137extern "C" {
1138    pub fn DCRemovalFilter_getParamName(
1139        aDCRemovalFilter: *mut DCRemovalFilter,
1140        aParamIndex: ::std::os::raw::c_uint,
1141    ) -> *const ::std::os::raw::c_char;
1142}
1143extern "C" {
1144    pub fn DCRemovalFilter_getParamType(
1145        aDCRemovalFilter: *mut DCRemovalFilter,
1146        aParamIndex: ::std::os::raw::c_uint,
1147    ) -> ::std::os::raw::c_uint;
1148}
1149extern "C" {
1150    pub fn DCRemovalFilter_getParamMax(
1151        aDCRemovalFilter: *mut DCRemovalFilter,
1152        aParamIndex: ::std::os::raw::c_uint,
1153    ) -> f32;
1154}
1155extern "C" {
1156    pub fn DCRemovalFilter_getParamMin(
1157        aDCRemovalFilter: *mut DCRemovalFilter,
1158        aParamIndex: ::std::os::raw::c_uint,
1159    ) -> f32;
1160}
1161extern "C" {
1162    pub fn EchoFilter_destroy(aEchoFilter: *mut EchoFilter);
1163}
1164extern "C" {
1165    pub fn EchoFilter_getParamCount(aEchoFilter: *mut EchoFilter) -> ::std::os::raw::c_int;
1166}
1167extern "C" {
1168    pub fn EchoFilter_getParamName(
1169        aEchoFilter: *mut EchoFilter,
1170        aParamIndex: ::std::os::raw::c_uint,
1171    ) -> *const ::std::os::raw::c_char;
1172}
1173extern "C" {
1174    pub fn EchoFilter_getParamType(
1175        aEchoFilter: *mut EchoFilter,
1176        aParamIndex: ::std::os::raw::c_uint,
1177    ) -> ::std::os::raw::c_uint;
1178}
1179extern "C" {
1180    pub fn EchoFilter_getParamMax(
1181        aEchoFilter: *mut EchoFilter,
1182        aParamIndex: ::std::os::raw::c_uint,
1183    ) -> f32;
1184}
1185extern "C" {
1186    pub fn EchoFilter_getParamMin(
1187        aEchoFilter: *mut EchoFilter,
1188        aParamIndex: ::std::os::raw::c_uint,
1189    ) -> f32;
1190}
1191extern "C" {
1192    pub fn EchoFilter_create() -> *mut EchoFilter;
1193}
1194extern "C" {
1195    pub fn EchoFilter_setParams(aEchoFilter: *mut EchoFilter, aDelay: f32)
1196        -> ::std::os::raw::c_int;
1197}
1198extern "C" {
1199    pub fn EchoFilter_setParamsEx(
1200        aEchoFilter: *mut EchoFilter,
1201        aDelay: f32,
1202        aDecay: f32,
1203        aFilter: f32,
1204    ) -> ::std::os::raw::c_int;
1205}
1206extern "C" {
1207    pub fn FFTFilter_destroy(aFFTFilter: *mut FFTFilter);
1208}
1209extern "C" {
1210    pub fn FFTFilter_create() -> *mut FFTFilter;
1211}
1212extern "C" {
1213    pub fn FFTFilter_getParamCount(aFFTFilter: *mut FFTFilter) -> ::std::os::raw::c_int;
1214}
1215extern "C" {
1216    pub fn FFTFilter_getParamName(
1217        aFFTFilter: *mut FFTFilter,
1218        aParamIndex: ::std::os::raw::c_uint,
1219    ) -> *const ::std::os::raw::c_char;
1220}
1221extern "C" {
1222    pub fn FFTFilter_getParamType(
1223        aFFTFilter: *mut FFTFilter,
1224        aParamIndex: ::std::os::raw::c_uint,
1225    ) -> ::std::os::raw::c_uint;
1226}
1227extern "C" {
1228    pub fn FFTFilter_getParamMax(
1229        aFFTFilter: *mut FFTFilter,
1230        aParamIndex: ::std::os::raw::c_uint,
1231    ) -> f32;
1232}
1233extern "C" {
1234    pub fn FFTFilter_getParamMin(
1235        aFFTFilter: *mut FFTFilter,
1236        aParamIndex: ::std::os::raw::c_uint,
1237    ) -> f32;
1238}
1239extern "C" {
1240    pub fn FlangerFilter_destroy(aFlangerFilter: *mut FlangerFilter);
1241}
1242extern "C" {
1243    pub fn FlangerFilter_getParamCount(aFlangerFilter: *mut FlangerFilter)
1244        -> ::std::os::raw::c_int;
1245}
1246extern "C" {
1247    pub fn FlangerFilter_getParamName(
1248        aFlangerFilter: *mut FlangerFilter,
1249        aParamIndex: ::std::os::raw::c_uint,
1250    ) -> *const ::std::os::raw::c_char;
1251}
1252extern "C" {
1253    pub fn FlangerFilter_getParamType(
1254        aFlangerFilter: *mut FlangerFilter,
1255        aParamIndex: ::std::os::raw::c_uint,
1256    ) -> ::std::os::raw::c_uint;
1257}
1258extern "C" {
1259    pub fn FlangerFilter_getParamMax(
1260        aFlangerFilter: *mut FlangerFilter,
1261        aParamIndex: ::std::os::raw::c_uint,
1262    ) -> f32;
1263}
1264extern "C" {
1265    pub fn FlangerFilter_getParamMin(
1266        aFlangerFilter: *mut FlangerFilter,
1267        aParamIndex: ::std::os::raw::c_uint,
1268    ) -> f32;
1269}
1270extern "C" {
1271    pub fn FlangerFilter_create() -> *mut FlangerFilter;
1272}
1273extern "C" {
1274    pub fn FlangerFilter_setParams(
1275        aFlangerFilter: *mut FlangerFilter,
1276        aDelay: f32,
1277        aFreq: f32,
1278    ) -> ::std::os::raw::c_int;
1279}
1280extern "C" {
1281    pub fn FreeverbFilter_destroy(aFreeverbFilter: *mut FreeverbFilter);
1282}
1283extern "C" {
1284    pub fn FreeverbFilter_getParamCount(
1285        aFreeverbFilter: *mut FreeverbFilter,
1286    ) -> ::std::os::raw::c_int;
1287}
1288extern "C" {
1289    pub fn FreeverbFilter_getParamName(
1290        aFreeverbFilter: *mut FreeverbFilter,
1291        aParamIndex: ::std::os::raw::c_uint,
1292    ) -> *const ::std::os::raw::c_char;
1293}
1294extern "C" {
1295    pub fn FreeverbFilter_getParamType(
1296        aFreeverbFilter: *mut FreeverbFilter,
1297        aParamIndex: ::std::os::raw::c_uint,
1298    ) -> ::std::os::raw::c_uint;
1299}
1300extern "C" {
1301    pub fn FreeverbFilter_getParamMax(
1302        aFreeverbFilter: *mut FreeverbFilter,
1303        aParamIndex: ::std::os::raw::c_uint,
1304    ) -> f32;
1305}
1306extern "C" {
1307    pub fn FreeverbFilter_getParamMin(
1308        aFreeverbFilter: *mut FreeverbFilter,
1309        aParamIndex: ::std::os::raw::c_uint,
1310    ) -> f32;
1311}
1312extern "C" {
1313    pub fn FreeverbFilter_create() -> *mut FreeverbFilter;
1314}
1315extern "C" {
1316    pub fn FreeverbFilter_setParams(
1317        aFreeverbFilter: *mut FreeverbFilter,
1318        aMode: f32,
1319        aRoomSize: f32,
1320        aDamp: f32,
1321        aWidth: f32,
1322    ) -> ::std::os::raw::c_int;
1323}
1324extern "C" {
1325    pub fn LofiFilter_destroy(aLofiFilter: *mut LofiFilter);
1326}
1327extern "C" {
1328    pub fn LofiFilter_getParamCount(aLofiFilter: *mut LofiFilter) -> ::std::os::raw::c_int;
1329}
1330extern "C" {
1331    pub fn LofiFilter_getParamName(
1332        aLofiFilter: *mut LofiFilter,
1333        aParamIndex: ::std::os::raw::c_uint,
1334    ) -> *const ::std::os::raw::c_char;
1335}
1336extern "C" {
1337    pub fn LofiFilter_getParamType(
1338        aLofiFilter: *mut LofiFilter,
1339        aParamIndex: ::std::os::raw::c_uint,
1340    ) -> ::std::os::raw::c_uint;
1341}
1342extern "C" {
1343    pub fn LofiFilter_getParamMax(
1344        aLofiFilter: *mut LofiFilter,
1345        aParamIndex: ::std::os::raw::c_uint,
1346    ) -> f32;
1347}
1348extern "C" {
1349    pub fn LofiFilter_getParamMin(
1350        aLofiFilter: *mut LofiFilter,
1351        aParamIndex: ::std::os::raw::c_uint,
1352    ) -> f32;
1353}
1354extern "C" {
1355    pub fn LofiFilter_create() -> *mut LofiFilter;
1356}
1357extern "C" {
1358    pub fn LofiFilter_setParams(
1359        aLofiFilter: *mut LofiFilter,
1360        aSampleRate: f32,
1361        aBitdepth: f32,
1362    ) -> ::std::os::raw::c_int;
1363}
1364extern "C" {
1365    pub fn Monotone_destroy(aMonotone: *mut Monotone);
1366}
1367extern "C" {
1368    pub fn Monotone_create() -> *mut Monotone;
1369}
1370extern "C" {
1371    pub fn Monotone_setParams(
1372        aMonotone: *mut Monotone,
1373        aHardwareChannels: ::std::os::raw::c_int,
1374    ) -> ::std::os::raw::c_int;
1375}
1376extern "C" {
1377    pub fn Monotone_setParamsEx(
1378        aMonotone: *mut Monotone,
1379        aHardwareChannels: ::std::os::raw::c_int,
1380        aWaveform: ::std::os::raw::c_int,
1381    ) -> ::std::os::raw::c_int;
1382}
1383extern "C" {
1384    pub fn Monotone_load(
1385        aMonotone: *mut Monotone,
1386        aFilename: *const ::std::os::raw::c_char,
1387    ) -> ::std::os::raw::c_int;
1388}
1389extern "C" {
1390    pub fn Monotone_loadMem(
1391        aMonotone: *mut Monotone,
1392        aMem: *const ::std::os::raw::c_uchar,
1393        aLength: ::std::os::raw::c_uint,
1394    ) -> ::std::os::raw::c_int;
1395}
1396extern "C" {
1397    pub fn Monotone_loadMemEx(
1398        aMonotone: *mut Monotone,
1399        aMem: *const ::std::os::raw::c_uchar,
1400        aLength: ::std::os::raw::c_uint,
1401        aCopy: ::std::os::raw::c_int,
1402        aTakeOwnership: ::std::os::raw::c_int,
1403    ) -> ::std::os::raw::c_int;
1404}
1405extern "C" {
1406    pub fn Monotone_loadFile(aMonotone: *mut Monotone, aFile: *mut File) -> ::std::os::raw::c_int;
1407}
1408extern "C" {
1409    pub fn Monotone_setVolume(aMonotone: *mut Monotone, aVolume: f32);
1410}
1411extern "C" {
1412    pub fn Monotone_setLooping(aMonotone: *mut Monotone, aLoop: ::std::os::raw::c_int);
1413}
1414extern "C" {
1415    pub fn Monotone_setAutoStop(aMonotone: *mut Monotone, aAutoStop: ::std::os::raw::c_int);
1416}
1417extern "C" {
1418    pub fn Monotone_set3dMinMaxDistance(
1419        aMonotone: *mut Monotone,
1420        aMinDistance: f32,
1421        aMaxDistance: f32,
1422    );
1423}
1424extern "C" {
1425    pub fn Monotone_set3dAttenuation(
1426        aMonotone: *mut Monotone,
1427        aAttenuationModel: ::std::os::raw::c_uint,
1428        aAttenuationRolloffFactor: f32,
1429    );
1430}
1431extern "C" {
1432    pub fn Monotone_set3dDopplerFactor(aMonotone: *mut Monotone, aDopplerFactor: f32);
1433}
1434extern "C" {
1435    pub fn Monotone_set3dListenerRelative(
1436        aMonotone: *mut Monotone,
1437        aListenerRelative: ::std::os::raw::c_int,
1438    );
1439}
1440extern "C" {
1441    pub fn Monotone_set3dDistanceDelay(
1442        aMonotone: *mut Monotone,
1443        aDistanceDelay: ::std::os::raw::c_int,
1444    );
1445}
1446extern "C" {
1447    pub fn Monotone_set3dCollider(aMonotone: *mut Monotone, aCollider: *mut AudioCollider);
1448}
1449extern "C" {
1450    pub fn Monotone_set3dColliderEx(
1451        aMonotone: *mut Monotone,
1452        aCollider: *mut AudioCollider,
1453        aUserData: ::std::os::raw::c_int,
1454    );
1455}
1456extern "C" {
1457    pub fn Monotone_set3dAttenuator(aMonotone: *mut Monotone, aAttenuator: *mut AudioAttenuator);
1458}
1459extern "C" {
1460    pub fn Monotone_setInaudibleBehavior(
1461        aMonotone: *mut Monotone,
1462        aMustTick: ::std::os::raw::c_int,
1463        aKill: ::std::os::raw::c_int,
1464    );
1465}
1466extern "C" {
1467    pub fn Monotone_setLoopPoint(aMonotone: *mut Monotone, aLoopPoint: f64);
1468}
1469extern "C" {
1470    pub fn Monotone_getLoopPoint(aMonotone: *mut Monotone) -> f64;
1471}
1472extern "C" {
1473    pub fn Monotone_setFilter(
1474        aMonotone: *mut Monotone,
1475        aFilterId: ::std::os::raw::c_uint,
1476        aFilter: *mut Filter,
1477    );
1478}
1479extern "C" {
1480    pub fn Monotone_stop(aMonotone: *mut Monotone);
1481}
1482extern "C" {
1483    pub fn Noise_destroy(aNoise: *mut Noise);
1484}
1485extern "C" {
1486    pub fn Noise_create() -> *mut Noise;
1487}
1488extern "C" {
1489    pub fn Noise_setOctaveScale(
1490        aNoise: *mut Noise,
1491        aOct0: f32,
1492        aOct1: f32,
1493        aOct2: f32,
1494        aOct3: f32,
1495        aOct4: f32,
1496        aOct5: f32,
1497        aOct6: f32,
1498        aOct7: f32,
1499        aOct8: f32,
1500        aOct9: f32,
1501    );
1502}
1503extern "C" {
1504    pub fn Noise_setType(aNoise: *mut Noise, aType: ::std::os::raw::c_int);
1505}
1506extern "C" {
1507    pub fn Noise_setVolume(aNoise: *mut Noise, aVolume: f32);
1508}
1509extern "C" {
1510    pub fn Noise_setLooping(aNoise: *mut Noise, aLoop: ::std::os::raw::c_int);
1511}
1512extern "C" {
1513    pub fn Noise_setAutoStop(aNoise: *mut Noise, aAutoStop: ::std::os::raw::c_int);
1514}
1515extern "C" {
1516    pub fn Noise_set3dMinMaxDistance(aNoise: *mut Noise, aMinDistance: f32, aMaxDistance: f32);
1517}
1518extern "C" {
1519    pub fn Noise_set3dAttenuation(
1520        aNoise: *mut Noise,
1521        aAttenuationModel: ::std::os::raw::c_uint,
1522        aAttenuationRolloffFactor: f32,
1523    );
1524}
1525extern "C" {
1526    pub fn Noise_set3dDopplerFactor(aNoise: *mut Noise, aDopplerFactor: f32);
1527}
1528extern "C" {
1529    pub fn Noise_set3dListenerRelative(
1530        aNoise: *mut Noise,
1531        aListenerRelative: ::std::os::raw::c_int,
1532    );
1533}
1534extern "C" {
1535    pub fn Noise_set3dDistanceDelay(aNoise: *mut Noise, aDistanceDelay: ::std::os::raw::c_int);
1536}
1537extern "C" {
1538    pub fn Noise_set3dCollider(aNoise: *mut Noise, aCollider: *mut AudioCollider);
1539}
1540extern "C" {
1541    pub fn Noise_set3dColliderEx(
1542        aNoise: *mut Noise,
1543        aCollider: *mut AudioCollider,
1544        aUserData: ::std::os::raw::c_int,
1545    );
1546}
1547extern "C" {
1548    pub fn Noise_set3dAttenuator(aNoise: *mut Noise, aAttenuator: *mut AudioAttenuator);
1549}
1550extern "C" {
1551    pub fn Noise_setInaudibleBehavior(
1552        aNoise: *mut Noise,
1553        aMustTick: ::std::os::raw::c_int,
1554        aKill: ::std::os::raw::c_int,
1555    );
1556}
1557extern "C" {
1558    pub fn Noise_setLoopPoint(aNoise: *mut Noise, aLoopPoint: f64);
1559}
1560extern "C" {
1561    pub fn Noise_getLoopPoint(aNoise: *mut Noise) -> f64;
1562}
1563extern "C" {
1564    pub fn Noise_setFilter(
1565        aNoise: *mut Noise,
1566        aFilterId: ::std::os::raw::c_uint,
1567        aFilter: *mut Filter,
1568    );
1569}
1570extern "C" {
1571    pub fn Noise_stop(aNoise: *mut Noise);
1572}
1573extern "C" {
1574    pub fn Openmpt_destroy(aOpenmpt: *mut Openmpt);
1575}
1576extern "C" {
1577    pub fn Openmpt_create() -> *mut Openmpt;
1578}
1579extern "C" {
1580    pub fn Openmpt_load(
1581        aOpenmpt: *mut Openmpt,
1582        aFilename: *const ::std::os::raw::c_char,
1583    ) -> ::std::os::raw::c_int;
1584}
1585extern "C" {
1586    pub fn Openmpt_loadMem(
1587        aOpenmpt: *mut Openmpt,
1588        aMem: *const ::std::os::raw::c_uchar,
1589        aLength: ::std::os::raw::c_uint,
1590    ) -> ::std::os::raw::c_int;
1591}
1592extern "C" {
1593    pub fn Openmpt_loadMemEx(
1594        aOpenmpt: *mut Openmpt,
1595        aMem: *const ::std::os::raw::c_uchar,
1596        aLength: ::std::os::raw::c_uint,
1597        aCopy: ::std::os::raw::c_int,
1598        aTakeOwnership: ::std::os::raw::c_int,
1599    ) -> ::std::os::raw::c_int;
1600}
1601extern "C" {
1602    pub fn Openmpt_loadFile(aOpenmpt: *mut Openmpt, aFile: *mut File) -> ::std::os::raw::c_int;
1603}
1604extern "C" {
1605    pub fn Openmpt_setVolume(aOpenmpt: *mut Openmpt, aVolume: f32);
1606}
1607extern "C" {
1608    pub fn Openmpt_setLooping(aOpenmpt: *mut Openmpt, aLoop: ::std::os::raw::c_int);
1609}
1610extern "C" {
1611    pub fn Openmpt_setAutoStop(aOpenmpt: *mut Openmpt, aAutoStop: ::std::os::raw::c_int);
1612}
1613extern "C" {
1614    pub fn Openmpt_set3dMinMaxDistance(
1615        aOpenmpt: *mut Openmpt,
1616        aMinDistance: f32,
1617        aMaxDistance: f32,
1618    );
1619}
1620extern "C" {
1621    pub fn Openmpt_set3dAttenuation(
1622        aOpenmpt: *mut Openmpt,
1623        aAttenuationModel: ::std::os::raw::c_uint,
1624        aAttenuationRolloffFactor: f32,
1625    );
1626}
1627extern "C" {
1628    pub fn Openmpt_set3dDopplerFactor(aOpenmpt: *mut Openmpt, aDopplerFactor: f32);
1629}
1630extern "C" {
1631    pub fn Openmpt_set3dListenerRelative(
1632        aOpenmpt: *mut Openmpt,
1633        aListenerRelative: ::std::os::raw::c_int,
1634    );
1635}
1636extern "C" {
1637    pub fn Openmpt_set3dDistanceDelay(
1638        aOpenmpt: *mut Openmpt,
1639        aDistanceDelay: ::std::os::raw::c_int,
1640    );
1641}
1642extern "C" {
1643    pub fn Openmpt_set3dCollider(aOpenmpt: *mut Openmpt, aCollider: *mut AudioCollider);
1644}
1645extern "C" {
1646    pub fn Openmpt_set3dColliderEx(
1647        aOpenmpt: *mut Openmpt,
1648        aCollider: *mut AudioCollider,
1649        aUserData: ::std::os::raw::c_int,
1650    );
1651}
1652extern "C" {
1653    pub fn Openmpt_set3dAttenuator(aOpenmpt: *mut Openmpt, aAttenuator: *mut AudioAttenuator);
1654}
1655extern "C" {
1656    pub fn Openmpt_setInaudibleBehavior(
1657        aOpenmpt: *mut Openmpt,
1658        aMustTick: ::std::os::raw::c_int,
1659        aKill: ::std::os::raw::c_int,
1660    );
1661}
1662extern "C" {
1663    pub fn Openmpt_setLoopPoint(aOpenmpt: *mut Openmpt, aLoopPoint: f64);
1664}
1665extern "C" {
1666    pub fn Openmpt_getLoopPoint(aOpenmpt: *mut Openmpt) -> f64;
1667}
1668extern "C" {
1669    pub fn Openmpt_setFilter(
1670        aOpenmpt: *mut Openmpt,
1671        aFilterId: ::std::os::raw::c_uint,
1672        aFilter: *mut Filter,
1673    );
1674}
1675extern "C" {
1676    pub fn Openmpt_stop(aOpenmpt: *mut Openmpt);
1677}
1678extern "C" {
1679    pub fn Queue_destroy(aQueue: *mut Queue);
1680}
1681extern "C" {
1682    pub fn Queue_create() -> *mut Queue;
1683}
1684extern "C" {
1685    pub fn Queue_play(aQueue: *mut Queue, aSound: *mut AudioSource) -> ::std::os::raw::c_int;
1686}
1687extern "C" {
1688    pub fn Queue_getQueueCount(aQueue: *mut Queue) -> ::std::os::raw::c_uint;
1689}
1690extern "C" {
1691    pub fn Queue_isCurrentlyPlaying(
1692        aQueue: *mut Queue,
1693        aSound: *mut AudioSource,
1694    ) -> ::std::os::raw::c_int;
1695}
1696extern "C" {
1697    pub fn Queue_setParamsFromAudioSource(
1698        aQueue: *mut Queue,
1699        aSound: *mut AudioSource,
1700    ) -> ::std::os::raw::c_int;
1701}
1702extern "C" {
1703    pub fn Queue_setParams(aQueue: *mut Queue, aSamplerate: f32) -> ::std::os::raw::c_int;
1704}
1705extern "C" {
1706    pub fn Queue_setParamsEx(
1707        aQueue: *mut Queue,
1708        aSamplerate: f32,
1709        aChannels: ::std::os::raw::c_uint,
1710    ) -> ::std::os::raw::c_int;
1711}
1712extern "C" {
1713    pub fn Queue_setVolume(aQueue: *mut Queue, aVolume: f32);
1714}
1715extern "C" {
1716    pub fn Queue_setLooping(aQueue: *mut Queue, aLoop: ::std::os::raw::c_int);
1717}
1718extern "C" {
1719    pub fn Queue_setAutoStop(aQueue: *mut Queue, aAutoStop: ::std::os::raw::c_int);
1720}
1721extern "C" {
1722    pub fn Queue_set3dMinMaxDistance(aQueue: *mut Queue, aMinDistance: f32, aMaxDistance: f32);
1723}
1724extern "C" {
1725    pub fn Queue_set3dAttenuation(
1726        aQueue: *mut Queue,
1727        aAttenuationModel: ::std::os::raw::c_uint,
1728        aAttenuationRolloffFactor: f32,
1729    );
1730}
1731extern "C" {
1732    pub fn Queue_set3dDopplerFactor(aQueue: *mut Queue, aDopplerFactor: f32);
1733}
1734extern "C" {
1735    pub fn Queue_set3dListenerRelative(
1736        aQueue: *mut Queue,
1737        aListenerRelative: ::std::os::raw::c_int,
1738    );
1739}
1740extern "C" {
1741    pub fn Queue_set3dDistanceDelay(aQueue: *mut Queue, aDistanceDelay: ::std::os::raw::c_int);
1742}
1743extern "C" {
1744    pub fn Queue_set3dCollider(aQueue: *mut Queue, aCollider: *mut AudioCollider);
1745}
1746extern "C" {
1747    pub fn Queue_set3dColliderEx(
1748        aQueue: *mut Queue,
1749        aCollider: *mut AudioCollider,
1750        aUserData: ::std::os::raw::c_int,
1751    );
1752}
1753extern "C" {
1754    pub fn Queue_set3dAttenuator(aQueue: *mut Queue, aAttenuator: *mut AudioAttenuator);
1755}
1756extern "C" {
1757    pub fn Queue_setInaudibleBehavior(
1758        aQueue: *mut Queue,
1759        aMustTick: ::std::os::raw::c_int,
1760        aKill: ::std::os::raw::c_int,
1761    );
1762}
1763extern "C" {
1764    pub fn Queue_setLoopPoint(aQueue: *mut Queue, aLoopPoint: f64);
1765}
1766extern "C" {
1767    pub fn Queue_getLoopPoint(aQueue: *mut Queue) -> f64;
1768}
1769extern "C" {
1770    pub fn Queue_setFilter(
1771        aQueue: *mut Queue,
1772        aFilterId: ::std::os::raw::c_uint,
1773        aFilter: *mut Filter,
1774    );
1775}
1776extern "C" {
1777    pub fn Queue_stop(aQueue: *mut Queue);
1778}
1779extern "C" {
1780    pub fn RobotizeFilter_destroy(aRobotizeFilter: *mut RobotizeFilter);
1781}
1782extern "C" {
1783    pub fn RobotizeFilter_getParamCount(
1784        aRobotizeFilter: *mut RobotizeFilter,
1785    ) -> ::std::os::raw::c_int;
1786}
1787extern "C" {
1788    pub fn RobotizeFilter_getParamName(
1789        aRobotizeFilter: *mut RobotizeFilter,
1790        aParamIndex: ::std::os::raw::c_uint,
1791    ) -> *const ::std::os::raw::c_char;
1792}
1793extern "C" {
1794    pub fn RobotizeFilter_getParamType(
1795        aRobotizeFilter: *mut RobotizeFilter,
1796        aParamIndex: ::std::os::raw::c_uint,
1797    ) -> ::std::os::raw::c_uint;
1798}
1799extern "C" {
1800    pub fn RobotizeFilter_getParamMax(
1801        aRobotizeFilter: *mut RobotizeFilter,
1802        aParamIndex: ::std::os::raw::c_uint,
1803    ) -> f32;
1804}
1805extern "C" {
1806    pub fn RobotizeFilter_getParamMin(
1807        aRobotizeFilter: *mut RobotizeFilter,
1808        aParamIndex: ::std::os::raw::c_uint,
1809    ) -> f32;
1810}
1811extern "C" {
1812    pub fn RobotizeFilter_setParams(
1813        aRobotizeFilter: *mut RobotizeFilter,
1814        aFreq: f32,
1815        aWaveform: ::std::os::raw::c_int,
1816    );
1817}
1818extern "C" {
1819    pub fn RobotizeFilter_create() -> *mut RobotizeFilter;
1820}
1821extern "C" {
1822    pub fn Sfxr_destroy(aSfxr: *mut Sfxr);
1823}
1824extern "C" {
1825    pub fn Sfxr_create() -> *mut Sfxr;
1826}
1827extern "C" {
1828    pub fn Sfxr_resetParams(aSfxr: *mut Sfxr);
1829}
1830extern "C" {
1831    pub fn Sfxr_loadParams(
1832        aSfxr: *mut Sfxr,
1833        aFilename: *const ::std::os::raw::c_char,
1834    ) -> ::std::os::raw::c_int;
1835}
1836extern "C" {
1837    pub fn Sfxr_loadParamsMem(
1838        aSfxr: *mut Sfxr,
1839        aMem: *mut ::std::os::raw::c_uchar,
1840        aLength: ::std::os::raw::c_uint,
1841    ) -> ::std::os::raw::c_int;
1842}
1843extern "C" {
1844    pub fn Sfxr_loadParamsMemEx(
1845        aSfxr: *mut Sfxr,
1846        aMem: *mut ::std::os::raw::c_uchar,
1847        aLength: ::std::os::raw::c_uint,
1848        aCopy: ::std::os::raw::c_int,
1849        aTakeOwnership: ::std::os::raw::c_int,
1850    ) -> ::std::os::raw::c_int;
1851}
1852extern "C" {
1853    pub fn Sfxr_loadParamsFile(aSfxr: *mut Sfxr, aFile: *mut File) -> ::std::os::raw::c_int;
1854}
1855extern "C" {
1856    pub fn Sfxr_loadPreset(
1857        aSfxr: *mut Sfxr,
1858        aPresetNo: ::std::os::raw::c_int,
1859        aRandSeed: ::std::os::raw::c_int,
1860    ) -> ::std::os::raw::c_int;
1861}
1862extern "C" {
1863    pub fn Sfxr_setVolume(aSfxr: *mut Sfxr, aVolume: f32);
1864}
1865extern "C" {
1866    pub fn Sfxr_setLooping(aSfxr: *mut Sfxr, aLoop: ::std::os::raw::c_int);
1867}
1868extern "C" {
1869    pub fn Sfxr_setAutoStop(aSfxr: *mut Sfxr, aAutoStop: ::std::os::raw::c_int);
1870}
1871extern "C" {
1872    pub fn Sfxr_set3dMinMaxDistance(aSfxr: *mut Sfxr, aMinDistance: f32, aMaxDistance: f32);
1873}
1874extern "C" {
1875    pub fn Sfxr_set3dAttenuation(
1876        aSfxr: *mut Sfxr,
1877        aAttenuationModel: ::std::os::raw::c_uint,
1878        aAttenuationRolloffFactor: f32,
1879    );
1880}
1881extern "C" {
1882    pub fn Sfxr_set3dDopplerFactor(aSfxr: *mut Sfxr, aDopplerFactor: f32);
1883}
1884extern "C" {
1885    pub fn Sfxr_set3dListenerRelative(aSfxr: *mut Sfxr, aListenerRelative: ::std::os::raw::c_int);
1886}
1887extern "C" {
1888    pub fn Sfxr_set3dDistanceDelay(aSfxr: *mut Sfxr, aDistanceDelay: ::std::os::raw::c_int);
1889}
1890extern "C" {
1891    pub fn Sfxr_set3dCollider(aSfxr: *mut Sfxr, aCollider: *mut AudioCollider);
1892}
1893extern "C" {
1894    pub fn Sfxr_set3dColliderEx(
1895        aSfxr: *mut Sfxr,
1896        aCollider: *mut AudioCollider,
1897        aUserData: ::std::os::raw::c_int,
1898    );
1899}
1900extern "C" {
1901    pub fn Sfxr_set3dAttenuator(aSfxr: *mut Sfxr, aAttenuator: *mut AudioAttenuator);
1902}
1903extern "C" {
1904    pub fn Sfxr_setInaudibleBehavior(
1905        aSfxr: *mut Sfxr,
1906        aMustTick: ::std::os::raw::c_int,
1907        aKill: ::std::os::raw::c_int,
1908    );
1909}
1910extern "C" {
1911    pub fn Sfxr_setLoopPoint(aSfxr: *mut Sfxr, aLoopPoint: f64);
1912}
1913extern "C" {
1914    pub fn Sfxr_getLoopPoint(aSfxr: *mut Sfxr) -> f64;
1915}
1916extern "C" {
1917    pub fn Sfxr_setFilter(
1918        aSfxr: *mut Sfxr,
1919        aFilterId: ::std::os::raw::c_uint,
1920        aFilter: *mut Filter,
1921    );
1922}
1923extern "C" {
1924    pub fn Sfxr_stop(aSfxr: *mut Sfxr);
1925}
1926extern "C" {
1927    pub fn Speech_destroy(aSpeech: *mut Speech);
1928}
1929extern "C" {
1930    pub fn Speech_create() -> *mut Speech;
1931}
1932extern "C" {
1933    pub fn Speech_setText(
1934        aSpeech: *mut Speech,
1935        aText: *const ::std::os::raw::c_char,
1936    ) -> ::std::os::raw::c_int;
1937}
1938extern "C" {
1939    pub fn Speech_setParams(aSpeech: *mut Speech) -> ::std::os::raw::c_int;
1940}
1941extern "C" {
1942    pub fn Speech_setParamsEx(
1943        aSpeech: *mut Speech,
1944        aBaseFrequency: ::std::os::raw::c_uint,
1945        aBaseSpeed: f32,
1946        aBaseDeclination: f32,
1947        aBaseWaveform: ::std::os::raw::c_int,
1948    ) -> ::std::os::raw::c_int;
1949}
1950extern "C" {
1951    pub fn Speech_setVolume(aSpeech: *mut Speech, aVolume: f32);
1952}
1953extern "C" {
1954    pub fn Speech_setLooping(aSpeech: *mut Speech, aLoop: ::std::os::raw::c_int);
1955}
1956extern "C" {
1957    pub fn Speech_setAutoStop(aSpeech: *mut Speech, aAutoStop: ::std::os::raw::c_int);
1958}
1959extern "C" {
1960    pub fn Speech_set3dMinMaxDistance(aSpeech: *mut Speech, aMinDistance: f32, aMaxDistance: f32);
1961}
1962extern "C" {
1963    pub fn Speech_set3dAttenuation(
1964        aSpeech: *mut Speech,
1965        aAttenuationModel: ::std::os::raw::c_uint,
1966        aAttenuationRolloffFactor: f32,
1967    );
1968}
1969extern "C" {
1970    pub fn Speech_set3dDopplerFactor(aSpeech: *mut Speech, aDopplerFactor: f32);
1971}
1972extern "C" {
1973    pub fn Speech_set3dListenerRelative(
1974        aSpeech: *mut Speech,
1975        aListenerRelative: ::std::os::raw::c_int,
1976    );
1977}
1978extern "C" {
1979    pub fn Speech_set3dDistanceDelay(aSpeech: *mut Speech, aDistanceDelay: ::std::os::raw::c_int);
1980}
1981extern "C" {
1982    pub fn Speech_set3dCollider(aSpeech: *mut Speech, aCollider: *mut AudioCollider);
1983}
1984extern "C" {
1985    pub fn Speech_set3dColliderEx(
1986        aSpeech: *mut Speech,
1987        aCollider: *mut AudioCollider,
1988        aUserData: ::std::os::raw::c_int,
1989    );
1990}
1991extern "C" {
1992    pub fn Speech_set3dAttenuator(aSpeech: *mut Speech, aAttenuator: *mut AudioAttenuator);
1993}
1994extern "C" {
1995    pub fn Speech_setInaudibleBehavior(
1996        aSpeech: *mut Speech,
1997        aMustTick: ::std::os::raw::c_int,
1998        aKill: ::std::os::raw::c_int,
1999    );
2000}
2001extern "C" {
2002    pub fn Speech_setLoopPoint(aSpeech: *mut Speech, aLoopPoint: f64);
2003}
2004extern "C" {
2005    pub fn Speech_getLoopPoint(aSpeech: *mut Speech) -> f64;
2006}
2007extern "C" {
2008    pub fn Speech_setFilter(
2009        aSpeech: *mut Speech,
2010        aFilterId: ::std::os::raw::c_uint,
2011        aFilter: *mut Filter,
2012    );
2013}
2014extern "C" {
2015    pub fn Speech_stop(aSpeech: *mut Speech);
2016}
2017extern "C" {
2018    pub fn TedSid_destroy(aTedSid: *mut TedSid);
2019}
2020extern "C" {
2021    pub fn TedSid_create() -> *mut TedSid;
2022}
2023extern "C" {
2024    pub fn TedSid_load(
2025        aTedSid: *mut TedSid,
2026        aFilename: *const ::std::os::raw::c_char,
2027    ) -> ::std::os::raw::c_int;
2028}
2029extern "C" {
2030    pub fn TedSid_loadMem(
2031        aTedSid: *mut TedSid,
2032        aMem: *const ::std::os::raw::c_uchar,
2033        aLength: ::std::os::raw::c_uint,
2034    ) -> ::std::os::raw::c_int;
2035}
2036extern "C" {
2037    pub fn TedSid_loadMemEx(
2038        aTedSid: *mut TedSid,
2039        aMem: *const ::std::os::raw::c_uchar,
2040        aLength: ::std::os::raw::c_uint,
2041        aCopy: ::std::os::raw::c_int,
2042        aTakeOwnership: ::std::os::raw::c_int,
2043    ) -> ::std::os::raw::c_int;
2044}
2045extern "C" {
2046    pub fn TedSid_loadFile(aTedSid: *mut TedSid, aFile: *mut File) -> ::std::os::raw::c_int;
2047}
2048extern "C" {
2049    pub fn TedSid_setVolume(aTedSid: *mut TedSid, aVolume: f32);
2050}
2051extern "C" {
2052    pub fn TedSid_setLooping(aTedSid: *mut TedSid, aLoop: ::std::os::raw::c_int);
2053}
2054extern "C" {
2055    pub fn TedSid_setAutoStop(aTedSid: *mut TedSid, aAutoStop: ::std::os::raw::c_int);
2056}
2057extern "C" {
2058    pub fn TedSid_set3dMinMaxDistance(aTedSid: *mut TedSid, aMinDistance: f32, aMaxDistance: f32);
2059}
2060extern "C" {
2061    pub fn TedSid_set3dAttenuation(
2062        aTedSid: *mut TedSid,
2063        aAttenuationModel: ::std::os::raw::c_uint,
2064        aAttenuationRolloffFactor: f32,
2065    );
2066}
2067extern "C" {
2068    pub fn TedSid_set3dDopplerFactor(aTedSid: *mut TedSid, aDopplerFactor: f32);
2069}
2070extern "C" {
2071    pub fn TedSid_set3dListenerRelative(
2072        aTedSid: *mut TedSid,
2073        aListenerRelative: ::std::os::raw::c_int,
2074    );
2075}
2076extern "C" {
2077    pub fn TedSid_set3dDistanceDelay(aTedSid: *mut TedSid, aDistanceDelay: ::std::os::raw::c_int);
2078}
2079extern "C" {
2080    pub fn TedSid_set3dCollider(aTedSid: *mut TedSid, aCollider: *mut AudioCollider);
2081}
2082extern "C" {
2083    pub fn TedSid_set3dColliderEx(
2084        aTedSid: *mut TedSid,
2085        aCollider: *mut AudioCollider,
2086        aUserData: ::std::os::raw::c_int,
2087    );
2088}
2089extern "C" {
2090    pub fn TedSid_set3dAttenuator(aTedSid: *mut TedSid, aAttenuator: *mut AudioAttenuator);
2091}
2092extern "C" {
2093    pub fn TedSid_setInaudibleBehavior(
2094        aTedSid: *mut TedSid,
2095        aMustTick: ::std::os::raw::c_int,
2096        aKill: ::std::os::raw::c_int,
2097    );
2098}
2099extern "C" {
2100    pub fn TedSid_setLoopPoint(aTedSid: *mut TedSid, aLoopPoint: f64);
2101}
2102extern "C" {
2103    pub fn TedSid_getLoopPoint(aTedSid: *mut TedSid) -> f64;
2104}
2105extern "C" {
2106    pub fn TedSid_setFilter(
2107        aTedSid: *mut TedSid,
2108        aFilterId: ::std::os::raw::c_uint,
2109        aFilter: *mut Filter,
2110    );
2111}
2112extern "C" {
2113    pub fn TedSid_stop(aTedSid: *mut TedSid);
2114}
2115extern "C" {
2116    pub fn Vic_destroy(aVic: *mut Vic);
2117}
2118extern "C" {
2119    pub fn Vic_create() -> *mut Vic;
2120}
2121extern "C" {
2122    pub fn Vic_setModel(aVic: *mut Vic, model: ::std::os::raw::c_int);
2123}
2124extern "C" {
2125    pub fn Vic_getModel(aVic: *mut Vic) -> ::std::os::raw::c_int;
2126}
2127extern "C" {
2128    pub fn Vic_setRegister(
2129        aVic: *mut Vic,
2130        reg: ::std::os::raw::c_int,
2131        value: ::std::os::raw::c_uchar,
2132    );
2133}
2134extern "C" {
2135    pub fn Vic_getRegister(aVic: *mut Vic, reg: ::std::os::raw::c_int) -> ::std::os::raw::c_uchar;
2136}
2137extern "C" {
2138    pub fn Vic_setVolume(aVic: *mut Vic, aVolume: f32);
2139}
2140extern "C" {
2141    pub fn Vic_setLooping(aVic: *mut Vic, aLoop: ::std::os::raw::c_int);
2142}
2143extern "C" {
2144    pub fn Vic_setAutoStop(aVic: *mut Vic, aAutoStop: ::std::os::raw::c_int);
2145}
2146extern "C" {
2147    pub fn Vic_set3dMinMaxDistance(aVic: *mut Vic, aMinDistance: f32, aMaxDistance: f32);
2148}
2149extern "C" {
2150    pub fn Vic_set3dAttenuation(
2151        aVic: *mut Vic,
2152        aAttenuationModel: ::std::os::raw::c_uint,
2153        aAttenuationRolloffFactor: f32,
2154    );
2155}
2156extern "C" {
2157    pub fn Vic_set3dDopplerFactor(aVic: *mut Vic, aDopplerFactor: f32);
2158}
2159extern "C" {
2160    pub fn Vic_set3dListenerRelative(aVic: *mut Vic, aListenerRelative: ::std::os::raw::c_int);
2161}
2162extern "C" {
2163    pub fn Vic_set3dDistanceDelay(aVic: *mut Vic, aDistanceDelay: ::std::os::raw::c_int);
2164}
2165extern "C" {
2166    pub fn Vic_set3dCollider(aVic: *mut Vic, aCollider: *mut AudioCollider);
2167}
2168extern "C" {
2169    pub fn Vic_set3dColliderEx(
2170        aVic: *mut Vic,
2171        aCollider: *mut AudioCollider,
2172        aUserData: ::std::os::raw::c_int,
2173    );
2174}
2175extern "C" {
2176    pub fn Vic_set3dAttenuator(aVic: *mut Vic, aAttenuator: *mut AudioAttenuator);
2177}
2178extern "C" {
2179    pub fn Vic_setInaudibleBehavior(
2180        aVic: *mut Vic,
2181        aMustTick: ::std::os::raw::c_int,
2182        aKill: ::std::os::raw::c_int,
2183    );
2184}
2185extern "C" {
2186    pub fn Vic_setLoopPoint(aVic: *mut Vic, aLoopPoint: f64);
2187}
2188extern "C" {
2189    pub fn Vic_getLoopPoint(aVic: *mut Vic) -> f64;
2190}
2191extern "C" {
2192    pub fn Vic_setFilter(aVic: *mut Vic, aFilterId: ::std::os::raw::c_uint, aFilter: *mut Filter);
2193}
2194extern "C" {
2195    pub fn Vic_stop(aVic: *mut Vic);
2196}
2197extern "C" {
2198    pub fn Vizsn_destroy(aVizsn: *mut Vizsn);
2199}
2200extern "C" {
2201    pub fn Vizsn_create() -> *mut Vizsn;
2202}
2203extern "C" {
2204    pub fn Vizsn_setText(aVizsn: *mut Vizsn, aText: *mut ::std::os::raw::c_char);
2205}
2206extern "C" {
2207    pub fn Vizsn_setVolume(aVizsn: *mut Vizsn, aVolume: f32);
2208}
2209extern "C" {
2210    pub fn Vizsn_setLooping(aVizsn: *mut Vizsn, aLoop: ::std::os::raw::c_int);
2211}
2212extern "C" {
2213    pub fn Vizsn_setAutoStop(aVizsn: *mut Vizsn, aAutoStop: ::std::os::raw::c_int);
2214}
2215extern "C" {
2216    pub fn Vizsn_set3dMinMaxDistance(aVizsn: *mut Vizsn, aMinDistance: f32, aMaxDistance: f32);
2217}
2218extern "C" {
2219    pub fn Vizsn_set3dAttenuation(
2220        aVizsn: *mut Vizsn,
2221        aAttenuationModel: ::std::os::raw::c_uint,
2222        aAttenuationRolloffFactor: f32,
2223    );
2224}
2225extern "C" {
2226    pub fn Vizsn_set3dDopplerFactor(aVizsn: *mut Vizsn, aDopplerFactor: f32);
2227}
2228extern "C" {
2229    pub fn Vizsn_set3dListenerRelative(
2230        aVizsn: *mut Vizsn,
2231        aListenerRelative: ::std::os::raw::c_int,
2232    );
2233}
2234extern "C" {
2235    pub fn Vizsn_set3dDistanceDelay(aVizsn: *mut Vizsn, aDistanceDelay: ::std::os::raw::c_int);
2236}
2237extern "C" {
2238    pub fn Vizsn_set3dCollider(aVizsn: *mut Vizsn, aCollider: *mut AudioCollider);
2239}
2240extern "C" {
2241    pub fn Vizsn_set3dColliderEx(
2242        aVizsn: *mut Vizsn,
2243        aCollider: *mut AudioCollider,
2244        aUserData: ::std::os::raw::c_int,
2245    );
2246}
2247extern "C" {
2248    pub fn Vizsn_set3dAttenuator(aVizsn: *mut Vizsn, aAttenuator: *mut AudioAttenuator);
2249}
2250extern "C" {
2251    pub fn Vizsn_setInaudibleBehavior(
2252        aVizsn: *mut Vizsn,
2253        aMustTick: ::std::os::raw::c_int,
2254        aKill: ::std::os::raw::c_int,
2255    );
2256}
2257extern "C" {
2258    pub fn Vizsn_setLoopPoint(aVizsn: *mut Vizsn, aLoopPoint: f64);
2259}
2260extern "C" {
2261    pub fn Vizsn_getLoopPoint(aVizsn: *mut Vizsn) -> f64;
2262}
2263extern "C" {
2264    pub fn Vizsn_setFilter(
2265        aVizsn: *mut Vizsn,
2266        aFilterId: ::std::os::raw::c_uint,
2267        aFilter: *mut Filter,
2268    );
2269}
2270extern "C" {
2271    pub fn Vizsn_stop(aVizsn: *mut Vizsn);
2272}
2273extern "C" {
2274    pub fn Wav_destroy(aWav: *mut Wav);
2275}
2276extern "C" {
2277    pub fn Wav_create() -> *mut Wav;
2278}
2279extern "C" {
2280    pub fn Wav_load(
2281        aWav: *mut Wav,
2282        aFilename: *const ::std::os::raw::c_char,
2283    ) -> ::std::os::raw::c_int;
2284}
2285extern "C" {
2286    pub fn Wav_loadMem(
2287        aWav: *mut Wav,
2288        aMem: *const ::std::os::raw::c_uchar,
2289        aLength: ::std::os::raw::c_uint,
2290    ) -> ::std::os::raw::c_int;
2291}
2292extern "C" {
2293    pub fn Wav_loadMemEx(
2294        aWav: *mut Wav,
2295        aMem: *const ::std::os::raw::c_uchar,
2296        aLength: ::std::os::raw::c_uint,
2297        aCopy: ::std::os::raw::c_int,
2298        aTakeOwnership: ::std::os::raw::c_int,
2299    ) -> ::std::os::raw::c_int;
2300}
2301extern "C" {
2302    pub fn Wav_loadFile(aWav: *mut Wav, aFile: *mut File) -> ::std::os::raw::c_int;
2303}
2304extern "C" {
2305    pub fn Wav_loadRawWave8(
2306        aWav: *mut Wav,
2307        aMem: *mut ::std::os::raw::c_uchar,
2308        aLength: ::std::os::raw::c_uint,
2309    ) -> ::std::os::raw::c_int;
2310}
2311extern "C" {
2312    pub fn Wav_loadRawWave8Ex(
2313        aWav: *mut Wav,
2314        aMem: *mut ::std::os::raw::c_uchar,
2315        aLength: ::std::os::raw::c_uint,
2316        aSamplerate: f32,
2317        aChannels: ::std::os::raw::c_uint,
2318    ) -> ::std::os::raw::c_int;
2319}
2320extern "C" {
2321    pub fn Wav_loadRawWave16(
2322        aWav: *mut Wav,
2323        aMem: *mut ::std::os::raw::c_short,
2324        aLength: ::std::os::raw::c_uint,
2325    ) -> ::std::os::raw::c_int;
2326}
2327extern "C" {
2328    pub fn Wav_loadRawWave16Ex(
2329        aWav: *mut Wav,
2330        aMem: *mut ::std::os::raw::c_short,
2331        aLength: ::std::os::raw::c_uint,
2332        aSamplerate: f32,
2333        aChannels: ::std::os::raw::c_uint,
2334    ) -> ::std::os::raw::c_int;
2335}
2336extern "C" {
2337    pub fn Wav_loadRawWave(
2338        aWav: *mut Wav,
2339        aMem: *mut f32,
2340        aLength: ::std::os::raw::c_uint,
2341    ) -> ::std::os::raw::c_int;
2342}
2343extern "C" {
2344    pub fn Wav_loadRawWaveEx(
2345        aWav: *mut Wav,
2346        aMem: *mut f32,
2347        aLength: ::std::os::raw::c_uint,
2348        aSamplerate: f32,
2349        aChannels: ::std::os::raw::c_uint,
2350        aCopy: ::std::os::raw::c_int,
2351        aTakeOwnership: ::std::os::raw::c_int,
2352    ) -> ::std::os::raw::c_int;
2353}
2354extern "C" {
2355    pub fn Wav_getLength(aWav: *mut Wav) -> f64;
2356}
2357extern "C" {
2358    pub fn Wav_setVolume(aWav: *mut Wav, aVolume: f32);
2359}
2360extern "C" {
2361    pub fn Wav_setLooping(aWav: *mut Wav, aLoop: ::std::os::raw::c_int);
2362}
2363extern "C" {
2364    pub fn Wav_setAutoStop(aWav: *mut Wav, aAutoStop: ::std::os::raw::c_int);
2365}
2366extern "C" {
2367    pub fn Wav_set3dMinMaxDistance(aWav: *mut Wav, aMinDistance: f32, aMaxDistance: f32);
2368}
2369extern "C" {
2370    pub fn Wav_set3dAttenuation(
2371        aWav: *mut Wav,
2372        aAttenuationModel: ::std::os::raw::c_uint,
2373        aAttenuationRolloffFactor: f32,
2374    );
2375}
2376extern "C" {
2377    pub fn Wav_set3dDopplerFactor(aWav: *mut Wav, aDopplerFactor: f32);
2378}
2379extern "C" {
2380    pub fn Wav_set3dListenerRelative(aWav: *mut Wav, aListenerRelative: ::std::os::raw::c_int);
2381}
2382extern "C" {
2383    pub fn Wav_set3dDistanceDelay(aWav: *mut Wav, aDistanceDelay: ::std::os::raw::c_int);
2384}
2385extern "C" {
2386    pub fn Wav_set3dCollider(aWav: *mut Wav, aCollider: *mut AudioCollider);
2387}
2388extern "C" {
2389    pub fn Wav_set3dColliderEx(
2390        aWav: *mut Wav,
2391        aCollider: *mut AudioCollider,
2392        aUserData: ::std::os::raw::c_int,
2393    );
2394}
2395extern "C" {
2396    pub fn Wav_set3dAttenuator(aWav: *mut Wav, aAttenuator: *mut AudioAttenuator);
2397}
2398extern "C" {
2399    pub fn Wav_setInaudibleBehavior(
2400        aWav: *mut Wav,
2401        aMustTick: ::std::os::raw::c_int,
2402        aKill: ::std::os::raw::c_int,
2403    );
2404}
2405extern "C" {
2406    pub fn Wav_setLoopPoint(aWav: *mut Wav, aLoopPoint: f64);
2407}
2408extern "C" {
2409    pub fn Wav_getLoopPoint(aWav: *mut Wav) -> f64;
2410}
2411extern "C" {
2412    pub fn Wav_setFilter(aWav: *mut Wav, aFilterId: ::std::os::raw::c_uint, aFilter: *mut Filter);
2413}
2414extern "C" {
2415    pub fn Wav_stop(aWav: *mut Wav);
2416}
2417extern "C" {
2418    pub fn WaveShaperFilter_destroy(aWaveShaperFilter: *mut WaveShaperFilter);
2419}
2420extern "C" {
2421    pub fn WaveShaperFilter_setParams(
2422        aWaveShaperFilter: *mut WaveShaperFilter,
2423        aAmount: f32,
2424    ) -> ::std::os::raw::c_int;
2425}
2426extern "C" {
2427    pub fn WaveShaperFilter_create() -> *mut WaveShaperFilter;
2428}
2429extern "C" {
2430    pub fn WaveShaperFilter_getParamCount(
2431        aWaveShaperFilter: *mut WaveShaperFilter,
2432    ) -> ::std::os::raw::c_int;
2433}
2434extern "C" {
2435    pub fn WaveShaperFilter_getParamName(
2436        aWaveShaperFilter: *mut WaveShaperFilter,
2437        aParamIndex: ::std::os::raw::c_uint,
2438    ) -> *const ::std::os::raw::c_char;
2439}
2440extern "C" {
2441    pub fn WaveShaperFilter_getParamType(
2442        aWaveShaperFilter: *mut WaveShaperFilter,
2443        aParamIndex: ::std::os::raw::c_uint,
2444    ) -> ::std::os::raw::c_uint;
2445}
2446extern "C" {
2447    pub fn WaveShaperFilter_getParamMax(
2448        aWaveShaperFilter: *mut WaveShaperFilter,
2449        aParamIndex: ::std::os::raw::c_uint,
2450    ) -> f32;
2451}
2452extern "C" {
2453    pub fn WaveShaperFilter_getParamMin(
2454        aWaveShaperFilter: *mut WaveShaperFilter,
2455        aParamIndex: ::std::os::raw::c_uint,
2456    ) -> f32;
2457}
2458extern "C" {
2459    pub fn WavStream_destroy(aWavStream: *mut WavStream);
2460}
2461extern "C" {
2462    pub fn WavStream_create() -> *mut WavStream;
2463}
2464extern "C" {
2465    pub fn WavStream_load(
2466        aWavStream: *mut WavStream,
2467        aFilename: *const ::std::os::raw::c_char,
2468    ) -> ::std::os::raw::c_int;
2469}
2470extern "C" {
2471    pub fn WavStream_loadMem(
2472        aWavStream: *mut WavStream,
2473        aData: *const ::std::os::raw::c_uchar,
2474        aDataLen: ::std::os::raw::c_uint,
2475    ) -> ::std::os::raw::c_int;
2476}
2477extern "C" {
2478    pub fn WavStream_loadMemEx(
2479        aWavStream: *mut WavStream,
2480        aData: *const ::std::os::raw::c_uchar,
2481        aDataLen: ::std::os::raw::c_uint,
2482        aCopy: ::std::os::raw::c_int,
2483        aTakeOwnership: ::std::os::raw::c_int,
2484    ) -> ::std::os::raw::c_int;
2485}
2486extern "C" {
2487    pub fn WavStream_loadToMem(
2488        aWavStream: *mut WavStream,
2489        aFilename: *const ::std::os::raw::c_char,
2490    ) -> ::std::os::raw::c_int;
2491}
2492extern "C" {
2493    pub fn WavStream_loadFile(
2494        aWavStream: *mut WavStream,
2495        aFile: *mut File,
2496    ) -> ::std::os::raw::c_int;
2497}
2498extern "C" {
2499    pub fn WavStream_loadFileToMem(
2500        aWavStream: *mut WavStream,
2501        aFile: *mut File,
2502    ) -> ::std::os::raw::c_int;
2503}
2504extern "C" {
2505    pub fn WavStream_getLength(aWavStream: *mut WavStream) -> f64;
2506}
2507extern "C" {
2508    pub fn WavStream_setVolume(aWavStream: *mut WavStream, aVolume: f32);
2509}
2510extern "C" {
2511    pub fn WavStream_setLooping(aWavStream: *mut WavStream, aLoop: ::std::os::raw::c_int);
2512}
2513extern "C" {
2514    pub fn WavStream_setAutoStop(aWavStream: *mut WavStream, aAutoStop: ::std::os::raw::c_int);
2515}
2516extern "C" {
2517    pub fn WavStream_set3dMinMaxDistance(
2518        aWavStream: *mut WavStream,
2519        aMinDistance: f32,
2520        aMaxDistance: f32,
2521    );
2522}
2523extern "C" {
2524    pub fn WavStream_set3dAttenuation(
2525        aWavStream: *mut WavStream,
2526        aAttenuationModel: ::std::os::raw::c_uint,
2527        aAttenuationRolloffFactor: f32,
2528    );
2529}
2530extern "C" {
2531    pub fn WavStream_set3dDopplerFactor(aWavStream: *mut WavStream, aDopplerFactor: f32);
2532}
2533extern "C" {
2534    pub fn WavStream_set3dListenerRelative(
2535        aWavStream: *mut WavStream,
2536        aListenerRelative: ::std::os::raw::c_int,
2537    );
2538}
2539extern "C" {
2540    pub fn WavStream_set3dDistanceDelay(
2541        aWavStream: *mut WavStream,
2542        aDistanceDelay: ::std::os::raw::c_int,
2543    );
2544}
2545extern "C" {
2546    pub fn WavStream_set3dCollider(aWavStream: *mut WavStream, aCollider: *mut AudioCollider);
2547}
2548extern "C" {
2549    pub fn WavStream_set3dColliderEx(
2550        aWavStream: *mut WavStream,
2551        aCollider: *mut AudioCollider,
2552        aUserData: ::std::os::raw::c_int,
2553    );
2554}
2555extern "C" {
2556    pub fn WavStream_set3dAttenuator(aWavStream: *mut WavStream, aAttenuator: *mut AudioAttenuator);
2557}
2558extern "C" {
2559    pub fn WavStream_setInaudibleBehavior(
2560        aWavStream: *mut WavStream,
2561        aMustTick: ::std::os::raw::c_int,
2562        aKill: ::std::os::raw::c_int,
2563    );
2564}
2565extern "C" {
2566    pub fn WavStream_setLoopPoint(aWavStream: *mut WavStream, aLoopPoint: f64);
2567}
2568extern "C" {
2569    pub fn WavStream_getLoopPoint(aWavStream: *mut WavStream) -> f64;
2570}
2571extern "C" {
2572    pub fn WavStream_setFilter(
2573        aWavStream: *mut WavStream,
2574        aFilterId: ::std::os::raw::c_uint,
2575        aFilter: *mut Filter,
2576    );
2577}
2578extern "C" {
2579    pub fn WavStream_stop(aWavStream: *mut WavStream);
2580}
2581pub type AudioSourceInstance3dData = ::std::os::raw::c_void;
2582extern "C" {
2583    pub fn AudioSourceInstance3dData_new(as_: *mut AudioSource) -> *mut AudioSourceInstance3dData;
2584}
2585extern "C" {
2586    pub fn AudioSourceInstance3dData_delete(inst: *mut AudioSourceInstance3dData);
2587}
2588extern "C" {
2589    pub fn AudioCollider_new() -> AudioCollider;
2590}
2591extern "C" {
2592    pub fn AudioCollider_set_handler(
2593        self_: AudioCollider,
2594        handler: ::std::option::Option<
2595            unsafe extern "C" fn(
2596                arg1: *mut Soloud,
2597                arg2: *mut AudioSourceInstance3dData,
2598                arg3: ::std::os::raw::c_int,
2599                arg4: *mut ::std::os::raw::c_void,
2600            ) -> f32,
2601        >,
2602        data: *mut ::std::os::raw::c_void,
2603    );
2604}
2605extern "C" {
2606    pub fn AudioCollider_delete(arg1: AudioCollider);
2607}
2608extern "C" {
2609    pub fn AudioAttenuator_new() -> AudioAttenuator;
2610}
2611extern "C" {
2612    pub fn AudioAttenuator_set_handler(
2613        self_: AudioAttenuator,
2614        handler: ::std::option::Option<
2615            unsafe extern "C" fn(
2616                arg1: f32,
2617                arg2: f32,
2618                arg3: f32,
2619                arg4: f32,
2620                arg5: *mut ::std::os::raw::c_void,
2621            ) -> f32,
2622        >,
2623        data: *mut ::std::os::raw::c_void,
2624    );
2625}
2626extern "C" {
2627    pub fn AudioAttenuator_delete(arg1: AudioAttenuator);
2628}