1 
2 // SoLoud wrapper for D
3 // This file is autogenerated; any changes will be overwritten
4 
5 module dash.utility.bindings.soloud;
6 
7 pure @safe nothrow @nogc:
8 
9 private struct SoloudObject
10 {
11     public int* objhandle;
12 }
13 
14 
15 
16 public struct Soloud
17 {
18 pure @safe nothrow @nogc:
19     public enum WASAPI = 6;
20     public enum AUTO = 0;
21     public enum CLIP_ROUNDOFF = 1;
22     public enum SDL2 = 2;
23     public enum ENABLE_VISUALIZATION = 2;
24     public enum SDL = 1;
25     public enum PORTAUDIO = 3;
26     public enum OPENAL = 8;
27     public enum BACKEND_MAX = 9;
28     public enum XAUDIO2 = 5;
29     public enum WINMM = 4;
30     public enum OSS = 7;
31 
32     public SoloudObject soloudObject;
33     alias soloudObject this;
34 
35     public static create()
36     {
37         return Soloud(SoloudObject(Soloud_create()));
38     }
39 
40     public void destroy()
41     {
42         Soloud_destroy(objhandle);
43     }
44 
45     public int init(uint aFlags = CLIP_ROUNDOFF, uint aBackend = AUTO, uint aSamplerate = AUTO, uint aBufferSize = AUTO)
46     {
47         return Soloud_initEx(objhandle, aFlags, aBackend, aSamplerate, aBufferSize);
48     }
49 
50     public void deinit()
51     {
52         Soloud_deinit(objhandle);
53     }
54 
55     public uint getVersion()
56     {
57         return Soloud_getVersion(objhandle);
58     }
59 
60     public const(char)* getErrorString(int aErrorCode)
61     {
62         return Soloud_getErrorString(objhandle, aErrorCode);
63     }
64 
65     public uint play(SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f, int aPaused = 0, uint aBus = 0)
66     {
67         return Soloud_playEx(objhandle, aSound.objhandle, aVolume, aPan, aPaused, aBus);
68     }
69 
70     public uint playClocked(double aSoundTime, SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f, uint aBus = 0)
71     {
72         return Soloud_playClockedEx(objhandle, aSoundTime, aSound.objhandle, aVolume, aPan, aBus);
73     }
74 
75     public uint play3d(SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, int aPaused = 0, uint aBus = 0)
76     {
77         return Soloud_play3dEx(objhandle, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aPaused, aBus);
78     }
79 
80     public uint play3dClocked(double aSoundTime, SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, uint aBus = 0)
81     {
82         return Soloud_play3dClockedEx(objhandle, aSoundTime, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aBus);
83     }
84 
85     public void seek(uint aVoiceHandle, double aSeconds)
86     {
87         Soloud_seek(objhandle, aVoiceHandle, aSeconds);
88     }
89 
90     public void stop(uint aVoiceHandle)
91     {
92         Soloud_stop(objhandle, aVoiceHandle);
93     }
94 
95     public void stopAll()
96     {
97         Soloud_stopAll(objhandle);
98     }
99 
100     public void stopAudioSource(SoloudObject aSound)
101     {
102         Soloud_stopAudioSource(objhandle, aSound.objhandle);
103     }
104 
105     public void setFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aValue)
106     {
107         Soloud_setFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aValue);
108     }
109 
110     public float getFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId)
111     {
112         return Soloud_getFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId);
113     }
114 
115     public void fadeFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aTo, double aTime)
116     {
117         Soloud_fadeFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aTo, aTime);
118     }
119 
120     public void oscillateFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aFrom, float aTo, double aTime)
121     {
122         Soloud_oscillateFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aFrom, aTo, aTime);
123     }
124 
125     public double getStreamTime(uint aVoiceHandle)
126     {
127         return Soloud_getStreamTime(objhandle, aVoiceHandle);
128     }
129 
130     public int getPause(uint aVoiceHandle)
131     {
132         return Soloud_getPause(objhandle, aVoiceHandle);
133     }
134 
135     public float getVolume(uint aVoiceHandle)
136     {
137         return Soloud_getVolume(objhandle, aVoiceHandle);
138     }
139 
140     public float getPan(uint aVoiceHandle)
141     {
142         return Soloud_getPan(objhandle, aVoiceHandle);
143     }
144 
145     public float getSamplerate(uint aVoiceHandle)
146     {
147         return Soloud_getSamplerate(objhandle, aVoiceHandle);
148     }
149 
150     public int getProtectVoice(uint aVoiceHandle)
151     {
152         return Soloud_getProtectVoice(objhandle, aVoiceHandle);
153     }
154 
155     public uint getActiveVoiceCount()
156     {
157         return Soloud_getActiveVoiceCount(objhandle);
158     }
159 
160     public int isValidVoiceHandle(uint aVoiceHandle)
161     {
162         return Soloud_isValidVoiceHandle(objhandle, aVoiceHandle);
163     }
164 
165     public float getRelativePlaySpeed(uint aVoiceHandle)
166     {
167         return Soloud_getRelativePlaySpeed(objhandle, aVoiceHandle);
168     }
169 
170     public float getPostClipScaler()
171     {
172         return Soloud_getPostClipScaler(objhandle);
173     }
174 
175     public float getGlobalVolume()
176     {
177         return Soloud_getGlobalVolume(objhandle);
178     }
179 
180     public void setGlobalVolume(float aVolume)
181     {
182         Soloud_setGlobalVolume(objhandle, aVolume);
183     }
184 
185     public void setPostClipScaler(float aScaler)
186     {
187         Soloud_setPostClipScaler(objhandle, aScaler);
188     }
189 
190     public void setPause(uint aVoiceHandle, int aPause)
191     {
192         Soloud_setPause(objhandle, aVoiceHandle, aPause);
193     }
194 
195     public void setPauseAll(int aPause)
196     {
197         Soloud_setPauseAll(objhandle, aPause);
198     }
199 
200     public void setRelativePlaySpeed(uint aVoiceHandle, float aSpeed)
201     {
202         Soloud_setRelativePlaySpeed(objhandle, aVoiceHandle, aSpeed);
203     }
204 
205     public void setProtectVoice(uint aVoiceHandle, int aProtect)
206     {
207         Soloud_setProtectVoice(objhandle, aVoiceHandle, aProtect);
208     }
209 
210     public void setSamplerate(uint aVoiceHandle, float aSamplerate)
211     {
212         Soloud_setSamplerate(objhandle, aVoiceHandle, aSamplerate);
213     }
214 
215     public void setPan(uint aVoiceHandle, float aPan)
216     {
217         Soloud_setPan(objhandle, aVoiceHandle, aPan);
218     }
219 
220     public void setPanAbsolute(uint aVoiceHandle, float aLVolume, float aRVolume)
221     {
222         Soloud_setPanAbsolute(objhandle, aVoiceHandle, aLVolume, aRVolume);
223     }
224 
225     public void setVolume(uint aVoiceHandle, float aVolume)
226     {
227         Soloud_setVolume(objhandle, aVoiceHandle, aVolume);
228     }
229 
230     public void setDelaySamples(uint aVoiceHandle, uint aSamples)
231     {
232         Soloud_setDelaySamples(objhandle, aVoiceHandle, aSamples);
233     }
234 
235     public void fadeVolume(uint aVoiceHandle, float aTo, double aTime)
236     {
237         Soloud_fadeVolume(objhandle, aVoiceHandle, aTo, aTime);
238     }
239 
240     public void fadePan(uint aVoiceHandle, float aTo, double aTime)
241     {
242         Soloud_fadePan(objhandle, aVoiceHandle, aTo, aTime);
243     }
244 
245     public void fadeRelativePlaySpeed(uint aVoiceHandle, float aTo, double aTime)
246     {
247         Soloud_fadeRelativePlaySpeed(objhandle, aVoiceHandle, aTo, aTime);
248     }
249 
250     public void fadeGlobalVolume(float aTo, double aTime)
251     {
252         Soloud_fadeGlobalVolume(objhandle, aTo, aTime);
253     }
254 
255     public void schedulePause(uint aVoiceHandle, double aTime)
256     {
257         Soloud_schedulePause(objhandle, aVoiceHandle, aTime);
258     }
259 
260     public void scheduleStop(uint aVoiceHandle, double aTime)
261     {
262         Soloud_scheduleStop(objhandle, aVoiceHandle, aTime);
263     }
264 
265     public void oscillateVolume(uint aVoiceHandle, float aFrom, float aTo, double aTime)
266     {
267         Soloud_oscillateVolume(objhandle, aVoiceHandle, aFrom, aTo, aTime);
268     }
269 
270     public void oscillatePan(uint aVoiceHandle, float aFrom, float aTo, double aTime)
271     {
272         Soloud_oscillatePan(objhandle, aVoiceHandle, aFrom, aTo, aTime);
273     }
274 
275     public void oscillateRelativePlaySpeed(uint aVoiceHandle, float aFrom, float aTo, double aTime)
276     {
277         Soloud_oscillateRelativePlaySpeed(objhandle, aVoiceHandle, aFrom, aTo, aTime);
278     }
279 
280     public void oscillateGlobalVolume(float aFrom, float aTo, double aTime)
281     {
282         Soloud_oscillateGlobalVolume(objhandle, aFrom, aTo, aTime);
283     }
284 
285     public void setGlobalFilter(uint aFilterId, SoloudObject aFilter)
286     {
287         Soloud_setGlobalFilter(objhandle, aFilterId, aFilter.objhandle);
288     }
289 
290     public void setVisualizationEnable(int aEnable)
291     {
292         Soloud_setVisualizationEnable(objhandle, aEnable);
293     }
294 
295     public float[] calcFFT()
296     {
297         return Soloud_calcFFT(objhandle);
298     }
299 
300     public float[] getWave()
301     {
302         return Soloud_getWave(objhandle);
303     }
304 
305     public uint getLoopCount(uint aVoiceHandle)
306     {
307         return Soloud_getLoopCount(objhandle, aVoiceHandle);
308     }
309 
310     public uint createVoiceGroup()
311     {
312         return Soloud_createVoiceGroup(objhandle);
313     }
314 
315     public int destroyVoiceGroup(uint aVoiceGroupHandle)
316     {
317         return Soloud_destroyVoiceGroup(objhandle, aVoiceGroupHandle);
318     }
319 
320     public int addVoiceToGroup(uint aVoiceGroupHandle, uint aVoiceHandle)
321     {
322         return Soloud_addVoiceToGroup(objhandle, aVoiceGroupHandle, aVoiceHandle);
323     }
324 
325     public int isVoiceGroup(uint aVoiceGroupHandle)
326     {
327         return Soloud_isVoiceGroup(objhandle, aVoiceGroupHandle);
328     }
329 
330     public int isVoiceGroupEmpty(uint aVoiceGroupHandle)
331     {
332         return Soloud_isVoiceGroupEmpty(objhandle, aVoiceGroupHandle);
333     }
334 
335     public void update3dAudio()
336     {
337         Soloud_update3dAudio(objhandle);
338     }
339 
340     public int set3dSoundSpeed(float aSpeed)
341     {
342         return Soloud_set3dSoundSpeed(objhandle, aSpeed);
343     }
344 
345     public float get3dSoundSpeed()
346     {
347         return Soloud_get3dSoundSpeed(objhandle);
348     }
349 
350     public void set3dListenerParameters(float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f)
351     {
352         Soloud_set3dListenerParametersEx(objhandle, aPosX, aPosY, aPosZ, aAtX, aAtY, aAtZ, aUpX, aUpY, aUpZ, aVelocityX, aVelocityY, aVelocityZ);
353     }
354 
355     public void set3dListenerPosition(float aPosX, float aPosY, float aPosZ)
356     {
357         Soloud_set3dListenerPosition(objhandle, aPosX, aPosY, aPosZ);
358     }
359 
360     public void set3dListenerAt(float aAtX, float aAtY, float aAtZ)
361     {
362         Soloud_set3dListenerAt(objhandle, aAtX, aAtY, aAtZ);
363     }
364 
365     public void set3dListenerUp(float aUpX, float aUpY, float aUpZ)
366     {
367         Soloud_set3dListenerUp(objhandle, aUpX, aUpY, aUpZ);
368     }
369 
370     public void set3dListenerVelocity(float aVelocityX, float aVelocityY, float aVelocityZ)
371     {
372         Soloud_set3dListenerVelocity(objhandle, aVelocityX, aVelocityY, aVelocityZ);
373     }
374 
375     public void set3dSourceParameters(uint aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f)
376     {
377         Soloud_set3dSourceParametersEx(objhandle, aVoiceHandle, aPosX, aPosY, aPosZ, aVelocityX, aVelocityY, aVelocityZ);
378     }
379 
380     public void set3dSourcePosition(uint aVoiceHandle, float aPosX, float aPosY, float aPosZ)
381     {
382         Soloud_set3dSourcePosition(objhandle, aVoiceHandle, aPosX, aPosY, aPosZ);
383     }
384 
385     public void set3dSourceVelocity(uint aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ)
386     {
387         Soloud_set3dSourceVelocity(objhandle, aVoiceHandle, aVelocityX, aVelocityY, aVelocityZ);
388     }
389 
390     public void set3dSourceMinMaxDistance(uint aVoiceHandle, float aMinDistance, float aMaxDistance)
391     {
392         Soloud_set3dSourceMinMaxDistance(objhandle, aVoiceHandle, aMinDistance, aMaxDistance);
393     }
394 
395     public void set3dSourceAttenuation(uint aVoiceHandle, uint aAttenuationModel, float aAttenuationRolloffFactor)
396     {
397         Soloud_set3dSourceAttenuation(objhandle, aVoiceHandle, aAttenuationModel, aAttenuationRolloffFactor);
398     }
399 
400     public void set3dSourceDopplerFactor(uint aVoiceHandle, float aDopplerFactor)
401     {
402         Soloud_set3dSourceDopplerFactor(objhandle, aVoiceHandle, aDopplerFactor);
403     }
404 
405 }
406 
407 public struct BiquadResonantFilter
408 {
409 pure @safe nothrow @nogc:
410     public enum NONE = 0;
411     public enum HIGHPASS = 2;
412     public enum WET = 0;
413     public enum LOWPASS = 1;
414     public enum SAMPLERATE = 1;
415     public enum BANDPASS = 3;
416     public enum FREQUENCY = 2;
417     public enum RESONANCE = 3;
418 
419     public SoloudObject soloudObject;
420     alias soloudObject this;
421 
422     public static create()
423     {
424         return BiquadResonantFilter(SoloudObject(BiquadResonantFilter_create()));
425     }
426 
427     public void destroy()
428     {
429         BiquadResonantFilter_destroy(objhandle);
430     }
431 
432     public int setParams(int aType, float aSampleRate, float aFrequency, float aResonance)
433     {
434         return BiquadResonantFilter_setParams(objhandle, aType, aSampleRate, aFrequency, aResonance);
435     }
436 
437 }
438 
439 public struct Bus
440 {
441 pure @safe nothrow @nogc:
442 
443     public SoloudObject soloudObject;
444     alias soloudObject this;
445 
446     public static create()
447     {
448         return Bus(SoloudObject(Bus_create()));
449     }
450 
451     public void destroy()
452     {
453         Bus_destroy(objhandle);
454     }
455 
456     public void setFilter(uint aFilterId, SoloudObject aFilter)
457     {
458         Bus_setFilter(objhandle, aFilterId, aFilter.objhandle);
459     }
460 
461     public uint play(SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f, int aPaused = 0)
462     {
463         return Bus_playEx(objhandle, aSound.objhandle, aVolume, aPan, aPaused);
464     }
465 
466     public uint playClocked(double aSoundTime, SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f)
467     {
468         return Bus_playClockedEx(objhandle, aSoundTime, aSound.objhandle, aVolume, aPan);
469     }
470 
471     public uint play3d(SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, int aPaused = 0)
472     {
473         return Bus_play3dEx(objhandle, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aPaused);
474     }
475 
476     public uint play3dClocked(double aSoundTime, SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f)
477     {
478         return Bus_play3dClockedEx(objhandle, aSoundTime, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume);
479     }
480 
481     public void setVisualizationEnable(int aEnable)
482     {
483         Bus_setVisualizationEnable(objhandle, aEnable);
484     }
485 
486     public float[] calcFFT()
487     {
488         return Bus_calcFFT(objhandle);
489     }
490 
491     public float[] getWave()
492     {
493         return Bus_getWave(objhandle);
494     }
495 
496     public void setLooping(int aLoop)
497     {
498         Bus_setLooping(objhandle, aLoop);
499     }
500 
501     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
502     {
503         Bus_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
504     }
505 
506     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
507     {
508         Bus_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
509     }
510 
511     public void set3dDopplerFactor(float aDopplerFactor)
512     {
513         Bus_set3dDopplerFactor(objhandle, aDopplerFactor);
514     }
515 
516     public void set3dProcessing(int aDo3dProcessing)
517     {
518         Bus_set3dProcessing(objhandle, aDo3dProcessing);
519     }
520 
521     public void set3dListenerRelative(int aListenerRelative)
522     {
523         Bus_set3dListenerRelative(objhandle, aListenerRelative);
524     }
525 
526     public void set3dDistanceDelay(int aDistanceDelay)
527     {
528         Bus_set3dDistanceDelay(objhandle, aDistanceDelay);
529     }
530 
531     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
532     {
533         Bus_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
534     }
535 
536     public void stop()
537     {
538         Bus_stop(objhandle);
539     }
540 
541 }
542 
543 public struct EchoFilter
544 {
545 pure @safe nothrow @nogc:
546 
547     public SoloudObject soloudObject;
548     alias soloudObject this;
549 
550     public static create()
551     {
552         return EchoFilter(SoloudObject(EchoFilter_create()));
553     }
554 
555     public void destroy()
556     {
557         EchoFilter_destroy(objhandle);
558     }
559 
560     public int setParams(float aDelay, float aDecay = 0.7f, float aFilter = 0.0f)
561     {
562         return EchoFilter_setParamsEx(objhandle, aDelay, aDecay, aFilter);
563     }
564 
565 }
566 
567 public struct FFTFilter
568 {
569 pure @safe nothrow @nogc:
570     public enum OVER = 0;
571     public enum MULTIPLY = 2;
572     public enum SUBTRACT = 1;
573 
574     public SoloudObject soloudObject;
575     alias soloudObject this;
576 
577     public static create()
578     {
579         return FFTFilter(SoloudObject(FFTFilter_create()));
580     }
581 
582     public void destroy()
583     {
584         FFTFilter_destroy(objhandle);
585     }
586 
587     public int setParameters(int aShift, int aCombine = 0, float aScale = 0.002f)
588     {
589         return FFTFilter_setParametersEx(objhandle, aShift, aCombine, aScale);
590     }
591 
592 }
593 
594 public struct FlangerFilter
595 {
596 pure @safe nothrow @nogc:
597     public enum FREQ = 2;
598     public enum WET = 0;
599     public enum DELAY = 1;
600 
601     public SoloudObject soloudObject;
602     alias soloudObject this;
603 
604     public static create()
605     {
606         return FlangerFilter(SoloudObject(FlangerFilter_create()));
607     }
608 
609     public void destroy()
610     {
611         FlangerFilter_destroy(objhandle);
612     }
613 
614     public int setParams(float aDelay, float aFreq)
615     {
616         return FlangerFilter_setParams(objhandle, aDelay, aFreq);
617     }
618 
619 }
620 
621 public struct LofiFilter
622 {
623 pure @safe nothrow @nogc:
624     public enum BITDEPTH = 2;
625     public enum WET = 0;
626     public enum SAMPLERATE = 1;
627 
628     public SoloudObject soloudObject;
629     alias soloudObject this;
630 
631     public static create()
632     {
633         return LofiFilter(SoloudObject(LofiFilter_create()));
634     }
635 
636     public void destroy()
637     {
638         LofiFilter_destroy(objhandle);
639     }
640 
641     public int setParams(float aSampleRate, float aBitdepth)
642     {
643         return LofiFilter_setParams(objhandle, aSampleRate, aBitdepth);
644     }
645 
646 }
647 
648 public struct Modplug
649 {
650 pure @safe nothrow @nogc:
651 
652     public SoloudObject soloudObject;
653     alias soloudObject this;
654 
655     public static create()
656     {
657         return Modplug(SoloudObject(Modplug_create()));
658     }
659 
660     public void destroy()
661     {
662         Modplug_destroy(objhandle);
663     }
664 
665     public int load(const(char)* aFilename)
666     {
667         return Modplug_load(objhandle, aFilename);
668     }
669 
670     public void setLooping(int aLoop)
671     {
672         Modplug_setLooping(objhandle, aLoop);
673     }
674 
675     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
676     {
677         Modplug_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
678     }
679 
680     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
681     {
682         Modplug_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
683     }
684 
685     public void set3dDopplerFactor(float aDopplerFactor)
686     {
687         Modplug_set3dDopplerFactor(objhandle, aDopplerFactor);
688     }
689 
690     public void set3dProcessing(int aDo3dProcessing)
691     {
692         Modplug_set3dProcessing(objhandle, aDo3dProcessing);
693     }
694 
695     public void set3dListenerRelative(int aListenerRelative)
696     {
697         Modplug_set3dListenerRelative(objhandle, aListenerRelative);
698     }
699 
700     public void set3dDistanceDelay(int aDistanceDelay)
701     {
702         Modplug_set3dDistanceDelay(objhandle, aDistanceDelay);
703     }
704 
705     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
706     {
707         Modplug_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
708     }
709 
710     public void setFilter(uint aFilterId, SoloudObject aFilter)
711     {
712         Modplug_setFilter(objhandle, aFilterId, aFilter.objhandle);
713     }
714 
715     public void stop()
716     {
717         Modplug_stop(objhandle);
718     }
719 
720 }
721 
722 public struct Prg
723 {
724 pure @safe nothrow @nogc:
725 
726     public SoloudObject soloudObject;
727     alias soloudObject this;
728 
729     public static create()
730     {
731         return Prg(SoloudObject(Prg_create()));
732     }
733 
734     public void destroy()
735     {
736         Prg_destroy(objhandle);
737     }
738 
739     public uint rand()
740     {
741         return Prg_rand(objhandle);
742     }
743 
744     public void srand(int aSeed)
745     {
746         Prg_srand(objhandle, aSeed);
747     }
748 
749 }
750 
751 public struct Sfxr
752 {
753 pure @safe nothrow @nogc:
754     public enum HURT = 4;
755     public enum LASER = 1;
756     public enum BLIP = 6;
757     public enum JUMP = 5;
758     public enum COIN = 0;
759     public enum EXPLOSION = 2;
760     public enum POWERUP = 3;
761 
762     public SoloudObject soloudObject;
763     alias soloudObject this;
764 
765     public static create()
766     {
767         return Sfxr(SoloudObject(Sfxr_create()));
768     }
769 
770     public void destroy()
771     {
772         Sfxr_destroy(objhandle);
773     }
774 
775     public void resetParams()
776     {
777         Sfxr_resetParams(objhandle);
778     }
779 
780     public int loadParams(const(char)* aFilename)
781     {
782         return Sfxr_loadParams(objhandle, aFilename);
783     }
784 
785     public int loadPreset(int aPresetNo, int aRandSeed)
786     {
787         return Sfxr_loadPreset(objhandle, aPresetNo, aRandSeed);
788     }
789 
790     public void setLooping(int aLoop)
791     {
792         Sfxr_setLooping(objhandle, aLoop);
793     }
794 
795     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
796     {
797         Sfxr_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
798     }
799 
800     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
801     {
802         Sfxr_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
803     }
804 
805     public void set3dDopplerFactor(float aDopplerFactor)
806     {
807         Sfxr_set3dDopplerFactor(objhandle, aDopplerFactor);
808     }
809 
810     public void set3dProcessing(int aDo3dProcessing)
811     {
812         Sfxr_set3dProcessing(objhandle, aDo3dProcessing);
813     }
814 
815     public void set3dListenerRelative(int aListenerRelative)
816     {
817         Sfxr_set3dListenerRelative(objhandle, aListenerRelative);
818     }
819 
820     public void set3dDistanceDelay(int aDistanceDelay)
821     {
822         Sfxr_set3dDistanceDelay(objhandle, aDistanceDelay);
823     }
824 
825     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
826     {
827         Sfxr_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
828     }
829 
830     public void setFilter(uint aFilterId, SoloudObject aFilter)
831     {
832         Sfxr_setFilter(objhandle, aFilterId, aFilter.objhandle);
833     }
834 
835     public void stop()
836     {
837         Sfxr_stop(objhandle);
838     }
839 
840 }
841 
842 public struct Speech
843 {
844 pure @safe nothrow @nogc:
845 
846     public SoloudObject soloudObject;
847     alias soloudObject this;
848 
849     public static create()
850     {
851         return Speech(SoloudObject(Speech_create()));
852     }
853 
854     public void destroy()
855     {
856         Speech_destroy(objhandle);
857     }
858 
859     public int setText(const(char)* aText)
860     {
861         return Speech_setText(objhandle, aText);
862     }
863 
864     public void setLooping(int aLoop)
865     {
866         Speech_setLooping(objhandle, aLoop);
867     }
868 
869     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
870     {
871         Speech_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
872     }
873 
874     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
875     {
876         Speech_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
877     }
878 
879     public void set3dDopplerFactor(float aDopplerFactor)
880     {
881         Speech_set3dDopplerFactor(objhandle, aDopplerFactor);
882     }
883 
884     public void set3dProcessing(int aDo3dProcessing)
885     {
886         Speech_set3dProcessing(objhandle, aDo3dProcessing);
887     }
888 
889     public void set3dListenerRelative(int aListenerRelative)
890     {
891         Speech_set3dListenerRelative(objhandle, aListenerRelative);
892     }
893 
894     public void set3dDistanceDelay(int aDistanceDelay)
895     {
896         Speech_set3dDistanceDelay(objhandle, aDistanceDelay);
897     }
898 
899     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
900     {
901         Speech_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
902     }
903 
904     public void setFilter(uint aFilterId, SoloudObject aFilter)
905     {
906         Speech_setFilter(objhandle, aFilterId, aFilter.objhandle);
907     }
908 
909     public void stop()
910     {
911         Speech_stop(objhandle);
912     }
913 
914 }
915 
916 public struct Wav
917 {
918 pure @safe nothrow @nogc:
919 
920     public SoloudObject soloudObject;
921     alias soloudObject this;
922 
923     public static create()
924     {
925         return Wav(SoloudObject(Wav_create()));
926     }
927 
928     public void destroy()
929     {
930         Wav_destroy(objhandle);
931     }
932 
933     public int load(const(char)* aFilename)
934     {
935         return Wav_load(objhandle, aFilename);
936     }
937 
938     public int loadMem(ubyte* aMem, uint aLength)
939     {
940         return Wav_loadMem(objhandle, aMem, aLength);
941     }
942 
943     public double getLength()
944     {
945         return Wav_getLength(objhandle);
946     }
947 
948     public void setLooping(int aLoop)
949     {
950         Wav_setLooping(objhandle, aLoop);
951     }
952 
953     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
954     {
955         Wav_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
956     }
957 
958     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
959     {
960         Wav_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
961     }
962 
963     public void set3dDopplerFactor(float aDopplerFactor)
964     {
965         Wav_set3dDopplerFactor(objhandle, aDopplerFactor);
966     }
967 
968     public void set3dProcessing(int aDo3dProcessing)
969     {
970         Wav_set3dProcessing(objhandle, aDo3dProcessing);
971     }
972 
973     public void set3dListenerRelative(int aListenerRelative)
974     {
975         Wav_set3dListenerRelative(objhandle, aListenerRelative);
976     }
977 
978     public void set3dDistanceDelay(int aDistanceDelay)
979     {
980         Wav_set3dDistanceDelay(objhandle, aDistanceDelay);
981     }
982 
983     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
984     {
985         Wav_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
986     }
987 
988     public void setFilter(uint aFilterId, SoloudObject aFilter)
989     {
990         Wav_setFilter(objhandle, aFilterId, aFilter.objhandle);
991     }
992 
993     public void stop()
994     {
995         Wav_stop(objhandle);
996     }
997 
998 }
999 
1000 public struct WavStream
1001 {
1002 pure @safe nothrow @nogc:
1003 
1004     public SoloudObject soloudObject;
1005     alias soloudObject this;
1006 
1007     public static create()
1008     {
1009         return WavStream(SoloudObject(WavStream_create()));
1010     }
1011 
1012     public void destroy()
1013     {
1014         WavStream_destroy(objhandle);
1015     }
1016 
1017     public int load(const(char)* aFilename)
1018     {
1019         return WavStream_load(objhandle, aFilename);
1020     }
1021 
1022     public double getLength()
1023     {
1024         return WavStream_getLength(objhandle);
1025     }
1026 
1027     public void setLooping(int aLoop)
1028     {
1029         WavStream_setLooping(objhandle, aLoop);
1030     }
1031 
1032     public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance)
1033     {
1034         WavStream_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance);
1035     }
1036 
1037     public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor)
1038     {
1039         WavStream_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor);
1040     }
1041 
1042     public void set3dDopplerFactor(float aDopplerFactor)
1043     {
1044         WavStream_set3dDopplerFactor(objhandle, aDopplerFactor);
1045     }
1046 
1047     public void set3dProcessing(int aDo3dProcessing)
1048     {
1049         WavStream_set3dProcessing(objhandle, aDo3dProcessing);
1050     }
1051 
1052     public void set3dListenerRelative(int aListenerRelative)
1053     {
1054         WavStream_set3dListenerRelative(objhandle, aListenerRelative);
1055     }
1056 
1057     public void set3dDistanceDelay(int aDistanceDelay)
1058     {
1059         WavStream_set3dDistanceDelay(objhandle, aDistanceDelay);
1060     }
1061 
1062     public void set3dCollider(SoloudObject aCollider, int aUserData = 0)
1063     {
1064         WavStream_set3dColliderEx(objhandle, aCollider.objhandle, aUserData);
1065     }
1066 
1067     public void setFilter(uint aFilterId, SoloudObject aFilter)
1068     {
1069         WavStream_setFilter(objhandle, aFilterId, aFilter.objhandle);
1070     }
1071 
1072     public void stop()
1073     {
1074         WavStream_stop(objhandle);
1075     }
1076 
1077 }
1078 private static extern(C) int* Soloud_create();
1079 private static extern(C) int* Soloud_destroy(int* aObjHandle);
1080 private static extern(C) int Soloud_initEx(int* aObjHandle, uint aFlags, uint aBackend, uint aSamplerate, uint aBufferSize);
1081 private static extern(C) void Soloud_deinit(int* aObjHandle);
1082 private static extern(C) uint Soloud_getVersion(int* aObjHandle);
1083 private static extern(C) const(char)* Soloud_getErrorString(int* aObjHandle, int aErrorCode);
1084 private static extern(C) uint Soloud_playEx(int* aObjHandle, int* aSound, float aVolume, float aPan, int aPaused, uint aBus);
1085 private static extern(C) uint Soloud_playClockedEx(int* aObjHandle, double aSoundTime, int* aSound, float aVolume, float aPan, uint aBus);
1086 private static extern(C) uint Soloud_play3dEx(int* aObjHandle, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused, uint aBus);
1087 private static extern(C) uint Soloud_play3dClockedEx(int* aObjHandle, double aSoundTime, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, uint aBus);
1088 private static extern(C) void Soloud_seek(int* aObjHandle, uint aVoiceHandle, double aSeconds);
1089 private static extern(C) void Soloud_stop(int* aObjHandle, uint aVoiceHandle);
1090 private static extern(C) void Soloud_stopAll(int* aObjHandle);
1091 private static extern(C) void Soloud_stopAudioSource(int* aObjHandle, int* aSound);
1092 private static extern(C) void Soloud_setFilterParameter(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aValue);
1093 private static extern(C) float Soloud_getFilterParameter(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId);
1094 private static extern(C) void Soloud_fadeFilterParameter(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aTo, double aTime);
1095 private static extern(C) void Soloud_oscillateFilterParameter(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aFrom, float aTo, double aTime);
1096 private static extern(C) double Soloud_getStreamTime(int* aObjHandle, uint aVoiceHandle);
1097 private static extern(C) int Soloud_getPause(int* aObjHandle, uint aVoiceHandle);
1098 private static extern(C) float Soloud_getVolume(int* aObjHandle, uint aVoiceHandle);
1099 private static extern(C) float Soloud_getPan(int* aObjHandle, uint aVoiceHandle);
1100 private static extern(C) float Soloud_getSamplerate(int* aObjHandle, uint aVoiceHandle);
1101 private static extern(C) int Soloud_getProtectVoice(int* aObjHandle, uint aVoiceHandle);
1102 private static extern(C) uint Soloud_getActiveVoiceCount(int* aObjHandle);
1103 private static extern(C) int Soloud_isValidVoiceHandle(int* aObjHandle, uint aVoiceHandle);
1104 private static extern(C) float Soloud_getRelativePlaySpeed(int* aObjHandle, uint aVoiceHandle);
1105 private static extern(C) float Soloud_getPostClipScaler(int* aObjHandle);
1106 private static extern(C) float Soloud_getGlobalVolume(int* aObjHandle);
1107 private static extern(C) void Soloud_setGlobalVolume(int* aObjHandle, float aVolume);
1108 private static extern(C) void Soloud_setPostClipScaler(int* aObjHandle, float aScaler);
1109 private static extern(C) void Soloud_setPause(int* aObjHandle, uint aVoiceHandle, int aPause);
1110 private static extern(C) void Soloud_setPauseAll(int* aObjHandle, int aPause);
1111 private static extern(C) void Soloud_setRelativePlaySpeed(int* aObjHandle, uint aVoiceHandle, float aSpeed);
1112 private static extern(C) void Soloud_setProtectVoice(int* aObjHandle, uint aVoiceHandle, int aProtect);
1113 private static extern(C) void Soloud_setSamplerate(int* aObjHandle, uint aVoiceHandle, float aSamplerate);
1114 private static extern(C) void Soloud_setPan(int* aObjHandle, uint aVoiceHandle, float aPan);
1115 private static extern(C) void Soloud_setPanAbsolute(int* aObjHandle, uint aVoiceHandle, float aLVolume, float aRVolume);
1116 private static extern(C) void Soloud_setVolume(int* aObjHandle, uint aVoiceHandle, float aVolume);
1117 private static extern(C) void Soloud_setDelaySamples(int* aObjHandle, uint aVoiceHandle, uint aSamples);
1118 private static extern(C) void Soloud_fadeVolume(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime);
1119 private static extern(C) void Soloud_fadePan(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime);
1120 private static extern(C) void Soloud_fadeRelativePlaySpeed(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime);
1121 private static extern(C) void Soloud_fadeGlobalVolume(int* aObjHandle, float aTo, double aTime);
1122 private static extern(C) void Soloud_schedulePause(int* aObjHandle, uint aVoiceHandle, double aTime);
1123 private static extern(C) void Soloud_scheduleStop(int* aObjHandle, uint aVoiceHandle, double aTime);
1124 private static extern(C) void Soloud_oscillateVolume(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime);
1125 private static extern(C) void Soloud_oscillatePan(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime);
1126 private static extern(C) void Soloud_oscillateRelativePlaySpeed(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime);
1127 private static extern(C) void Soloud_oscillateGlobalVolume(int* aObjHandle, float aFrom, float aTo, double aTime);
1128 private static extern(C) void Soloud_setGlobalFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1129 private static extern(C) void Soloud_setVisualizationEnable(int* aObjHandle, int aEnable);
1130 private static extern(C) float[] Soloud_calcFFT(int* aObjHandle);
1131 private static extern(C) float[] Soloud_getWave(int* aObjHandle);
1132 private static extern(C) uint Soloud_getLoopCount(int* aObjHandle, uint aVoiceHandle);
1133 private static extern(C) uint Soloud_createVoiceGroup(int* aObjHandle);
1134 private static extern(C) int Soloud_destroyVoiceGroup(int* aObjHandle, uint aVoiceGroupHandle);
1135 private static extern(C) int Soloud_addVoiceToGroup(int* aObjHandle, uint aVoiceGroupHandle, uint aVoiceHandle);
1136 private static extern(C) int Soloud_isVoiceGroup(int* aObjHandle, uint aVoiceGroupHandle);
1137 private static extern(C) int Soloud_isVoiceGroupEmpty(int* aObjHandle, uint aVoiceGroupHandle);
1138 private static extern(C) void Soloud_update3dAudio(int* aObjHandle);
1139 private static extern(C) int Soloud_set3dSoundSpeed(int* aObjHandle, float aSpeed);
1140 private static extern(C) float Soloud_get3dSoundSpeed(int* aObjHandle);
1141 private static extern(C) void Soloud_set3dListenerParametersEx(int* aObjHandle, float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX, float aVelocityY, float aVelocityZ);
1142 private static extern(C) void Soloud_set3dListenerPosition(int* aObjHandle, float aPosX, float aPosY, float aPosZ);
1143 private static extern(C) void Soloud_set3dListenerAt(int* aObjHandle, float aAtX, float aAtY, float aAtZ);
1144 private static extern(C) void Soloud_set3dListenerUp(int* aObjHandle, float aUpX, float aUpY, float aUpZ);
1145 private static extern(C) void Soloud_set3dListenerVelocity(int* aObjHandle, float aVelocityX, float aVelocityY, float aVelocityZ);
1146 private static extern(C) void Soloud_set3dSourceParametersEx(int* aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX, float aVelocityY, float aVelocityZ);
1147 private static extern(C) void Soloud_set3dSourcePosition(int* aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ);
1148 private static extern(C) void Soloud_set3dSourceVelocity(int* aObjHandle, uint aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ);
1149 private static extern(C) void Soloud_set3dSourceMinMaxDistance(int* aObjHandle, uint aVoiceHandle, float aMinDistance, float aMaxDistance);
1150 private static extern(C) void Soloud_set3dSourceAttenuation(int* aObjHandle, uint aVoiceHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1151 private static extern(C) void Soloud_set3dSourceDopplerFactor(int* aObjHandle, uint aVoiceHandle, float aDopplerFactor);
1152 private static extern(C) int* BiquadResonantFilter_create();
1153 private static extern(C) int* BiquadResonantFilter_destroy(int* aObjHandle);
1154 private static extern(C) int BiquadResonantFilter_setParams(int* aObjHandle, int aType, float aSampleRate, float aFrequency, float aResonance);
1155 private static extern(C) int* Bus_create();
1156 private static extern(C) int* Bus_destroy(int* aObjHandle);
1157 private static extern(C) void Bus_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1158 private static extern(C) uint Bus_playEx(int* aObjHandle, int* aSound, float aVolume, float aPan, int aPaused);
1159 private static extern(C) uint Bus_playClockedEx(int* aObjHandle, double aSoundTime, int* aSound, float aVolume, float aPan);
1160 private static extern(C) uint Bus_play3dEx(int* aObjHandle, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused);
1161 private static extern(C) uint Bus_play3dClockedEx(int* aObjHandle, double aSoundTime, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume);
1162 private static extern(C) void Bus_setVisualizationEnable(int* aObjHandle, int aEnable);
1163 private static extern(C) float[] Bus_calcFFT(int* aObjHandle);
1164 private static extern(C) float[] Bus_getWave(int* aObjHandle);
1165 private static extern(C) void Bus_setLooping(int* aObjHandle, int aLoop);
1166 private static extern(C) void Bus_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1167 private static extern(C) void Bus_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1168 private static extern(C) void Bus_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1169 private static extern(C) void Bus_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1170 private static extern(C) void Bus_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1171 private static extern(C) void Bus_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1172 private static extern(C) void Bus_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1173 private static extern(C) void Bus_stop(int* aObjHandle);
1174 private static extern(C) int* EchoFilter_create();
1175 private static extern(C) int* EchoFilter_destroy(int* aObjHandle);
1176 private static extern(C) int EchoFilter_setParamsEx(int* aObjHandle, float aDelay, float aDecay, float aFilter);
1177 private static extern(C) int* FFTFilter_create();
1178 private static extern(C) int* FFTFilter_destroy(int* aObjHandle);
1179 private static extern(C) int FFTFilter_setParametersEx(int* aObjHandle, int aShift, int aCombine, float aScale);
1180 private static extern(C) int* FlangerFilter_create();
1181 private static extern(C) int* FlangerFilter_destroy(int* aObjHandle);
1182 private static extern(C) int FlangerFilter_setParams(int* aObjHandle, float aDelay, float aFreq);
1183 private static extern(C) int* LofiFilter_create();
1184 private static extern(C) int* LofiFilter_destroy(int* aObjHandle);
1185 private static extern(C) int LofiFilter_setParams(int* aObjHandle, float aSampleRate, float aBitdepth);
1186 private static extern(C) int* Modplug_create();
1187 private static extern(C) int* Modplug_destroy(int* aObjHandle);
1188 private static extern(C) int Modplug_load(int* aObjHandle, const(char)* aFilename);
1189 private static extern(C) void Modplug_setLooping(int* aObjHandle, int aLoop);
1190 private static extern(C) void Modplug_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1191 private static extern(C) void Modplug_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1192 private static extern(C) void Modplug_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1193 private static extern(C) void Modplug_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1194 private static extern(C) void Modplug_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1195 private static extern(C) void Modplug_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1196 private static extern(C) void Modplug_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1197 private static extern(C) void Modplug_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1198 private static extern(C) void Modplug_stop(int* aObjHandle);
1199 private static extern(C) int* Prg_create();
1200 private static extern(C) int* Prg_destroy(int* aObjHandle);
1201 private static extern(C) uint Prg_rand(int* aObjHandle);
1202 private static extern(C) void Prg_srand(int* aObjHandle, int aSeed);
1203 private static extern(C) int* Sfxr_create();
1204 private static extern(C) int* Sfxr_destroy(int* aObjHandle);
1205 private static extern(C) void Sfxr_resetParams(int* aObjHandle);
1206 private static extern(C) int Sfxr_loadParams(int* aObjHandle, const(char)* aFilename);
1207 private static extern(C) int Sfxr_loadPreset(int* aObjHandle, int aPresetNo, int aRandSeed);
1208 private static extern(C) void Sfxr_setLooping(int* aObjHandle, int aLoop);
1209 private static extern(C) void Sfxr_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1210 private static extern(C) void Sfxr_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1211 private static extern(C) void Sfxr_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1212 private static extern(C) void Sfxr_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1213 private static extern(C) void Sfxr_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1214 private static extern(C) void Sfxr_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1215 private static extern(C) void Sfxr_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1216 private static extern(C) void Sfxr_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1217 private static extern(C) void Sfxr_stop(int* aObjHandle);
1218 private static extern(C) int* Speech_create();
1219 private static extern(C) int* Speech_destroy(int* aObjHandle);
1220 private static extern(C) int Speech_setText(int* aObjHandle, const(char)* aText);
1221 private static extern(C) void Speech_setLooping(int* aObjHandle, int aLoop);
1222 private static extern(C) void Speech_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1223 private static extern(C) void Speech_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1224 private static extern(C) void Speech_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1225 private static extern(C) void Speech_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1226 private static extern(C) void Speech_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1227 private static extern(C) void Speech_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1228 private static extern(C) void Speech_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1229 private static extern(C) void Speech_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1230 private static extern(C) void Speech_stop(int* aObjHandle);
1231 private static extern(C) int* Wav_create();
1232 private static extern(C) int* Wav_destroy(int* aObjHandle);
1233 private static extern(C) int Wav_load(int* aObjHandle, const(char)* aFilename);
1234 private static extern(C) int Wav_loadMem(int* aObjHandle, ubyte* aMem, uint aLength);
1235 private static extern(C) double Wav_getLength(int* aObjHandle);
1236 private static extern(C) void Wav_setLooping(int* aObjHandle, int aLoop);
1237 private static extern(C) void Wav_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1238 private static extern(C) void Wav_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1239 private static extern(C) void Wav_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1240 private static extern(C) void Wav_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1241 private static extern(C) void Wav_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1242 private static extern(C) void Wav_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1243 private static extern(C) void Wav_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1244 private static extern(C) void Wav_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1245 private static extern(C) void Wav_stop(int* aObjHandle);
1246 private static extern(C) int* WavStream_create();
1247 private static extern(C) int* WavStream_destroy(int* aObjHandle);
1248 private static extern(C) int WavStream_load(int* aObjHandle, const(char)* aFilename);
1249 private static extern(C) double WavStream_getLength(int* aObjHandle);
1250 private static extern(C) void WavStream_setLooping(int* aObjHandle, int aLoop);
1251 private static extern(C) void WavStream_set3dMinMaxDistance(int* aObjHandle, float aMinDistance, float aMaxDistance);
1252 private static extern(C) void WavStream_set3dAttenuation(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor);
1253 private static extern(C) void WavStream_set3dDopplerFactor(int* aObjHandle, float aDopplerFactor);
1254 private static extern(C) void WavStream_set3dProcessing(int* aObjHandle, int aDo3dProcessing);
1255 private static extern(C) void WavStream_set3dListenerRelative(int* aObjHandle, int aListenerRelative);
1256 private static extern(C) void WavStream_set3dDistanceDelay(int* aObjHandle, int aDistanceDelay);
1257 private static extern(C) void WavStream_set3dColliderEx(int* aObjHandle, int* aCollider, int aUserData);
1258 private static extern(C) void WavStream_setFilter(int* aObjHandle, uint aFilterId, int* aFilter);
1259 private static extern(C) void WavStream_stop(int* aObjHandle);