1 /*
2 Boost Software License - Version 1.0 - August 17th, 2003
3 
4 Permission is hereby granted, free of charge, to any person or organization
5 obtaining a copy of the software and accompanying documentation covered by
6 this license (the "Software") to use, reproduce, display, distribute,
7 execute, and transmit the Software, and to prepare derivative works of the
8 Software, and to permit third-parties to whom the Software is furnished to
9 do so, all subject to the following:
10 
11 The copyright notices in the Software and this entire statement, including
12 the above license grant, this restriction and the following disclaimer,
13 must be included in all copies of the Software, in whole or in part, and
14 all derivative works of the Software, unless such copies or derivative
15 works are solely in the form of machine-executable object code generated by
16 a source language processor.
17 
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 DEALINGS IN THE SOFTWARE.
25 */
26 
27 module bindbc.soloud.binddynamic;
28 
29 import bindbc.loader;
30 import bindbc.soloud.types;
31 
32 extern(C)
33 {
34     alias @nogc nothrow int* function() da_Soloud_create;
35     alias @nogc nothrow int* function(int* aObjHandle) da_Soloud_destroy;
36     alias @nogc nothrow int function(int* aObjHandle, uint aFlags, uint aBackend, uint aSamplerate, uint aBufferSize, uint aChannels) da_Soloud_initEx;
37     alias @nogc nothrow void function(int* aObjHandle) da_Soloud_deinit;
38     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getVersion;
39     alias @nogc nothrow const(char)* function(int* aObjHandle, int aErrorCode) da_Soloud_getErrorString;
40     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getBackendId;
41     alias @nogc nothrow const(char)* function(int* aObjHandle) da_Soloud_getBackendString;
42     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getBackendChannels;
43     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getBackendSamplerate;
44     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getBackendBufferSize;
45     alias @nogc nothrow int function(int* aObjHandle, uint aChannel, float aX, float aY, float aZ) da_Soloud_setSpeakerPosition;
46     alias @nogc nothrow int function(int* aObjHandle, uint aChannel, float[] aX, float[] aY, float[] aZ) da_Soloud_getSpeakerPosition;
47     alias @nogc nothrow uint function(int* aObjHandle, int* aSound, float aVolume, float aPan, int aPaused, uint aBus) da_Soloud_playEx;
48     alias @nogc nothrow uint function(int* aObjHandle, double aSoundTime, int* aSound, float aVolume, float aPan, uint aBus) da_Soloud_playClockedEx;
49     alias @nogc nothrow uint function(int* aObjHandle, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused, uint aBus) da_Soloud_play3dEx;
50     alias @nogc nothrow uint function(int* aObjHandle, double aSoundTime, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, uint aBus) da_Soloud_play3dClockedEx;
51     alias @nogc nothrow uint function(int* aObjHandle, int* aSound, float aVolume, int aPaused, uint aBus) da_Soloud_playBackgroundEx;
52     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle, double aSeconds) da_Soloud_seek;
53     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle) da_Soloud_stop;
54     alias @nogc nothrow void function(int* aObjHandle) da_Soloud_stopAll;
55     alias @nogc nothrow void function(int* aObjHandle, int* aSound) da_Soloud_stopAudioSource;
56     alias @nogc nothrow int function(int* aObjHandle, int* aSound) da_Soloud_countAudioSource;
57     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aValue) da_Soloud_setFilterParameter;
58     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId) da_Soloud_getFilterParameter;
59     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aTo, double aTime) da_Soloud_fadeFilterParameter;
60     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aFrom, float aTo, double aTime) da_Soloud_oscillateFilterParameter;
61     alias @nogc nothrow double function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getStreamTime;
62     alias @nogc nothrow double function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getStreamPosition;
63     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getPause;
64     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getVolume;
65     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getOverallVolume;
66     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getPan;
67     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getSamplerate;
68     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getProtectVoice;
69     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getActiveVoiceCount;
70     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getVoiceCount;
71     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle) da_Soloud_isValidVoiceHandle;
72     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getRelativePlaySpeed;
73     alias @nogc nothrow float function(int* aObjHandle) da_Soloud_getPostClipScaler;
74     alias @nogc nothrow float function(int* aObjHandle) da_Soloud_getGlobalVolume;
75     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_getMaxActiveVoiceCount;
76     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getLooping;
77     alias @nogc nothrow double function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getLoopPoint;
78     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, double aLoopPoint) da_Soloud_setLoopPoint;
79     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, int aLooping) da_Soloud_setLooping;
80     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceCount) da_Soloud_setMaxActiveVoiceCount;
81     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, int aMustTick, int aKill) da_Soloud_setInaudibleBehavior;
82     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Soloud_setGlobalVolume;
83     alias @nogc nothrow void function(int* aObjHandle, float aScaler) da_Soloud_setPostClipScaler;
84     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, int aPause) da_Soloud_setPause;
85     alias @nogc nothrow void function(int* aObjHandle, int aPause) da_Soloud_setPauseAll;
86     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceHandle, float aSpeed) da_Soloud_setRelativePlaySpeed;
87     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, int aProtect) da_Soloud_setProtectVoice;
88     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aSamplerate) da_Soloud_setSamplerate;
89     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aPan) da_Soloud_setPan;
90     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aLVolume, float aRVolume, float aLBVolume, float aRBVolume, float aCVolume, float aSVolume) da_Soloud_setPanAbsoluteEx;
91     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aVolume) da_Soloud_setVolume;
92     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, uint aSamples) da_Soloud_setDelaySamples;
93     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime) da_Soloud_fadeVolume;
94     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime) da_Soloud_fadePan;
95     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aTo, double aTime) da_Soloud_fadeRelativePlaySpeed;
96     alias @nogc nothrow void function(int* aObjHandle, float aTo, double aTime) da_Soloud_fadeGlobalVolume;
97     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, double aTime) da_Soloud_schedulePause;
98     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, double aTime) da_Soloud_scheduleStop;
99     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime) da_Soloud_oscillateVolume;
100     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime) da_Soloud_oscillatePan;
101     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime) da_Soloud_oscillateRelativePlaySpeed;
102     alias @nogc nothrow void function(int* aObjHandle, float aFrom, float aTo, double aTime) da_Soloud_oscillateGlobalVolume;
103     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Soloud_setGlobalFilter;
104     alias @nogc nothrow void function(int* aObjHandle, int aEnable) da_Soloud_setVisualizationEnable;
105     alias @nogc nothrow float[] function(int* aObjHandle) da_Soloud_calcFFT;
106     alias @nogc nothrow float[] function(int* aObjHandle) da_Soloud_getWave;
107     alias @nogc nothrow float function(int* aObjHandle, uint aChannel) da_Soloud_getApproximateVolume;
108     alias @nogc nothrow uint function(int* aObjHandle, uint aVoiceHandle) da_Soloud_getLoopCount;
109     alias @nogc nothrow float function(int* aObjHandle, uint aVoiceHandle, uint aInfoKey) da_Soloud_getInfo;
110     alias @nogc nothrow uint function(int* aObjHandle) da_Soloud_createVoiceGroup;
111     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceGroupHandle) da_Soloud_destroyVoiceGroup;
112     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceGroupHandle, uint aVoiceHandle) da_Soloud_addVoiceToGroup;
113     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceGroupHandle) da_Soloud_isVoiceGroup;
114     alias @nogc nothrow int function(int* aObjHandle, uint aVoiceGroupHandle) da_Soloud_isVoiceGroupEmpty;
115     alias @nogc nothrow void function(int* aObjHandle) da_Soloud_update3dAudio;
116     alias @nogc nothrow int function(int* aObjHandle, float aSpeed) da_Soloud_set3dSoundSpeed;
117     alias @nogc nothrow float function(int* aObjHandle) da_Soloud_get3dSoundSpeed;
118     alias @nogc nothrow void function(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) da_Soloud_set3dListenerParametersEx;
119     alias @nogc nothrow void function(int* aObjHandle, float aPosX, float aPosY, float aPosZ) da_Soloud_set3dListenerPosition;
120     alias @nogc nothrow void function(int* aObjHandle, float aAtX, float aAtY, float aAtZ) da_Soloud_set3dListenerAt;
121     alias @nogc nothrow void function(int* aObjHandle, float aUpX, float aUpY, float aUpZ) da_Soloud_set3dListenerUp;
122     alias @nogc nothrow void function(int* aObjHandle, float aVelocityX, float aVelocityY, float aVelocityZ) da_Soloud_set3dListenerVelocity;
123     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX, float aVelocityY, float aVelocityZ) da_Soloud_set3dSourceParametersEx;
124     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ) da_Soloud_set3dSourcePosition;
125     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ) da_Soloud_set3dSourceVelocity;
126     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aMinDistance, float aMaxDistance) da_Soloud_set3dSourceMinMaxDistance;
127     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Soloud_set3dSourceAttenuation;
128     alias @nogc nothrow void function(int* aObjHandle, uint aVoiceHandle, float aDopplerFactor) da_Soloud_set3dSourceDopplerFactor;
129     alias @nogc nothrow void function(int* aObjHandle, float[] aBuffer, uint aSamples) da_Soloud_mix;
130     alias @nogc nothrow void function(int* aObjHandle, short[] aBuffer, uint aSamples) da_Soloud_mixSigned16;
131     alias @nogc nothrow int* function() da_AudioAttenuator_create;
132     alias @nogc nothrow int* function(int* aObjHandle) da_AudioAttenuator_destroy;
133     alias @nogc nothrow float function(int* aObjHandle, float aDistance, float aMinDistance, float aMaxDistance, float aRolloffFactor) da_AudioAttenuator_attenuate;
134     alias @nogc nothrow int* function() da_BassboostFilter_create;
135     alias @nogc nothrow int* function(int* aObjHandle) da_BassboostFilter_destroy;
136     alias @nogc nothrow int function(int* aObjHandle, float aBoost) da_BassboostFilter_setParams;
137     alias @nogc nothrow int* function() da_BiquadResonantFilter_create;
138     alias @nogc nothrow int* function(int* aObjHandle) da_BiquadResonantFilter_destroy;
139     alias @nogc nothrow int function(int* aObjHandle, int aType, float aSampleRate, float aFrequency, float aResonance) da_BiquadResonantFilter_setParams;
140     alias @nogc nothrow int* function() da_Bus_create;
141     alias @nogc nothrow int* function(int* aObjHandle) da_Bus_destroy;
142     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Bus_setFilter;
143     alias @nogc nothrow uint function(int* aObjHandle, int* aSound, float aVolume, float aPan, int aPaused) da_Bus_playEx;
144     alias @nogc nothrow uint function(int* aObjHandle, double aSoundTime, int* aSound, float aVolume, float aPan) da_Bus_playClockedEx;
145     alias @nogc nothrow uint function(int* aObjHandle, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused) da_Bus_play3dEx;
146     alias @nogc nothrow uint function(int* aObjHandle, double aSoundTime, int* aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume) da_Bus_play3dClockedEx;
147     alias @nogc nothrow int function(int* aObjHandle, uint aChannels) da_Bus_setChannels;
148     alias @nogc nothrow void function(int* aObjHandle, int aEnable) da_Bus_setVisualizationEnable;
149     alias @nogc nothrow float[] function(int* aObjHandle) da_Bus_calcFFT;
150     alias @nogc nothrow float[] function(int* aObjHandle) da_Bus_getWave;
151     alias @nogc nothrow float function(int* aObjHandle, uint aChannel) da_Bus_getApproximateVolume;
152     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Bus_setVolume;
153     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Bus_setLooping;
154     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Bus_set3dMinMaxDistance;
155     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Bus_set3dAttenuation;
156     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Bus_set3dDopplerFactor;
157     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Bus_set3dListenerRelative;
158     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Bus_set3dDistanceDelay;
159     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Bus_set3dColliderEx;
160     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Bus_set3dAttenuator;
161     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Bus_setInaudibleBehavior;
162     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Bus_setLoopPoint;
163     alias @nogc nothrow double function(int* aObjHandle) da_Bus_getLoopPoint;
164     alias @nogc nothrow void function(int* aObjHandle) da_Bus_stop;
165     alias @nogc nothrow int* function() da_DCRemovalFilter_create;
166     alias @nogc nothrow int* function(int* aObjHandle) da_DCRemovalFilter_destroy;
167     alias @nogc nothrow int function(int* aObjHandle, float aLength) da_DCRemovalFilter_setParamsEx;
168     alias @nogc nothrow int* function() da_EchoFilter_create;
169     alias @nogc nothrow int* function(int* aObjHandle) da_EchoFilter_destroy;
170     alias @nogc nothrow int function(int* aObjHandle, float aDelay, float aDecay, float aFilter) da_EchoFilter_setParamsEx;
171     alias @nogc nothrow int* function() da_FFTFilter_create;
172     alias @nogc nothrow int* function(int* aObjHandle) da_FFTFilter_destroy;
173     alias @nogc nothrow int* function() da_FlangerFilter_create;
174     alias @nogc nothrow int* function(int* aObjHandle) da_FlangerFilter_destroy;
175     alias @nogc nothrow int function(int* aObjHandle, float aDelay, float aFreq) da_FlangerFilter_setParams;
176     alias @nogc nothrow int* function() da_LofiFilter_create;
177     alias @nogc nothrow int* function(int* aObjHandle) da_LofiFilter_destroy;
178     alias @nogc nothrow int function(int* aObjHandle, float aSampleRate, float aBitdepth) da_LofiFilter_setParams;
179     alias @nogc nothrow int* function() da_Monotone_create;
180     alias @nogc nothrow int* function(int* aObjHandle) da_Monotone_destroy;
181     alias @nogc nothrow int function(int* aObjHandle, int aHardwareChannels, int aWaveform) da_Monotone_setParamsEx;
182     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_Monotone_load;
183     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, int aCopy, int aTakeOwnership) da_Monotone_loadMemEx;
184     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_Monotone_loadFile;
185     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Monotone_setVolume;
186     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Monotone_setLooping;
187     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Monotone_set3dMinMaxDistance;
188     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Monotone_set3dAttenuation;
189     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Monotone_set3dDopplerFactor;
190     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Monotone_set3dListenerRelative;
191     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Monotone_set3dDistanceDelay;
192     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Monotone_set3dColliderEx;
193     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Monotone_set3dAttenuator;
194     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Monotone_setInaudibleBehavior;
195     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Monotone_setLoopPoint;
196     alias @nogc nothrow double function(int* aObjHandle) da_Monotone_getLoopPoint;
197     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Monotone_setFilter;
198     alias @nogc nothrow void function(int* aObjHandle) da_Monotone_stop;
199     alias @nogc nothrow int* function() da_Openmpt_create;
200     alias @nogc nothrow int* function(int* aObjHandle) da_Openmpt_destroy;
201     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_Openmpt_load;
202     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, int aCopy, int aTakeOwnership) da_Openmpt_loadMemEx;
203     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_Openmpt_loadFile;
204     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Openmpt_setVolume;
205     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Openmpt_setLooping;
206     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Openmpt_set3dMinMaxDistance;
207     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Openmpt_set3dAttenuation;
208     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Openmpt_set3dDopplerFactor;
209     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Openmpt_set3dListenerRelative;
210     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Openmpt_set3dDistanceDelay;
211     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Openmpt_set3dColliderEx;
212     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Openmpt_set3dAttenuator;
213     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Openmpt_setInaudibleBehavior;
214     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Openmpt_setLoopPoint;
215     alias @nogc nothrow double function(int* aObjHandle) da_Openmpt_getLoopPoint;
216     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Openmpt_setFilter;
217     alias @nogc nothrow void function(int* aObjHandle) da_Openmpt_stop;
218     alias @nogc nothrow int* function() da_Queue_create;
219     alias @nogc nothrow int* function(int* aObjHandle) da_Queue_destroy;
220     alias @nogc nothrow int function(int* aObjHandle, int* aSound) da_Queue_play;
221     alias @nogc nothrow uint function(int* aObjHandle) da_Queue_getQueueCount;
222     alias @nogc nothrow int function(int* aObjHandle, int* aSound) da_Queue_isCurrentlyPlaying;
223     alias @nogc nothrow int function(int* aObjHandle, int* aSound) da_Queue_setParamsFromAudioSource;
224     alias @nogc nothrow int function(int* aObjHandle, float aSamplerate, uint aChannels) da_Queue_setParamsEx;
225     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Queue_setVolume;
226     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Queue_setLooping;
227     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Queue_set3dMinMaxDistance;
228     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Queue_set3dAttenuation;
229     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Queue_set3dDopplerFactor;
230     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Queue_set3dListenerRelative;
231     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Queue_set3dDistanceDelay;
232     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Queue_set3dColliderEx;
233     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Queue_set3dAttenuator;
234     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Queue_setInaudibleBehavior;
235     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Queue_setLoopPoint;
236     alias @nogc nothrow double function(int* aObjHandle) da_Queue_getLoopPoint;
237     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Queue_setFilter;
238     alias @nogc nothrow void function(int* aObjHandle) da_Queue_stop;
239     alias @nogc nothrow int* function() da_RobotizeFilter_create;
240     alias @nogc nothrow int* function(int* aObjHandle) da_RobotizeFilter_destroy;
241     alias @nogc nothrow int* function() da_Prg_create;
242     alias @nogc nothrow int* function(int* aObjHandle) da_Prg_destroy;
243     alias @nogc nothrow uint function(int* aObjHandle) da_Prg_rand;
244     alias @nogc nothrow void function(int* aObjHandle, int aSeed) da_Prg_srand;
245     alias @nogc nothrow int* function() da_Sfxr_create;
246     alias @nogc nothrow int* function(int* aObjHandle) da_Sfxr_destroy;
247     alias @nogc nothrow void function(int* aObjHandle) da_Sfxr_resetParams;
248     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_Sfxr_loadParams;
249     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, int aCopy, int aTakeOwnership) da_Sfxr_loadParamsMemEx;
250     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_Sfxr_loadParamsFile;
251     alias @nogc nothrow int function(int* aObjHandle, int aPresetNo, int aRandSeed) da_Sfxr_loadPreset;
252     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Sfxr_setVolume;
253     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Sfxr_setLooping;
254     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Sfxr_set3dMinMaxDistance;
255     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Sfxr_set3dAttenuation;
256     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Sfxr_set3dDopplerFactor;
257     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Sfxr_set3dListenerRelative;
258     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Sfxr_set3dDistanceDelay;
259     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Sfxr_set3dColliderEx;
260     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Sfxr_set3dAttenuator;
261     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Sfxr_setInaudibleBehavior;
262     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Sfxr_setLoopPoint;
263     alias @nogc nothrow double function(int* aObjHandle) da_Sfxr_getLoopPoint;
264     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Sfxr_setFilter;
265     alias @nogc nothrow void function(int* aObjHandle) da_Sfxr_stop;
266     alias @nogc nothrow int* function() da_Speech_create;
267     alias @nogc nothrow int* function(int* aObjHandle) da_Speech_destroy;
268     alias @nogc nothrow int function(int* aObjHandle, const(char)* aText) da_Speech_setText;
269     alias @nogc nothrow int function(int* aObjHandle, uint aBaseFrequency, float aBaseSpeed, float aBaseDeclination, int aBaseWaveform) da_Speech_setParamsEx;
270     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Speech_setVolume;
271     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Speech_setLooping;
272     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Speech_set3dMinMaxDistance;
273     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Speech_set3dAttenuation;
274     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Speech_set3dDopplerFactor;
275     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Speech_set3dListenerRelative;
276     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Speech_set3dDistanceDelay;
277     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Speech_set3dColliderEx;
278     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Speech_set3dAttenuator;
279     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Speech_setInaudibleBehavior;
280     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Speech_setLoopPoint;
281     alias @nogc nothrow double function(int* aObjHandle) da_Speech_getLoopPoint;
282     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Speech_setFilter;
283     alias @nogc nothrow void function(int* aObjHandle) da_Speech_stop;
284     alias @nogc nothrow int* function() da_TedSid_create;
285     alias @nogc nothrow int* function(int* aObjHandle) da_TedSid_destroy;
286     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_TedSid_load;
287     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_TedSid_loadToMem;
288     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, int aCopy, int aTakeOwnership) da_TedSid_loadMemEx;
289     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_TedSid_loadFileToMem;
290     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_TedSid_loadFile;
291     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_TedSid_setVolume;
292     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_TedSid_setLooping;
293     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_TedSid_set3dMinMaxDistance;
294     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_TedSid_set3dAttenuation;
295     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_TedSid_set3dDopplerFactor;
296     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_TedSid_set3dListenerRelative;
297     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_TedSid_set3dDistanceDelay;
298     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_TedSid_set3dColliderEx;
299     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_TedSid_set3dAttenuator;
300     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_TedSid_setInaudibleBehavior;
301     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_TedSid_setLoopPoint;
302     alias @nogc nothrow double function(int* aObjHandle) da_TedSid_getLoopPoint;
303     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_TedSid_setFilter;
304     alias @nogc nothrow void function(int* aObjHandle) da_TedSid_stop;
305     alias @nogc nothrow int* function() da_Vic_create;
306     alias @nogc nothrow int* function(int* aObjHandle) da_Vic_destroy;
307     alias @nogc nothrow void function(int* aObjHandle, int model) da_Vic_setModel;
308     alias @nogc nothrow int function(int* aObjHandle) da_Vic_getModel;
309     alias @nogc nothrow void function(int* aObjHandle, int reg, ubyte value) da_Vic_setRegister;
310     alias @nogc nothrow ubyte function(int* aObjHandle, int reg) da_Vic_getRegister;
311     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Vic_setVolume;
312     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Vic_setLooping;
313     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Vic_set3dMinMaxDistance;
314     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Vic_set3dAttenuation;
315     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Vic_set3dDopplerFactor;
316     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Vic_set3dListenerRelative;
317     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Vic_set3dDistanceDelay;
318     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Vic_set3dColliderEx;
319     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Vic_set3dAttenuator;
320     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Vic_setInaudibleBehavior;
321     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Vic_setLoopPoint;
322     alias @nogc nothrow double function(int* aObjHandle) da_Vic_getLoopPoint;
323     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Vic_setFilter;
324     alias @nogc nothrow void function(int* aObjHandle) da_Vic_stop;
325     alias @nogc nothrow int* function() da_Vizsn_create;
326     alias @nogc nothrow int* function(int* aObjHandle) da_Vizsn_destroy;
327     alias @nogc nothrow void function(int* aObjHandle, char* aText) da_Vizsn_setText;
328     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Vizsn_setVolume;
329     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Vizsn_setLooping;
330     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Vizsn_set3dMinMaxDistance;
331     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Vizsn_set3dAttenuation;
332     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Vizsn_set3dDopplerFactor;
333     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Vizsn_set3dListenerRelative;
334     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Vizsn_set3dDistanceDelay;
335     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Vizsn_set3dColliderEx;
336     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Vizsn_set3dAttenuator;
337     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Vizsn_setInaudibleBehavior;
338     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Vizsn_setLoopPoint;
339     alias @nogc nothrow double function(int* aObjHandle) da_Vizsn_getLoopPoint;
340     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Vizsn_setFilter;
341     alias @nogc nothrow void function(int* aObjHandle) da_Vizsn_stop;
342     alias @nogc nothrow int* function() da_Wav_create;
343     alias @nogc nothrow int* function(int* aObjHandle) da_Wav_destroy;
344     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_Wav_load;
345     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, int aCopy, int aTakeOwnership) da_Wav_loadMemEx;
346     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_Wav_loadFile;
347     alias @nogc nothrow int function(int* aObjHandle, ubyte* aMem, uint aLength, float aSamplerate, uint aChannels) da_Wav_loadRawWave8Ex;
348     alias @nogc nothrow int function(int* aObjHandle, short[] aMem, uint aLength, float aSamplerate, uint aChannels) da_Wav_loadRawWave16Ex;
349     alias @nogc nothrow int function(int* aObjHandle, float[] aMem, uint aLength, float aSamplerate, uint aChannels, int aCopy, int aTakeOwnership) da_Wav_loadRawWaveEx;
350     alias @nogc nothrow double function(int* aObjHandle) da_Wav_getLength;
351     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_Wav_setVolume;
352     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_Wav_setLooping;
353     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_Wav_set3dMinMaxDistance;
354     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_Wav_set3dAttenuation;
355     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_Wav_set3dDopplerFactor;
356     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_Wav_set3dListenerRelative;
357     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_Wav_set3dDistanceDelay;
358     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_Wav_set3dColliderEx;
359     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_Wav_set3dAttenuator;
360     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_Wav_setInaudibleBehavior;
361     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_Wav_setLoopPoint;
362     alias @nogc nothrow double function(int* aObjHandle) da_Wav_getLoopPoint;
363     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_Wav_setFilter;
364     alias @nogc nothrow void function(int* aObjHandle) da_Wav_stop;
365     alias @nogc nothrow int* function() da_WaveShaperFilter_create;
366     alias @nogc nothrow int* function(int* aObjHandle) da_WaveShaperFilter_destroy;
367     alias @nogc nothrow int function(int* aObjHandle, float aAmount, float aWet) da_WaveShaperFilter_setParamsEx;
368     alias @nogc nothrow int* function() da_WavStream_create;
369     alias @nogc nothrow int* function(int* aObjHandle) da_WavStream_destroy;
370     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_WavStream_load;
371     alias @nogc nothrow int function(int* aObjHandle, ubyte* aData, uint aDataLen, int aCopy, int aTakeOwnership) da_WavStream_loadMemEx;
372     alias @nogc nothrow int function(int* aObjHandle, const(char)* aFilename) da_WavStream_loadToMem;
373     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_WavStream_loadFile;
374     alias @nogc nothrow int function(int* aObjHandle, int* aFile) da_WavStream_loadFileToMem;
375     alias @nogc nothrow double function(int* aObjHandle) da_WavStream_getLength;
376     alias @nogc nothrow void function(int* aObjHandle, float aVolume) da_WavStream_setVolume;
377     alias @nogc nothrow void function(int* aObjHandle, int aLoop) da_WavStream_setLooping;
378     alias @nogc nothrow void function(int* aObjHandle, float aMinDistance, float aMaxDistance) da_WavStream_set3dMinMaxDistance;
379     alias @nogc nothrow void function(int* aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) da_WavStream_set3dAttenuation;
380     alias @nogc nothrow void function(int* aObjHandle, float aDopplerFactor) da_WavStream_set3dDopplerFactor;
381     alias @nogc nothrow void function(int* aObjHandle, int aListenerRelative) da_WavStream_set3dListenerRelative;
382     alias @nogc nothrow void function(int* aObjHandle, int aDistanceDelay) da_WavStream_set3dDistanceDelay;
383     alias @nogc nothrow void function(int* aObjHandle, int* aCollider, int aUserData) da_WavStream_set3dColliderEx;
384     alias @nogc nothrow void function(int* aObjHandle, int* aAttenuator) da_WavStream_set3dAttenuator;
385     alias @nogc nothrow void function(int* aObjHandle, int aMustTick, int aKill) da_WavStream_setInaudibleBehavior;
386     alias @nogc nothrow void function(int* aObjHandle, double aLoopPoint) da_WavStream_setLoopPoint;
387     alias @nogc nothrow double function(int* aObjHandle) da_WavStream_getLoopPoint;
388     alias @nogc nothrow void function(int* aObjHandle, uint aFilterId, int* aFilter) da_WavStream_setFilter;
389     alias @nogc nothrow void function(int* aObjHandle) da_WavStream_stop;
390 
391 }
392 
393 __gshared
394 {
395     da_Soloud_create Soloud_create;
396     da_Soloud_destroy Soloud_destroy;
397     da_Soloud_initEx Soloud_initEx;
398     da_Soloud_deinit Soloud_deinit;
399     da_Soloud_getVersion Soloud_getVersion;
400     da_Soloud_getErrorString Soloud_getErrorString;
401     da_Soloud_getBackendId Soloud_getBackendId;
402     da_Soloud_getBackendString Soloud_getBackendString;
403     da_Soloud_getBackendChannels Soloud_getBackendChannels;
404     da_Soloud_getBackendSamplerate Soloud_getBackendSamplerate;
405     da_Soloud_getBackendBufferSize Soloud_getBackendBufferSize;
406     da_Soloud_setSpeakerPosition Soloud_setSpeakerPosition;
407     da_Soloud_getSpeakerPosition Soloud_getSpeakerPosition;
408     da_Soloud_playEx Soloud_playEx;
409     da_Soloud_playClockedEx Soloud_playClockedEx;
410     da_Soloud_play3dEx Soloud_play3dEx;
411     da_Soloud_play3dClockedEx Soloud_play3dClockedEx;
412     da_Soloud_playBackgroundEx Soloud_playBackgroundEx;
413     da_Soloud_seek Soloud_seek;
414     da_Soloud_stop Soloud_stop;
415     da_Soloud_stopAll Soloud_stopAll;
416     da_Soloud_stopAudioSource Soloud_stopAudioSource;
417     da_Soloud_countAudioSource Soloud_countAudioSource;
418     da_Soloud_setFilterParameter Soloud_setFilterParameter;
419     da_Soloud_getFilterParameter Soloud_getFilterParameter;
420     da_Soloud_fadeFilterParameter Soloud_fadeFilterParameter;
421     da_Soloud_oscillateFilterParameter Soloud_oscillateFilterParameter;
422     da_Soloud_getStreamTime Soloud_getStreamTime;
423     da_Soloud_getStreamPosition Soloud_getStreamPosition;
424     da_Soloud_getPause Soloud_getPause;
425     da_Soloud_getVolume Soloud_getVolume;
426     da_Soloud_getOverallVolume Soloud_getOverallVolume;
427     da_Soloud_getPan Soloud_getPan;
428     da_Soloud_getSamplerate Soloud_getSamplerate;
429     da_Soloud_getProtectVoice Soloud_getProtectVoice;
430     da_Soloud_getActiveVoiceCount Soloud_getActiveVoiceCount;
431     da_Soloud_getVoiceCount Soloud_getVoiceCount;
432     da_Soloud_isValidVoiceHandle Soloud_isValidVoiceHandle;
433     da_Soloud_getRelativePlaySpeed Soloud_getRelativePlaySpeed;
434     da_Soloud_getPostClipScaler Soloud_getPostClipScaler;
435     da_Soloud_getGlobalVolume Soloud_getGlobalVolume;
436     da_Soloud_getMaxActiveVoiceCount Soloud_getMaxActiveVoiceCount;
437     da_Soloud_getLooping Soloud_getLooping;
438     da_Soloud_getLoopPoint Soloud_getLoopPoint;
439     da_Soloud_setLoopPoint Soloud_setLoopPoint;
440     da_Soloud_setLooping Soloud_setLooping;
441     da_Soloud_setMaxActiveVoiceCount Soloud_setMaxActiveVoiceCount;
442     da_Soloud_setInaudibleBehavior Soloud_setInaudibleBehavior;
443     da_Soloud_setGlobalVolume Soloud_setGlobalVolume;
444     da_Soloud_setPostClipScaler Soloud_setPostClipScaler;
445     da_Soloud_setPause Soloud_setPause;
446     da_Soloud_setPauseAll Soloud_setPauseAll;
447     da_Soloud_setRelativePlaySpeed Soloud_setRelativePlaySpeed;
448     da_Soloud_setProtectVoice Soloud_setProtectVoice;
449     da_Soloud_setSamplerate Soloud_setSamplerate;
450     da_Soloud_setPan Soloud_setPan;
451     da_Soloud_setPanAbsoluteEx Soloud_setPanAbsoluteEx;
452     da_Soloud_setVolume Soloud_setVolume;
453     da_Soloud_setDelaySamples Soloud_setDelaySamples;
454     da_Soloud_fadeVolume Soloud_fadeVolume;
455     da_Soloud_fadePan Soloud_fadePan;
456     da_Soloud_fadeRelativePlaySpeed Soloud_fadeRelativePlaySpeed;
457     da_Soloud_fadeGlobalVolume Soloud_fadeGlobalVolume;
458     da_Soloud_schedulePause Soloud_schedulePause;
459     da_Soloud_scheduleStop Soloud_scheduleStop;
460     da_Soloud_oscillateVolume Soloud_oscillateVolume;
461     da_Soloud_oscillatePan Soloud_oscillatePan;
462     da_Soloud_oscillateRelativePlaySpeed Soloud_oscillateRelativePlaySpeed;
463     da_Soloud_oscillateGlobalVolume Soloud_oscillateGlobalVolume;
464     da_Soloud_setGlobalFilter Soloud_setGlobalFilter;
465     da_Soloud_setVisualizationEnable Soloud_setVisualizationEnable;
466     da_Soloud_calcFFT Soloud_calcFFT;
467     da_Soloud_getWave Soloud_getWave;
468     da_Soloud_getApproximateVolume Soloud_getApproximateVolume;
469     da_Soloud_getLoopCount Soloud_getLoopCount;
470     da_Soloud_getInfo Soloud_getInfo;
471     da_Soloud_createVoiceGroup Soloud_createVoiceGroup;
472     da_Soloud_destroyVoiceGroup Soloud_destroyVoiceGroup;
473     da_Soloud_addVoiceToGroup Soloud_addVoiceToGroup;
474     da_Soloud_isVoiceGroup Soloud_isVoiceGroup;
475     da_Soloud_isVoiceGroupEmpty Soloud_isVoiceGroupEmpty;
476     da_Soloud_update3dAudio Soloud_update3dAudio;
477     da_Soloud_set3dSoundSpeed Soloud_set3dSoundSpeed;
478     da_Soloud_get3dSoundSpeed Soloud_get3dSoundSpeed;
479     da_Soloud_set3dListenerParametersEx Soloud_set3dListenerParametersEx;
480     da_Soloud_set3dListenerPosition Soloud_set3dListenerPosition;
481     da_Soloud_set3dListenerAt Soloud_set3dListenerAt;
482     da_Soloud_set3dListenerUp Soloud_set3dListenerUp;
483     da_Soloud_set3dListenerVelocity Soloud_set3dListenerVelocity;
484     da_Soloud_set3dSourceParametersEx Soloud_set3dSourceParametersEx;
485     da_Soloud_set3dSourcePosition Soloud_set3dSourcePosition;
486     da_Soloud_set3dSourceVelocity Soloud_set3dSourceVelocity;
487     da_Soloud_set3dSourceMinMaxDistance Soloud_set3dSourceMinMaxDistance;
488     da_Soloud_set3dSourceAttenuation Soloud_set3dSourceAttenuation;
489     da_Soloud_set3dSourceDopplerFactor Soloud_set3dSourceDopplerFactor;
490     da_Soloud_mix Soloud_mix;
491     da_Soloud_mixSigned16 Soloud_mixSigned16;
492     da_AudioAttenuator_create AudioAttenuator_create;
493     da_AudioAttenuator_destroy AudioAttenuator_destroy;
494     da_AudioAttenuator_attenuate AudioAttenuator_attenuate;
495     da_BassboostFilter_create BassboostFilter_create;
496     da_BassboostFilter_destroy BassboostFilter_destroy;
497     da_BassboostFilter_setParams BassboostFilter_setParams;
498     da_BiquadResonantFilter_create BiquadResonantFilter_create;
499     da_BiquadResonantFilter_destroy BiquadResonantFilter_destroy;
500     da_BiquadResonantFilter_setParams BiquadResonantFilter_setParams;
501     da_Bus_create Bus_create;
502     da_Bus_destroy Bus_destroy;
503     da_Bus_setFilter Bus_setFilter;
504     da_Bus_playEx Bus_playEx;
505     da_Bus_playClockedEx Bus_playClockedEx;
506     da_Bus_play3dEx Bus_play3dEx;
507     da_Bus_play3dClockedEx Bus_play3dClockedEx;
508     da_Bus_setChannels Bus_setChannels;
509     da_Bus_setVisualizationEnable Bus_setVisualizationEnable;
510     da_Bus_calcFFT Bus_calcFFT;
511     da_Bus_getWave Bus_getWave;
512     da_Bus_getApproximateVolume Bus_getApproximateVolume;
513     da_Bus_setVolume Bus_setVolume;
514     da_Bus_setLooping Bus_setLooping;
515     da_Bus_set3dMinMaxDistance Bus_set3dMinMaxDistance;
516     da_Bus_set3dAttenuation Bus_set3dAttenuation;
517     da_Bus_set3dDopplerFactor Bus_set3dDopplerFactor;
518     da_Bus_set3dListenerRelative Bus_set3dListenerRelative;
519     da_Bus_set3dDistanceDelay Bus_set3dDistanceDelay;
520     da_Bus_set3dColliderEx Bus_set3dColliderEx;
521     da_Bus_set3dAttenuator Bus_set3dAttenuator;
522     da_Bus_setInaudibleBehavior Bus_setInaudibleBehavior;
523     da_Bus_setLoopPoint Bus_setLoopPoint;
524     da_Bus_getLoopPoint Bus_getLoopPoint;
525     da_Bus_stop Bus_stop;
526     da_DCRemovalFilter_create DCRemovalFilter_create;
527     da_DCRemovalFilter_destroy DCRemovalFilter_destroy;
528     da_DCRemovalFilter_setParamsEx DCRemovalFilter_setParamsEx;
529     da_EchoFilter_create EchoFilter_create;
530     da_EchoFilter_destroy EchoFilter_destroy;
531     da_EchoFilter_setParamsEx EchoFilter_setParamsEx;
532     da_FFTFilter_create FFTFilter_create;
533     da_FFTFilter_destroy FFTFilter_destroy;
534     da_FlangerFilter_create FlangerFilter_create;
535     da_FlangerFilter_destroy FlangerFilter_destroy;
536     da_FlangerFilter_setParams FlangerFilter_setParams;
537     da_LofiFilter_create LofiFilter_create;
538     da_LofiFilter_destroy LofiFilter_destroy;
539     da_LofiFilter_setParams LofiFilter_setParams;
540     da_Monotone_create Monotone_create;
541     da_Monotone_destroy Monotone_destroy;
542     da_Monotone_setParamsEx Monotone_setParamsEx;
543     da_Monotone_load Monotone_load;
544     da_Monotone_loadMemEx Monotone_loadMemEx;
545     da_Monotone_loadFile Monotone_loadFile;
546     da_Monotone_setVolume Monotone_setVolume;
547     da_Monotone_setLooping Monotone_setLooping;
548     da_Monotone_set3dMinMaxDistance Monotone_set3dMinMaxDistance;
549     da_Monotone_set3dAttenuation Monotone_set3dAttenuation;
550     da_Monotone_set3dDopplerFactor Monotone_set3dDopplerFactor;
551     da_Monotone_set3dListenerRelative Monotone_set3dListenerRelative;
552     da_Monotone_set3dDistanceDelay Monotone_set3dDistanceDelay;
553     da_Monotone_set3dColliderEx Monotone_set3dColliderEx;
554     da_Monotone_set3dAttenuator Monotone_set3dAttenuator;
555     da_Monotone_setInaudibleBehavior Monotone_setInaudibleBehavior;
556     da_Monotone_setLoopPoint Monotone_setLoopPoint;
557     da_Monotone_getLoopPoint Monotone_getLoopPoint;
558     da_Monotone_setFilter Monotone_setFilter;
559     da_Monotone_stop Monotone_stop;
560     da_Openmpt_create Openmpt_create;
561     da_Openmpt_destroy Openmpt_destroy;
562     da_Openmpt_load Openmpt_load;
563     da_Openmpt_loadMemEx Openmpt_loadMemEx;
564     da_Openmpt_loadFile Openmpt_loadFile;
565     da_Openmpt_setVolume Openmpt_setVolume;
566     da_Openmpt_setLooping Openmpt_setLooping;
567     da_Openmpt_set3dMinMaxDistance Openmpt_set3dMinMaxDistance;
568     da_Openmpt_set3dAttenuation Openmpt_set3dAttenuation;
569     da_Openmpt_set3dDopplerFactor Openmpt_set3dDopplerFactor;
570     da_Openmpt_set3dListenerRelative Openmpt_set3dListenerRelative;
571     da_Openmpt_set3dDistanceDelay Openmpt_set3dDistanceDelay;
572     da_Openmpt_set3dColliderEx Openmpt_set3dColliderEx;
573     da_Openmpt_set3dAttenuator Openmpt_set3dAttenuator;
574     da_Openmpt_setInaudibleBehavior Openmpt_setInaudibleBehavior;
575     da_Openmpt_setLoopPoint Openmpt_setLoopPoint;
576     da_Openmpt_getLoopPoint Openmpt_getLoopPoint;
577     da_Openmpt_setFilter Openmpt_setFilter;
578     da_Openmpt_stop Openmpt_stop;
579     da_Queue_create Queue_create;
580     da_Queue_destroy Queue_destroy;
581     da_Queue_play Queue_play;
582     da_Queue_getQueueCount Queue_getQueueCount;
583     da_Queue_isCurrentlyPlaying Queue_isCurrentlyPlaying;
584     da_Queue_setParamsFromAudioSource Queue_setParamsFromAudioSource;
585     da_Queue_setParamsEx Queue_setParamsEx;
586     da_Queue_setVolume Queue_setVolume;
587     da_Queue_setLooping Queue_setLooping;
588     da_Queue_set3dMinMaxDistance Queue_set3dMinMaxDistance;
589     da_Queue_set3dAttenuation Queue_set3dAttenuation;
590     da_Queue_set3dDopplerFactor Queue_set3dDopplerFactor;
591     da_Queue_set3dListenerRelative Queue_set3dListenerRelative;
592     da_Queue_set3dDistanceDelay Queue_set3dDistanceDelay;
593     da_Queue_set3dColliderEx Queue_set3dColliderEx;
594     da_Queue_set3dAttenuator Queue_set3dAttenuator;
595     da_Queue_setInaudibleBehavior Queue_setInaudibleBehavior;
596     da_Queue_setLoopPoint Queue_setLoopPoint;
597     da_Queue_getLoopPoint Queue_getLoopPoint;
598     da_Queue_setFilter Queue_setFilter;
599     da_Queue_stop Queue_stop;
600     da_RobotizeFilter_create RobotizeFilter_create;
601     da_RobotizeFilter_destroy RobotizeFilter_destroy;
602     da_Prg_create Prg_create;
603     da_Prg_destroy Prg_destroy;
604     da_Prg_rand Prg_rand;
605     da_Prg_srand Prg_srand;
606     da_Sfxr_create Sfxr_create;
607     da_Sfxr_destroy Sfxr_destroy;
608     da_Sfxr_resetParams Sfxr_resetParams;
609     da_Sfxr_loadParams Sfxr_loadParams;
610     da_Sfxr_loadParamsMemEx Sfxr_loadParamsMemEx;
611     da_Sfxr_loadParamsFile Sfxr_loadParamsFile;
612     da_Sfxr_loadPreset Sfxr_loadPreset;
613     da_Sfxr_setVolume Sfxr_setVolume;
614     da_Sfxr_setLooping Sfxr_setLooping;
615     da_Sfxr_set3dMinMaxDistance Sfxr_set3dMinMaxDistance;
616     da_Sfxr_set3dAttenuation Sfxr_set3dAttenuation;
617     da_Sfxr_set3dDopplerFactor Sfxr_set3dDopplerFactor;
618     da_Sfxr_set3dListenerRelative Sfxr_set3dListenerRelative;
619     da_Sfxr_set3dDistanceDelay Sfxr_set3dDistanceDelay;
620     da_Sfxr_set3dColliderEx Sfxr_set3dColliderEx;
621     da_Sfxr_set3dAttenuator Sfxr_set3dAttenuator;
622     da_Sfxr_setInaudibleBehavior Sfxr_setInaudibleBehavior;
623     da_Sfxr_setLoopPoint Sfxr_setLoopPoint;
624     da_Sfxr_getLoopPoint Sfxr_getLoopPoint;
625     da_Sfxr_setFilter Sfxr_setFilter;
626     da_Sfxr_stop Sfxr_stop;
627     da_Speech_create Speech_create;
628     da_Speech_destroy Speech_destroy;
629     da_Speech_setText Speech_setText;
630     da_Speech_setParamsEx Speech_setParamsEx;
631     da_Speech_setVolume Speech_setVolume;
632     da_Speech_setLooping Speech_setLooping;
633     da_Speech_set3dMinMaxDistance Speech_set3dMinMaxDistance;
634     da_Speech_set3dAttenuation Speech_set3dAttenuation;
635     da_Speech_set3dDopplerFactor Speech_set3dDopplerFactor;
636     da_Speech_set3dListenerRelative Speech_set3dListenerRelative;
637     da_Speech_set3dDistanceDelay Speech_set3dDistanceDelay;
638     da_Speech_set3dColliderEx Speech_set3dColliderEx;
639     da_Speech_set3dAttenuator Speech_set3dAttenuator;
640     da_Speech_setInaudibleBehavior Speech_setInaudibleBehavior;
641     da_Speech_setLoopPoint Speech_setLoopPoint;
642     da_Speech_getLoopPoint Speech_getLoopPoint;
643     da_Speech_setFilter Speech_setFilter;
644     da_Speech_stop Speech_stop;
645     da_TedSid_create TedSid_create;
646     da_TedSid_destroy TedSid_destroy;
647     da_TedSid_load TedSid_load;
648     da_TedSid_loadToMem TedSid_loadToMem;
649     da_TedSid_loadMemEx TedSid_loadMemEx;
650     da_TedSid_loadFileToMem TedSid_loadFileToMem;
651     da_TedSid_loadFile TedSid_loadFile;
652     da_TedSid_setVolume TedSid_setVolume;
653     da_TedSid_setLooping TedSid_setLooping;
654     da_TedSid_set3dMinMaxDistance TedSid_set3dMinMaxDistance;
655     da_TedSid_set3dAttenuation TedSid_set3dAttenuation;
656     da_TedSid_set3dDopplerFactor TedSid_set3dDopplerFactor;
657     da_TedSid_set3dListenerRelative TedSid_set3dListenerRelative;
658     da_TedSid_set3dDistanceDelay TedSid_set3dDistanceDelay;
659     da_TedSid_set3dColliderEx TedSid_set3dColliderEx;
660     da_TedSid_set3dAttenuator TedSid_set3dAttenuator;
661     da_TedSid_setInaudibleBehavior TedSid_setInaudibleBehavior;
662     da_TedSid_setLoopPoint TedSid_setLoopPoint;
663     da_TedSid_getLoopPoint TedSid_getLoopPoint;
664     da_TedSid_setFilter TedSid_setFilter;
665     da_TedSid_stop TedSid_stop;
666     da_Vic_create Vic_create;
667     da_Vic_destroy Vic_destroy;
668     da_Vic_setModel Vic_setModel;
669     da_Vic_getModel Vic_getModel;
670     da_Vic_setRegister Vic_setRegister;
671     da_Vic_getRegister Vic_getRegister;
672     da_Vic_setVolume Vic_setVolume;
673     da_Vic_setLooping Vic_setLooping;
674     da_Vic_set3dMinMaxDistance Vic_set3dMinMaxDistance;
675     da_Vic_set3dAttenuation Vic_set3dAttenuation;
676     da_Vic_set3dDopplerFactor Vic_set3dDopplerFactor;
677     da_Vic_set3dListenerRelative Vic_set3dListenerRelative;
678     da_Vic_set3dDistanceDelay Vic_set3dDistanceDelay;
679     da_Vic_set3dColliderEx Vic_set3dColliderEx;
680     da_Vic_set3dAttenuator Vic_set3dAttenuator;
681     da_Vic_setInaudibleBehavior Vic_setInaudibleBehavior;
682     da_Vic_setLoopPoint Vic_setLoopPoint;
683     da_Vic_getLoopPoint Vic_getLoopPoint;
684     da_Vic_setFilter Vic_setFilter;
685     da_Vic_stop Vic_stop;
686     da_Vizsn_create Vizsn_create;
687     da_Vizsn_destroy Vizsn_destroy;
688     da_Vizsn_setText Vizsn_setText;
689     da_Vizsn_setVolume Vizsn_setVolume;
690     da_Vizsn_setLooping Vizsn_setLooping;
691     da_Vizsn_set3dMinMaxDistance Vizsn_set3dMinMaxDistance;
692     da_Vizsn_set3dAttenuation Vizsn_set3dAttenuation;
693     da_Vizsn_set3dDopplerFactor Vizsn_set3dDopplerFactor;
694     da_Vizsn_set3dListenerRelative Vizsn_set3dListenerRelative;
695     da_Vizsn_set3dDistanceDelay Vizsn_set3dDistanceDelay;
696     da_Vizsn_set3dColliderEx Vizsn_set3dColliderEx;
697     da_Vizsn_set3dAttenuator Vizsn_set3dAttenuator;
698     da_Vizsn_setInaudibleBehavior Vizsn_setInaudibleBehavior;
699     da_Vizsn_setLoopPoint Vizsn_setLoopPoint;
700     da_Vizsn_getLoopPoint Vizsn_getLoopPoint;
701     da_Vizsn_setFilter Vizsn_setFilter;
702     da_Vizsn_stop Vizsn_stop;
703     da_Wav_create Wav_create;
704     da_Wav_destroy Wav_destroy;
705     da_Wav_load Wav_load;
706     da_Wav_loadMemEx Wav_loadMemEx;
707     da_Wav_loadFile Wav_loadFile;
708     da_Wav_loadRawWave8Ex Wav_loadRawWave8Ex;
709     da_Wav_loadRawWave16Ex Wav_loadRawWave16Ex;
710     da_Wav_loadRawWaveEx Wav_loadRawWaveEx;
711     da_Wav_getLength Wav_getLength;
712     da_Wav_setVolume Wav_setVolume;
713     da_Wav_setLooping Wav_setLooping;
714     da_Wav_set3dMinMaxDistance Wav_set3dMinMaxDistance;
715     da_Wav_set3dAttenuation Wav_set3dAttenuation;
716     da_Wav_set3dDopplerFactor Wav_set3dDopplerFactor;
717     da_Wav_set3dListenerRelative Wav_set3dListenerRelative;
718     da_Wav_set3dDistanceDelay Wav_set3dDistanceDelay;
719     da_Wav_set3dColliderEx Wav_set3dColliderEx;
720     da_Wav_set3dAttenuator Wav_set3dAttenuator;
721     da_Wav_setInaudibleBehavior Wav_setInaudibleBehavior;
722     da_Wav_setLoopPoint Wav_setLoopPoint;
723     da_Wav_getLoopPoint Wav_getLoopPoint;
724     da_Wav_setFilter Wav_setFilter;
725     da_Wav_stop Wav_stop;
726     da_WaveShaperFilter_create WaveShaperFilter_create;
727     da_WaveShaperFilter_destroy WaveShaperFilter_destroy;
728     da_WaveShaperFilter_setParamsEx WaveShaperFilter_setParamsEx;
729     da_WavStream_create WavStream_create;
730     da_WavStream_destroy WavStream_destroy;
731     da_WavStream_load WavStream_load;
732     da_WavStream_loadMemEx WavStream_loadMemEx;
733     da_WavStream_loadToMem WavStream_loadToMem;
734     da_WavStream_loadFile WavStream_loadFile;
735     da_WavStream_loadFileToMem WavStream_loadFileToMem;
736     da_WavStream_getLength WavStream_getLength;
737     da_WavStream_setVolume WavStream_setVolume;
738     da_WavStream_setLooping WavStream_setLooping;
739     da_WavStream_set3dMinMaxDistance WavStream_set3dMinMaxDistance;
740     da_WavStream_set3dAttenuation WavStream_set3dAttenuation;
741     da_WavStream_set3dDopplerFactor WavStream_set3dDopplerFactor;
742     da_WavStream_set3dListenerRelative WavStream_set3dListenerRelative;
743     da_WavStream_set3dDistanceDelay WavStream_set3dDistanceDelay;
744     da_WavStream_set3dColliderEx WavStream_set3dColliderEx;
745     da_WavStream_set3dAttenuator WavStream_set3dAttenuator;
746     da_WavStream_setInaudibleBehavior WavStream_setInaudibleBehavior;
747     da_WavStream_setLoopPoint WavStream_setLoopPoint;
748     da_WavStream_getLoopPoint WavStream_getLoopPoint;
749     da_WavStream_setFilter WavStream_setFilter;
750     da_WavStream_stop WavStream_stop;
751 
752 }
753 
754 private
755 {
756     SharedLib lib;
757     SLSupport loadedVersion;
758 }
759 
760 void unloadOpenCL()
761 {
762     if (lib != invalidHandle)
763     {
764         lib.unload();
765     }
766 }
767 
768 SLSupport loadedSoloudVersion() { return loadedVersion; }
769 bool isSoloudLoaded() { return lib != invalidHandle; }
770 
771 SLSupport loadSoloud()
772 {
773     version(Windows)
774     {
775         version(X86)
776         {
777             const(char)[][2] libNames =
778             [
779                 "soloud.dll",
780                 "soloud_x86.dll"
781             ];
782         }
783         else version(X86_64)
784         {
785             const(char)[][2] libNames =
786             [
787                 "soloud.dll",
788                 "soloud_x64.dll"
789             ];
790         }
791     }
792     else version(OSX)
793     {
794         const(char)[][1] libNames =
795         [
796             "libsoloud.dylib"
797         ];
798     }
799     else version(Posix)
800     {
801         const(char)[][2] libNames =
802         [
803             "libsoloud.so.1",
804             "libsoloud.so"
805         ];
806     }
807     else static assert(0, "bindbc-soloud is not yet supported on this platform.");
808 
809     SLSupport ret;
810     foreach(name; libNames)
811     {
812         ret = loadSoloud(name.ptr);
813         if (ret != SLSupport.noLibrary)
814             break;
815     }
816     return ret;
817 }
818 
819 
820 SLSupport loadSoloud(const(char)* libName)
821 {
822     lib = load(libName);
823     if(lib == invalidHandle)
824     {
825         return SLSupport.noLibrary;
826     }
827 
828     auto errCount = errorCount();
829     loadedVersion = SLSupport.badLibrary;
830 
831         lib.bindSymbol(cast(void**)&Soloud_create, "Soloud_create");
832     lib.bindSymbol(cast(void**)&Soloud_destroy, "Soloud_destroy");
833     lib.bindSymbol(cast(void**)&Soloud_initEx, "Soloud_initEx");
834     lib.bindSymbol(cast(void**)&Soloud_deinit, "Soloud_deinit");
835     lib.bindSymbol(cast(void**)&Soloud_getVersion, "Soloud_getVersion");
836     lib.bindSymbol(cast(void**)&Soloud_getErrorString, "Soloud_getErrorString");
837     lib.bindSymbol(cast(void**)&Soloud_getBackendId, "Soloud_getBackendId");
838     lib.bindSymbol(cast(void**)&Soloud_getBackendString, "Soloud_getBackendString");
839     lib.bindSymbol(cast(void**)&Soloud_getBackendChannels, "Soloud_getBackendChannels");
840     lib.bindSymbol(cast(void**)&Soloud_getBackendSamplerate, "Soloud_getBackendSamplerate");
841     lib.bindSymbol(cast(void**)&Soloud_getBackendBufferSize, "Soloud_getBackendBufferSize");
842     lib.bindSymbol(cast(void**)&Soloud_setSpeakerPosition, "Soloud_setSpeakerPosition");
843     lib.bindSymbol(cast(void**)&Soloud_getSpeakerPosition, "Soloud_getSpeakerPosition");
844     lib.bindSymbol(cast(void**)&Soloud_playEx, "Soloud_playEx");
845     lib.bindSymbol(cast(void**)&Soloud_playClockedEx, "Soloud_playClockedEx");
846     lib.bindSymbol(cast(void**)&Soloud_play3dEx, "Soloud_play3dEx");
847     lib.bindSymbol(cast(void**)&Soloud_play3dClockedEx, "Soloud_play3dClockedEx");
848     lib.bindSymbol(cast(void**)&Soloud_playBackgroundEx, "Soloud_playBackgroundEx");
849     lib.bindSymbol(cast(void**)&Soloud_seek, "Soloud_seek");
850     lib.bindSymbol(cast(void**)&Soloud_stop, "Soloud_stop");
851     lib.bindSymbol(cast(void**)&Soloud_stopAll, "Soloud_stopAll");
852     lib.bindSymbol(cast(void**)&Soloud_stopAudioSource, "Soloud_stopAudioSource");
853     lib.bindSymbol(cast(void**)&Soloud_countAudioSource, "Soloud_countAudioSource");
854     lib.bindSymbol(cast(void**)&Soloud_setFilterParameter, "Soloud_setFilterParameter");
855     lib.bindSymbol(cast(void**)&Soloud_getFilterParameter, "Soloud_getFilterParameter");
856     lib.bindSymbol(cast(void**)&Soloud_fadeFilterParameter, "Soloud_fadeFilterParameter");
857     lib.bindSymbol(cast(void**)&Soloud_oscillateFilterParameter, "Soloud_oscillateFilterParameter");
858     lib.bindSymbol(cast(void**)&Soloud_getStreamTime, "Soloud_getStreamTime");
859     lib.bindSymbol(cast(void**)&Soloud_getStreamPosition, "Soloud_getStreamPosition");
860     lib.bindSymbol(cast(void**)&Soloud_getPause, "Soloud_getPause");
861     lib.bindSymbol(cast(void**)&Soloud_getVolume, "Soloud_getVolume");
862     lib.bindSymbol(cast(void**)&Soloud_getOverallVolume, "Soloud_getOverallVolume");
863     lib.bindSymbol(cast(void**)&Soloud_getPan, "Soloud_getPan");
864     lib.bindSymbol(cast(void**)&Soloud_getSamplerate, "Soloud_getSamplerate");
865     lib.bindSymbol(cast(void**)&Soloud_getProtectVoice, "Soloud_getProtectVoice");
866     lib.bindSymbol(cast(void**)&Soloud_getActiveVoiceCount, "Soloud_getActiveVoiceCount");
867     lib.bindSymbol(cast(void**)&Soloud_getVoiceCount, "Soloud_getVoiceCount");
868     lib.bindSymbol(cast(void**)&Soloud_isValidVoiceHandle, "Soloud_isValidVoiceHandle");
869     lib.bindSymbol(cast(void**)&Soloud_getRelativePlaySpeed, "Soloud_getRelativePlaySpeed");
870     lib.bindSymbol(cast(void**)&Soloud_getPostClipScaler, "Soloud_getPostClipScaler");
871     lib.bindSymbol(cast(void**)&Soloud_getGlobalVolume, "Soloud_getGlobalVolume");
872     lib.bindSymbol(cast(void**)&Soloud_getMaxActiveVoiceCount, "Soloud_getMaxActiveVoiceCount");
873     lib.bindSymbol(cast(void**)&Soloud_getLooping, "Soloud_getLooping");
874     lib.bindSymbol(cast(void**)&Soloud_getLoopPoint, "Soloud_getLoopPoint");
875     lib.bindSymbol(cast(void**)&Soloud_setLoopPoint, "Soloud_setLoopPoint");
876     lib.bindSymbol(cast(void**)&Soloud_setLooping, "Soloud_setLooping");
877     lib.bindSymbol(cast(void**)&Soloud_setMaxActiveVoiceCount, "Soloud_setMaxActiveVoiceCount");
878     lib.bindSymbol(cast(void**)&Soloud_setInaudibleBehavior, "Soloud_setInaudibleBehavior");
879     lib.bindSymbol(cast(void**)&Soloud_setGlobalVolume, "Soloud_setGlobalVolume");
880     lib.bindSymbol(cast(void**)&Soloud_setPostClipScaler, "Soloud_setPostClipScaler");
881     lib.bindSymbol(cast(void**)&Soloud_setPause, "Soloud_setPause");
882     lib.bindSymbol(cast(void**)&Soloud_setPauseAll, "Soloud_setPauseAll");
883     lib.bindSymbol(cast(void**)&Soloud_setRelativePlaySpeed, "Soloud_setRelativePlaySpeed");
884     lib.bindSymbol(cast(void**)&Soloud_setProtectVoice, "Soloud_setProtectVoice");
885     lib.bindSymbol(cast(void**)&Soloud_setSamplerate, "Soloud_setSamplerate");
886     lib.bindSymbol(cast(void**)&Soloud_setPan, "Soloud_setPan");
887     lib.bindSymbol(cast(void**)&Soloud_setPanAbsoluteEx, "Soloud_setPanAbsoluteEx");
888     lib.bindSymbol(cast(void**)&Soloud_setVolume, "Soloud_setVolume");
889     lib.bindSymbol(cast(void**)&Soloud_setDelaySamples, "Soloud_setDelaySamples");
890     lib.bindSymbol(cast(void**)&Soloud_fadeVolume, "Soloud_fadeVolume");
891     lib.bindSymbol(cast(void**)&Soloud_fadePan, "Soloud_fadePan");
892     lib.bindSymbol(cast(void**)&Soloud_fadeRelativePlaySpeed, "Soloud_fadeRelativePlaySpeed");
893     lib.bindSymbol(cast(void**)&Soloud_fadeGlobalVolume, "Soloud_fadeGlobalVolume");
894     lib.bindSymbol(cast(void**)&Soloud_schedulePause, "Soloud_schedulePause");
895     lib.bindSymbol(cast(void**)&Soloud_scheduleStop, "Soloud_scheduleStop");
896     lib.bindSymbol(cast(void**)&Soloud_oscillateVolume, "Soloud_oscillateVolume");
897     lib.bindSymbol(cast(void**)&Soloud_oscillatePan, "Soloud_oscillatePan");
898     lib.bindSymbol(cast(void**)&Soloud_oscillateRelativePlaySpeed, "Soloud_oscillateRelativePlaySpeed");
899     lib.bindSymbol(cast(void**)&Soloud_oscillateGlobalVolume, "Soloud_oscillateGlobalVolume");
900     lib.bindSymbol(cast(void**)&Soloud_setGlobalFilter, "Soloud_setGlobalFilter");
901     lib.bindSymbol(cast(void**)&Soloud_setVisualizationEnable, "Soloud_setVisualizationEnable");
902     lib.bindSymbol(cast(void**)&Soloud_calcFFT, "Soloud_calcFFT");
903     lib.bindSymbol(cast(void**)&Soloud_getWave, "Soloud_getWave");
904     lib.bindSymbol(cast(void**)&Soloud_getApproximateVolume, "Soloud_getApproximateVolume");
905     lib.bindSymbol(cast(void**)&Soloud_getLoopCount, "Soloud_getLoopCount");
906     lib.bindSymbol(cast(void**)&Soloud_getInfo, "Soloud_getInfo");
907     lib.bindSymbol(cast(void**)&Soloud_createVoiceGroup, "Soloud_createVoiceGroup");
908     lib.bindSymbol(cast(void**)&Soloud_destroyVoiceGroup, "Soloud_destroyVoiceGroup");
909     lib.bindSymbol(cast(void**)&Soloud_addVoiceToGroup, "Soloud_addVoiceToGroup");
910     lib.bindSymbol(cast(void**)&Soloud_isVoiceGroup, "Soloud_isVoiceGroup");
911     lib.bindSymbol(cast(void**)&Soloud_isVoiceGroupEmpty, "Soloud_isVoiceGroupEmpty");
912     lib.bindSymbol(cast(void**)&Soloud_update3dAudio, "Soloud_update3dAudio");
913     lib.bindSymbol(cast(void**)&Soloud_set3dSoundSpeed, "Soloud_set3dSoundSpeed");
914     lib.bindSymbol(cast(void**)&Soloud_get3dSoundSpeed, "Soloud_get3dSoundSpeed");
915     lib.bindSymbol(cast(void**)&Soloud_set3dListenerParametersEx, "Soloud_set3dListenerParametersEx");
916     lib.bindSymbol(cast(void**)&Soloud_set3dListenerPosition, "Soloud_set3dListenerPosition");
917     lib.bindSymbol(cast(void**)&Soloud_set3dListenerAt, "Soloud_set3dListenerAt");
918     lib.bindSymbol(cast(void**)&Soloud_set3dListenerUp, "Soloud_set3dListenerUp");
919     lib.bindSymbol(cast(void**)&Soloud_set3dListenerVelocity, "Soloud_set3dListenerVelocity");
920     lib.bindSymbol(cast(void**)&Soloud_set3dSourceParametersEx, "Soloud_set3dSourceParametersEx");
921     lib.bindSymbol(cast(void**)&Soloud_set3dSourcePosition, "Soloud_set3dSourcePosition");
922     lib.bindSymbol(cast(void**)&Soloud_set3dSourceVelocity, "Soloud_set3dSourceVelocity");
923     lib.bindSymbol(cast(void**)&Soloud_set3dSourceMinMaxDistance, "Soloud_set3dSourceMinMaxDistance");
924     lib.bindSymbol(cast(void**)&Soloud_set3dSourceAttenuation, "Soloud_set3dSourceAttenuation");
925     lib.bindSymbol(cast(void**)&Soloud_set3dSourceDopplerFactor, "Soloud_set3dSourceDopplerFactor");
926     lib.bindSymbol(cast(void**)&Soloud_mix, "Soloud_mix");
927     lib.bindSymbol(cast(void**)&Soloud_mixSigned16, "Soloud_mixSigned16");
928     lib.bindSymbol(cast(void**)&AudioAttenuator_create, "AudioAttenuator_create");
929     lib.bindSymbol(cast(void**)&AudioAttenuator_destroy, "AudioAttenuator_destroy");
930     lib.bindSymbol(cast(void**)&AudioAttenuator_attenuate, "AudioAttenuator_attenuate");
931     lib.bindSymbol(cast(void**)&BassboostFilter_create, "BassboostFilter_create");
932     lib.bindSymbol(cast(void**)&BassboostFilter_destroy, "BassboostFilter_destroy");
933     lib.bindSymbol(cast(void**)&BassboostFilter_setParams, "BassboostFilter_setParams");
934     lib.bindSymbol(cast(void**)&BiquadResonantFilter_create, "BiquadResonantFilter_create");
935     lib.bindSymbol(cast(void**)&BiquadResonantFilter_destroy, "BiquadResonantFilter_destroy");
936     lib.bindSymbol(cast(void**)&BiquadResonantFilter_setParams, "BiquadResonantFilter_setParams");
937     lib.bindSymbol(cast(void**)&Bus_create, "Bus_create");
938     lib.bindSymbol(cast(void**)&Bus_destroy, "Bus_destroy");
939     lib.bindSymbol(cast(void**)&Bus_setFilter, "Bus_setFilter");
940     lib.bindSymbol(cast(void**)&Bus_playEx, "Bus_playEx");
941     lib.bindSymbol(cast(void**)&Bus_playClockedEx, "Bus_playClockedEx");
942     lib.bindSymbol(cast(void**)&Bus_play3dEx, "Bus_play3dEx");
943     lib.bindSymbol(cast(void**)&Bus_play3dClockedEx, "Bus_play3dClockedEx");
944     lib.bindSymbol(cast(void**)&Bus_setChannels, "Bus_setChannels");
945     lib.bindSymbol(cast(void**)&Bus_setVisualizationEnable, "Bus_setVisualizationEnable");
946     lib.bindSymbol(cast(void**)&Bus_calcFFT, "Bus_calcFFT");
947     lib.bindSymbol(cast(void**)&Bus_getWave, "Bus_getWave");
948     lib.bindSymbol(cast(void**)&Bus_getApproximateVolume, "Bus_getApproximateVolume");
949     lib.bindSymbol(cast(void**)&Bus_setVolume, "Bus_setVolume");
950     lib.bindSymbol(cast(void**)&Bus_setLooping, "Bus_setLooping");
951     lib.bindSymbol(cast(void**)&Bus_set3dMinMaxDistance, "Bus_set3dMinMaxDistance");
952     lib.bindSymbol(cast(void**)&Bus_set3dAttenuation, "Bus_set3dAttenuation");
953     lib.bindSymbol(cast(void**)&Bus_set3dDopplerFactor, "Bus_set3dDopplerFactor");
954     lib.bindSymbol(cast(void**)&Bus_set3dListenerRelative, "Bus_set3dListenerRelative");
955     lib.bindSymbol(cast(void**)&Bus_set3dDistanceDelay, "Bus_set3dDistanceDelay");
956     lib.bindSymbol(cast(void**)&Bus_set3dColliderEx, "Bus_set3dColliderEx");
957     lib.bindSymbol(cast(void**)&Bus_set3dAttenuator, "Bus_set3dAttenuator");
958     lib.bindSymbol(cast(void**)&Bus_setInaudibleBehavior, "Bus_setInaudibleBehavior");
959     lib.bindSymbol(cast(void**)&Bus_setLoopPoint, "Bus_setLoopPoint");
960     lib.bindSymbol(cast(void**)&Bus_getLoopPoint, "Bus_getLoopPoint");
961     lib.bindSymbol(cast(void**)&Bus_stop, "Bus_stop");
962     lib.bindSymbol(cast(void**)&DCRemovalFilter_create, "DCRemovalFilter_create");
963     lib.bindSymbol(cast(void**)&DCRemovalFilter_destroy, "DCRemovalFilter_destroy");
964     lib.bindSymbol(cast(void**)&DCRemovalFilter_setParamsEx, "DCRemovalFilter_setParamsEx");
965     lib.bindSymbol(cast(void**)&EchoFilter_create, "EchoFilter_create");
966     lib.bindSymbol(cast(void**)&EchoFilter_destroy, "EchoFilter_destroy");
967     lib.bindSymbol(cast(void**)&EchoFilter_setParamsEx, "EchoFilter_setParamsEx");
968     lib.bindSymbol(cast(void**)&FFTFilter_create, "FFTFilter_create");
969     lib.bindSymbol(cast(void**)&FFTFilter_destroy, "FFTFilter_destroy");
970     lib.bindSymbol(cast(void**)&FlangerFilter_create, "FlangerFilter_create");
971     lib.bindSymbol(cast(void**)&FlangerFilter_destroy, "FlangerFilter_destroy");
972     lib.bindSymbol(cast(void**)&FlangerFilter_setParams, "FlangerFilter_setParams");
973     lib.bindSymbol(cast(void**)&LofiFilter_create, "LofiFilter_create");
974     lib.bindSymbol(cast(void**)&LofiFilter_destroy, "LofiFilter_destroy");
975     lib.bindSymbol(cast(void**)&LofiFilter_setParams, "LofiFilter_setParams");
976     lib.bindSymbol(cast(void**)&Monotone_create, "Monotone_create");
977     lib.bindSymbol(cast(void**)&Monotone_destroy, "Monotone_destroy");
978     lib.bindSymbol(cast(void**)&Monotone_setParamsEx, "Monotone_setParamsEx");
979     lib.bindSymbol(cast(void**)&Monotone_load, "Monotone_load");
980     lib.bindSymbol(cast(void**)&Monotone_loadMemEx, "Monotone_loadMemEx");
981     lib.bindSymbol(cast(void**)&Monotone_loadFile, "Monotone_loadFile");
982     lib.bindSymbol(cast(void**)&Monotone_setVolume, "Monotone_setVolume");
983     lib.bindSymbol(cast(void**)&Monotone_setLooping, "Monotone_setLooping");
984     lib.bindSymbol(cast(void**)&Monotone_set3dMinMaxDistance, "Monotone_set3dMinMaxDistance");
985     lib.bindSymbol(cast(void**)&Monotone_set3dAttenuation, "Monotone_set3dAttenuation");
986     lib.bindSymbol(cast(void**)&Monotone_set3dDopplerFactor, "Monotone_set3dDopplerFactor");
987     lib.bindSymbol(cast(void**)&Monotone_set3dListenerRelative, "Monotone_set3dListenerRelative");
988     lib.bindSymbol(cast(void**)&Monotone_set3dDistanceDelay, "Monotone_set3dDistanceDelay");
989     lib.bindSymbol(cast(void**)&Monotone_set3dColliderEx, "Monotone_set3dColliderEx");
990     lib.bindSymbol(cast(void**)&Monotone_set3dAttenuator, "Monotone_set3dAttenuator");
991     lib.bindSymbol(cast(void**)&Monotone_setInaudibleBehavior, "Monotone_setInaudibleBehavior");
992     lib.bindSymbol(cast(void**)&Monotone_setLoopPoint, "Monotone_setLoopPoint");
993     lib.bindSymbol(cast(void**)&Monotone_getLoopPoint, "Monotone_getLoopPoint");
994     lib.bindSymbol(cast(void**)&Monotone_setFilter, "Monotone_setFilter");
995     lib.bindSymbol(cast(void**)&Monotone_stop, "Monotone_stop");
996     lib.bindSymbol(cast(void**)&Openmpt_create, "Openmpt_create");
997     lib.bindSymbol(cast(void**)&Openmpt_destroy, "Openmpt_destroy");
998     lib.bindSymbol(cast(void**)&Openmpt_load, "Openmpt_load");
999     lib.bindSymbol(cast(void**)&Openmpt_loadMemEx, "Openmpt_loadMemEx");
1000     lib.bindSymbol(cast(void**)&Openmpt_loadFile, "Openmpt_loadFile");
1001     lib.bindSymbol(cast(void**)&Openmpt_setVolume, "Openmpt_setVolume");
1002     lib.bindSymbol(cast(void**)&Openmpt_setLooping, "Openmpt_setLooping");
1003     lib.bindSymbol(cast(void**)&Openmpt_set3dMinMaxDistance, "Openmpt_set3dMinMaxDistance");
1004     lib.bindSymbol(cast(void**)&Openmpt_set3dAttenuation, "Openmpt_set3dAttenuation");
1005     lib.bindSymbol(cast(void**)&Openmpt_set3dDopplerFactor, "Openmpt_set3dDopplerFactor");
1006     lib.bindSymbol(cast(void**)&Openmpt_set3dListenerRelative, "Openmpt_set3dListenerRelative");
1007     lib.bindSymbol(cast(void**)&Openmpt_set3dDistanceDelay, "Openmpt_set3dDistanceDelay");
1008     lib.bindSymbol(cast(void**)&Openmpt_set3dColliderEx, "Openmpt_set3dColliderEx");
1009     lib.bindSymbol(cast(void**)&Openmpt_set3dAttenuator, "Openmpt_set3dAttenuator");
1010     lib.bindSymbol(cast(void**)&Openmpt_setInaudibleBehavior, "Openmpt_setInaudibleBehavior");
1011     lib.bindSymbol(cast(void**)&Openmpt_setLoopPoint, "Openmpt_setLoopPoint");
1012     lib.bindSymbol(cast(void**)&Openmpt_getLoopPoint, "Openmpt_getLoopPoint");
1013     lib.bindSymbol(cast(void**)&Openmpt_setFilter, "Openmpt_setFilter");
1014     lib.bindSymbol(cast(void**)&Openmpt_stop, "Openmpt_stop");
1015     lib.bindSymbol(cast(void**)&Queue_create, "Queue_create");
1016     lib.bindSymbol(cast(void**)&Queue_destroy, "Queue_destroy");
1017     lib.bindSymbol(cast(void**)&Queue_play, "Queue_play");
1018     lib.bindSymbol(cast(void**)&Queue_getQueueCount, "Queue_getQueueCount");
1019     lib.bindSymbol(cast(void**)&Queue_isCurrentlyPlaying, "Queue_isCurrentlyPlaying");
1020     lib.bindSymbol(cast(void**)&Queue_setParamsFromAudioSource, "Queue_setParamsFromAudioSource");
1021     lib.bindSymbol(cast(void**)&Queue_setParamsEx, "Queue_setParamsEx");
1022     lib.bindSymbol(cast(void**)&Queue_setVolume, "Queue_setVolume");
1023     lib.bindSymbol(cast(void**)&Queue_setLooping, "Queue_setLooping");
1024     lib.bindSymbol(cast(void**)&Queue_set3dMinMaxDistance, "Queue_set3dMinMaxDistance");
1025     lib.bindSymbol(cast(void**)&Queue_set3dAttenuation, "Queue_set3dAttenuation");
1026     lib.bindSymbol(cast(void**)&Queue_set3dDopplerFactor, "Queue_set3dDopplerFactor");
1027     lib.bindSymbol(cast(void**)&Queue_set3dListenerRelative, "Queue_set3dListenerRelative");
1028     lib.bindSymbol(cast(void**)&Queue_set3dDistanceDelay, "Queue_set3dDistanceDelay");
1029     lib.bindSymbol(cast(void**)&Queue_set3dColliderEx, "Queue_set3dColliderEx");
1030     lib.bindSymbol(cast(void**)&Queue_set3dAttenuator, "Queue_set3dAttenuator");
1031     lib.bindSymbol(cast(void**)&Queue_setInaudibleBehavior, "Queue_setInaudibleBehavior");
1032     lib.bindSymbol(cast(void**)&Queue_setLoopPoint, "Queue_setLoopPoint");
1033     lib.bindSymbol(cast(void**)&Queue_getLoopPoint, "Queue_getLoopPoint");
1034     lib.bindSymbol(cast(void**)&Queue_setFilter, "Queue_setFilter");
1035     lib.bindSymbol(cast(void**)&Queue_stop, "Queue_stop");
1036     lib.bindSymbol(cast(void**)&RobotizeFilter_create, "RobotizeFilter_create");
1037     lib.bindSymbol(cast(void**)&RobotizeFilter_destroy, "RobotizeFilter_destroy");
1038     lib.bindSymbol(cast(void**)&Prg_create, "Prg_create");
1039     lib.bindSymbol(cast(void**)&Prg_destroy, "Prg_destroy");
1040     lib.bindSymbol(cast(void**)&Prg_rand, "Prg_rand");
1041     lib.bindSymbol(cast(void**)&Prg_srand, "Prg_srand");
1042     lib.bindSymbol(cast(void**)&Sfxr_create, "Sfxr_create");
1043     lib.bindSymbol(cast(void**)&Sfxr_destroy, "Sfxr_destroy");
1044     lib.bindSymbol(cast(void**)&Sfxr_resetParams, "Sfxr_resetParams");
1045     lib.bindSymbol(cast(void**)&Sfxr_loadParams, "Sfxr_loadParams");
1046     lib.bindSymbol(cast(void**)&Sfxr_loadParamsMemEx, "Sfxr_loadParamsMemEx");
1047     lib.bindSymbol(cast(void**)&Sfxr_loadParamsFile, "Sfxr_loadParamsFile");
1048     lib.bindSymbol(cast(void**)&Sfxr_loadPreset, "Sfxr_loadPreset");
1049     lib.bindSymbol(cast(void**)&Sfxr_setVolume, "Sfxr_setVolume");
1050     lib.bindSymbol(cast(void**)&Sfxr_setLooping, "Sfxr_setLooping");
1051     lib.bindSymbol(cast(void**)&Sfxr_set3dMinMaxDistance, "Sfxr_set3dMinMaxDistance");
1052     lib.bindSymbol(cast(void**)&Sfxr_set3dAttenuation, "Sfxr_set3dAttenuation");
1053     lib.bindSymbol(cast(void**)&Sfxr_set3dDopplerFactor, "Sfxr_set3dDopplerFactor");
1054     lib.bindSymbol(cast(void**)&Sfxr_set3dListenerRelative, "Sfxr_set3dListenerRelative");
1055     lib.bindSymbol(cast(void**)&Sfxr_set3dDistanceDelay, "Sfxr_set3dDistanceDelay");
1056     lib.bindSymbol(cast(void**)&Sfxr_set3dColliderEx, "Sfxr_set3dColliderEx");
1057     lib.bindSymbol(cast(void**)&Sfxr_set3dAttenuator, "Sfxr_set3dAttenuator");
1058     lib.bindSymbol(cast(void**)&Sfxr_setInaudibleBehavior, "Sfxr_setInaudibleBehavior");
1059     lib.bindSymbol(cast(void**)&Sfxr_setLoopPoint, "Sfxr_setLoopPoint");
1060     lib.bindSymbol(cast(void**)&Sfxr_getLoopPoint, "Sfxr_getLoopPoint");
1061     lib.bindSymbol(cast(void**)&Sfxr_setFilter, "Sfxr_setFilter");
1062     lib.bindSymbol(cast(void**)&Sfxr_stop, "Sfxr_stop");
1063     lib.bindSymbol(cast(void**)&Speech_create, "Speech_create");
1064     lib.bindSymbol(cast(void**)&Speech_destroy, "Speech_destroy");
1065     lib.bindSymbol(cast(void**)&Speech_setText, "Speech_setText");
1066     lib.bindSymbol(cast(void**)&Speech_setParamsEx, "Speech_setParamsEx");
1067     lib.bindSymbol(cast(void**)&Speech_setVolume, "Speech_setVolume");
1068     lib.bindSymbol(cast(void**)&Speech_setLooping, "Speech_setLooping");
1069     lib.bindSymbol(cast(void**)&Speech_set3dMinMaxDistance, "Speech_set3dMinMaxDistance");
1070     lib.bindSymbol(cast(void**)&Speech_set3dAttenuation, "Speech_set3dAttenuation");
1071     lib.bindSymbol(cast(void**)&Speech_set3dDopplerFactor, "Speech_set3dDopplerFactor");
1072     lib.bindSymbol(cast(void**)&Speech_set3dListenerRelative, "Speech_set3dListenerRelative");
1073     lib.bindSymbol(cast(void**)&Speech_set3dDistanceDelay, "Speech_set3dDistanceDelay");
1074     lib.bindSymbol(cast(void**)&Speech_set3dColliderEx, "Speech_set3dColliderEx");
1075     lib.bindSymbol(cast(void**)&Speech_set3dAttenuator, "Speech_set3dAttenuator");
1076     lib.bindSymbol(cast(void**)&Speech_setInaudibleBehavior, "Speech_setInaudibleBehavior");
1077     lib.bindSymbol(cast(void**)&Speech_setLoopPoint, "Speech_setLoopPoint");
1078     lib.bindSymbol(cast(void**)&Speech_getLoopPoint, "Speech_getLoopPoint");
1079     lib.bindSymbol(cast(void**)&Speech_setFilter, "Speech_setFilter");
1080     lib.bindSymbol(cast(void**)&Speech_stop, "Speech_stop");
1081     lib.bindSymbol(cast(void**)&TedSid_create, "TedSid_create");
1082     lib.bindSymbol(cast(void**)&TedSid_destroy, "TedSid_destroy");
1083     lib.bindSymbol(cast(void**)&TedSid_load, "TedSid_load");
1084     lib.bindSymbol(cast(void**)&TedSid_loadToMem, "TedSid_loadToMem");
1085     lib.bindSymbol(cast(void**)&TedSid_loadMemEx, "TedSid_loadMemEx");
1086     lib.bindSymbol(cast(void**)&TedSid_loadFileToMem, "TedSid_loadFileToMem");
1087     lib.bindSymbol(cast(void**)&TedSid_loadFile, "TedSid_loadFile");
1088     lib.bindSymbol(cast(void**)&TedSid_setVolume, "TedSid_setVolume");
1089     lib.bindSymbol(cast(void**)&TedSid_setLooping, "TedSid_setLooping");
1090     lib.bindSymbol(cast(void**)&TedSid_set3dMinMaxDistance, "TedSid_set3dMinMaxDistance");
1091     lib.bindSymbol(cast(void**)&TedSid_set3dAttenuation, "TedSid_set3dAttenuation");
1092     lib.bindSymbol(cast(void**)&TedSid_set3dDopplerFactor, "TedSid_set3dDopplerFactor");
1093     lib.bindSymbol(cast(void**)&TedSid_set3dListenerRelative, "TedSid_set3dListenerRelative");
1094     lib.bindSymbol(cast(void**)&TedSid_set3dDistanceDelay, "TedSid_set3dDistanceDelay");
1095     lib.bindSymbol(cast(void**)&TedSid_set3dColliderEx, "TedSid_set3dColliderEx");
1096     lib.bindSymbol(cast(void**)&TedSid_set3dAttenuator, "TedSid_set3dAttenuator");
1097     lib.bindSymbol(cast(void**)&TedSid_setInaudibleBehavior, "TedSid_setInaudibleBehavior");
1098     lib.bindSymbol(cast(void**)&TedSid_setLoopPoint, "TedSid_setLoopPoint");
1099     lib.bindSymbol(cast(void**)&TedSid_getLoopPoint, "TedSid_getLoopPoint");
1100     lib.bindSymbol(cast(void**)&TedSid_setFilter, "TedSid_setFilter");
1101     lib.bindSymbol(cast(void**)&TedSid_stop, "TedSid_stop");
1102     lib.bindSymbol(cast(void**)&Vic_create, "Vic_create");
1103     lib.bindSymbol(cast(void**)&Vic_destroy, "Vic_destroy");
1104     lib.bindSymbol(cast(void**)&Vic_setModel, "Vic_setModel");
1105     lib.bindSymbol(cast(void**)&Vic_getModel, "Vic_getModel");
1106     lib.bindSymbol(cast(void**)&Vic_setRegister, "Vic_setRegister");
1107     lib.bindSymbol(cast(void**)&Vic_getRegister, "Vic_getRegister");
1108     lib.bindSymbol(cast(void**)&Vic_setVolume, "Vic_setVolume");
1109     lib.bindSymbol(cast(void**)&Vic_setLooping, "Vic_setLooping");
1110     lib.bindSymbol(cast(void**)&Vic_set3dMinMaxDistance, "Vic_set3dMinMaxDistance");
1111     lib.bindSymbol(cast(void**)&Vic_set3dAttenuation, "Vic_set3dAttenuation");
1112     lib.bindSymbol(cast(void**)&Vic_set3dDopplerFactor, "Vic_set3dDopplerFactor");
1113     lib.bindSymbol(cast(void**)&Vic_set3dListenerRelative, "Vic_set3dListenerRelative");
1114     lib.bindSymbol(cast(void**)&Vic_set3dDistanceDelay, "Vic_set3dDistanceDelay");
1115     lib.bindSymbol(cast(void**)&Vic_set3dColliderEx, "Vic_set3dColliderEx");
1116     lib.bindSymbol(cast(void**)&Vic_set3dAttenuator, "Vic_set3dAttenuator");
1117     lib.bindSymbol(cast(void**)&Vic_setInaudibleBehavior, "Vic_setInaudibleBehavior");
1118     lib.bindSymbol(cast(void**)&Vic_setLoopPoint, "Vic_setLoopPoint");
1119     lib.bindSymbol(cast(void**)&Vic_getLoopPoint, "Vic_getLoopPoint");
1120     lib.bindSymbol(cast(void**)&Vic_setFilter, "Vic_setFilter");
1121     lib.bindSymbol(cast(void**)&Vic_stop, "Vic_stop");
1122     lib.bindSymbol(cast(void**)&Vizsn_create, "Vizsn_create");
1123     lib.bindSymbol(cast(void**)&Vizsn_destroy, "Vizsn_destroy");
1124     lib.bindSymbol(cast(void**)&Vizsn_setText, "Vizsn_setText");
1125     lib.bindSymbol(cast(void**)&Vizsn_setVolume, "Vizsn_setVolume");
1126     lib.bindSymbol(cast(void**)&Vizsn_setLooping, "Vizsn_setLooping");
1127     lib.bindSymbol(cast(void**)&Vizsn_set3dMinMaxDistance, "Vizsn_set3dMinMaxDistance");
1128     lib.bindSymbol(cast(void**)&Vizsn_set3dAttenuation, "Vizsn_set3dAttenuation");
1129     lib.bindSymbol(cast(void**)&Vizsn_set3dDopplerFactor, "Vizsn_set3dDopplerFactor");
1130     lib.bindSymbol(cast(void**)&Vizsn_set3dListenerRelative, "Vizsn_set3dListenerRelative");
1131     lib.bindSymbol(cast(void**)&Vizsn_set3dDistanceDelay, "Vizsn_set3dDistanceDelay");
1132     lib.bindSymbol(cast(void**)&Vizsn_set3dColliderEx, "Vizsn_set3dColliderEx");
1133     lib.bindSymbol(cast(void**)&Vizsn_set3dAttenuator, "Vizsn_set3dAttenuator");
1134     lib.bindSymbol(cast(void**)&Vizsn_setInaudibleBehavior, "Vizsn_setInaudibleBehavior");
1135     lib.bindSymbol(cast(void**)&Vizsn_setLoopPoint, "Vizsn_setLoopPoint");
1136     lib.bindSymbol(cast(void**)&Vizsn_getLoopPoint, "Vizsn_getLoopPoint");
1137     lib.bindSymbol(cast(void**)&Vizsn_setFilter, "Vizsn_setFilter");
1138     lib.bindSymbol(cast(void**)&Vizsn_stop, "Vizsn_stop");
1139     lib.bindSymbol(cast(void**)&Wav_create, "Wav_create");
1140     lib.bindSymbol(cast(void**)&Wav_destroy, "Wav_destroy");
1141     lib.bindSymbol(cast(void**)&Wav_load, "Wav_load");
1142     lib.bindSymbol(cast(void**)&Wav_loadMemEx, "Wav_loadMemEx");
1143     lib.bindSymbol(cast(void**)&Wav_loadFile, "Wav_loadFile");
1144     lib.bindSymbol(cast(void**)&Wav_loadRawWave8Ex, "Wav_loadRawWave8Ex");
1145     lib.bindSymbol(cast(void**)&Wav_loadRawWave16Ex, "Wav_loadRawWave16Ex");
1146     lib.bindSymbol(cast(void**)&Wav_loadRawWaveEx, "Wav_loadRawWaveEx");
1147     lib.bindSymbol(cast(void**)&Wav_getLength, "Wav_getLength");
1148     lib.bindSymbol(cast(void**)&Wav_setVolume, "Wav_setVolume");
1149     lib.bindSymbol(cast(void**)&Wav_setLooping, "Wav_setLooping");
1150     lib.bindSymbol(cast(void**)&Wav_set3dMinMaxDistance, "Wav_set3dMinMaxDistance");
1151     lib.bindSymbol(cast(void**)&Wav_set3dAttenuation, "Wav_set3dAttenuation");
1152     lib.bindSymbol(cast(void**)&Wav_set3dDopplerFactor, "Wav_set3dDopplerFactor");
1153     lib.bindSymbol(cast(void**)&Wav_set3dListenerRelative, "Wav_set3dListenerRelative");
1154     lib.bindSymbol(cast(void**)&Wav_set3dDistanceDelay, "Wav_set3dDistanceDelay");
1155     lib.bindSymbol(cast(void**)&Wav_set3dColliderEx, "Wav_set3dColliderEx");
1156     lib.bindSymbol(cast(void**)&Wav_set3dAttenuator, "Wav_set3dAttenuator");
1157     lib.bindSymbol(cast(void**)&Wav_setInaudibleBehavior, "Wav_setInaudibleBehavior");
1158     lib.bindSymbol(cast(void**)&Wav_setLoopPoint, "Wav_setLoopPoint");
1159     lib.bindSymbol(cast(void**)&Wav_getLoopPoint, "Wav_getLoopPoint");
1160     lib.bindSymbol(cast(void**)&Wav_setFilter, "Wav_setFilter");
1161     lib.bindSymbol(cast(void**)&Wav_stop, "Wav_stop");
1162     lib.bindSymbol(cast(void**)&WaveShaperFilter_create, "WaveShaperFilter_create");
1163     lib.bindSymbol(cast(void**)&WaveShaperFilter_destroy, "WaveShaperFilter_destroy");
1164     lib.bindSymbol(cast(void**)&WaveShaperFilter_setParamsEx, "WaveShaperFilter_setParamsEx");
1165     lib.bindSymbol(cast(void**)&WavStream_create, "WavStream_create");
1166     lib.bindSymbol(cast(void**)&WavStream_destroy, "WavStream_destroy");
1167     lib.bindSymbol(cast(void**)&WavStream_load, "WavStream_load");
1168     lib.bindSymbol(cast(void**)&WavStream_loadMemEx, "WavStream_loadMemEx");
1169     lib.bindSymbol(cast(void**)&WavStream_loadToMem, "WavStream_loadToMem");
1170     lib.bindSymbol(cast(void**)&WavStream_loadFile, "WavStream_loadFile");
1171     lib.bindSymbol(cast(void**)&WavStream_loadFileToMem, "WavStream_loadFileToMem");
1172     lib.bindSymbol(cast(void**)&WavStream_getLength, "WavStream_getLength");
1173     lib.bindSymbol(cast(void**)&WavStream_setVolume, "WavStream_setVolume");
1174     lib.bindSymbol(cast(void**)&WavStream_setLooping, "WavStream_setLooping");
1175     lib.bindSymbol(cast(void**)&WavStream_set3dMinMaxDistance, "WavStream_set3dMinMaxDistance");
1176     lib.bindSymbol(cast(void**)&WavStream_set3dAttenuation, "WavStream_set3dAttenuation");
1177     lib.bindSymbol(cast(void**)&WavStream_set3dDopplerFactor, "WavStream_set3dDopplerFactor");
1178     lib.bindSymbol(cast(void**)&WavStream_set3dListenerRelative, "WavStream_set3dListenerRelative");
1179     lib.bindSymbol(cast(void**)&WavStream_set3dDistanceDelay, "WavStream_set3dDistanceDelay");
1180     lib.bindSymbol(cast(void**)&WavStream_set3dColliderEx, "WavStream_set3dColliderEx");
1181     lib.bindSymbol(cast(void**)&WavStream_set3dAttenuator, "WavStream_set3dAttenuator");
1182     lib.bindSymbol(cast(void**)&WavStream_setInaudibleBehavior, "WavStream_setInaudibleBehavior");
1183     lib.bindSymbol(cast(void**)&WavStream_setLoopPoint, "WavStream_setLoopPoint");
1184     lib.bindSymbol(cast(void**)&WavStream_getLoopPoint, "WavStream_getLoopPoint");
1185     lib.bindSymbol(cast(void**)&WavStream_setFilter, "WavStream_setFilter");
1186     lib.bindSymbol(cast(void**)&WavStream_stop, "WavStream_stop");
1187 
1188     
1189     loadedVersion = SLSupport.sl20181119;
1190 
1191     if (errorCount() != errCount)
1192         return SLSupport.badLibrary;
1193 
1194     return loadedVersion;
1195 }