1 /*
2  * Copyright (c) 2017 Derelict Developers
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the names 'Derelict', 'DerelictFmod', nor the names of its contributors
17  *   may be used to endorse or promote products derived from this software
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 module derelict.fmodstudio.funcs;
33 
34 private
35 {
36 	import derelict.util.system;
37 	import derelict.fmodstudio.common;
38 	import derelict.fmod.common;
39 	import derelict.fmod.dsp;
40 }
41 
42 extern(C) @nogc nothrow
43 {
44 	/*
45 	Global
46 */
47 	alias da_FMOD_Studio_ParseID = FMOD_RESULT function(const char *idString, FMOD_GUID *id);
48 	alias da_FMOD_Studio_System_Create = FMOD_RESULT function(FMOD_STUDIO_SYSTEM **system, uint headerVersion);
49 	
50 	/*$ preserve end $*/
51 	
52 	/*
53 	System
54 */
55 	alias da_FMOD_Studio_System_IsValid = FMOD_BOOL function(FMOD_STUDIO_SYSTEM *system);
56 	alias da_FMOD_Studio_System_SetAdvancedSettings = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_ADVANCEDSETTINGS *settings);
57 	alias da_FMOD_Studio_System_GetAdvancedSettings = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_ADVANCEDSETTINGS *settings);
58 	alias da_FMOD_Studio_System_Initialize = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int maxchannels, FMOD_STUDIO_INITFLAGS studioflags, FMOD_INITFLAGS flags, void *extradriverdata);
59 	alias da_FMOD_Studio_System_Release = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
60 	alias da_FMOD_Studio_System_Update = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
61 	alias da_FMOD_Studio_System_GetLowLevelSystem = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_SYSTEM **lowLevelSystem);
62 	alias da_FMOD_Studio_System_GetEvent = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_EVENTDESCRIPTION **event);
63 	alias da_FMOD_Studio_System_GetBus = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_BUS **bus);
64 	alias da_FMOD_Studio_System_GetVCA = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_VCA **vca);
65 	alias da_FMOD_Studio_System_GetBank = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_BANK **bank);
66 	alias da_FMOD_Studio_System_GetEventByID = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_EVENTDESCRIPTION **event);
67 	alias da_FMOD_Studio_System_GetBusByID = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_BUS **bus);
68 	alias da_FMOD_Studio_System_GetVCAByID = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_VCA **vca);
69 	alias da_FMOD_Studio_System_GetBankByID = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_BANK **bank);
70 	alias da_FMOD_Studio_System_GetSoundInfo = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *key, FMOD_STUDIO_SOUND_INFO *info);
71 	alias da_FMOD_Studio_System_LookupID = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *path, FMOD_GUID *id);
72 	alias da_FMOD_Studio_System_LookupPath = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, char *path, int size, int *retrieved);
73 	alias da_FMOD_Studio_System_GetNumListeners = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int *numlisteners);
74 	alias da_FMOD_Studio_System_SetNumListeners = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int numlisteners);
75 	alias da_FMOD_Studio_System_GetListenerAttributes = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int index, FMOD_3D_ATTRIBUTES *attributes);
76 	alias da_FMOD_Studio_System_SetListenerAttributes = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int index, FMOD_3D_ATTRIBUTES *attributes);
77 	alias da_FMOD_Studio_System_GetListenerWeight = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int index, float *weight);
78 	alias da_FMOD_Studio_System_SetListenerWeight = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int index, float weight);
79 	alias da_FMOD_Studio_System_LoadBankFile = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank);
80 	alias da_FMOD_Studio_System_LoadBankMemory = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *buffer, int length, FMOD_STUDIO_LOAD_MEMORY_MODE mode, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank);
81 	alias da_FMOD_Studio_System_LoadBankCustom = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_STUDIO_BANK_INFO *info, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank);
82 	alias da_FMOD_Studio_System_RegisterPlugin = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const FMOD_DSP_DESCRIPTION *description);
83 	alias da_FMOD_Studio_System_UnregisterPlugin = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *name);
84 	alias da_FMOD_Studio_System_UnloadAll = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
85 	alias da_FMOD_Studio_System_FlushCommands = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
86 	alias da_FMOD_Studio_System_FlushSampleLoading = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
87 	alias da_FMOD_Studio_System_StartCommandCapture = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_COMMANDCAPTURE_FLAGS flags);
88 	alias da_FMOD_Studio_System_StopCommandCapture = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
89 	alias da_FMOD_Studio_System_LoadCommandReplay = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_COMMANDREPLAY_FLAGS flags, FMOD_STUDIO_COMMANDREPLAY **replay);
90 	alias da_FMOD_Studio_System_GetBankCount = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, int *count);
91 	alias da_FMOD_Studio_System_GetBankList = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_BANK **array, int capacity, int *count);
92 	alias da_FMOD_Studio_System_GetCPUUsage = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_CPU_USAGE *usage);
93 	alias da_FMOD_Studio_System_GetBufferUsage = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_BUFFER_USAGE *usage);
94 	alias da_FMOD_Studio_System_ResetBufferUsage = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system);
95 	alias da_FMOD_Studio_System_SetCallback = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK callback, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE callbackmask);
96 	alias da_FMOD_Studio_System_SetUserData = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, void *userdata);
97 	alias da_FMOD_Studio_System_GetUserData = FMOD_RESULT function(FMOD_STUDIO_SYSTEM *system, void **userdata);
98 	
99 	/*
100 	EventDescription
101 */
102 	alias da_FMOD_Studio_EventDescription_IsValid = FMOD_BOOL function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription);
103 	alias da_FMOD_Studio_EventDescription_GetID = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_GUID *id);
104 	alias da_FMOD_Studio_EventDescription_GetPath = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, char *path, int size, int *retrieved);
105 	alias da_FMOD_Studio_EventDescription_GetParameterCount = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count);
106 	alias da_FMOD_Studio_EventDescription_GetParameterByIndex = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int index, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter);
107 	alias da_FMOD_Studio_EventDescription_GetParameter = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter);
108 	alias da_FMOD_Studio_EventDescription_GetUserPropertyCount = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count);
109 	alias da_FMOD_Studio_EventDescription_GetUserPropertyByIndex = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int index, FMOD_STUDIO_USER_PROPERTY *property);
110 	alias da_FMOD_Studio_EventDescription_GetUserProperty = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, const char *name, FMOD_STUDIO_USER_PROPERTY *property);
111 	alias da_FMOD_Studio_EventDescription_GetLength = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *length);
112 	alias da_FMOD_Studio_EventDescription_GetMinimumDistance = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *distance);
113 	alias da_FMOD_Studio_EventDescription_GetMaximumDistance = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *distance);
114 	alias da_FMOD_Studio_EventDescription_GetSoundSize = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *size);
115 	alias da_FMOD_Studio_EventDescription_IsSnapshot = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *snapshot);
116 	alias da_FMOD_Studio_EventDescription_IsOneshot = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *oneshot);
117 	alias da_FMOD_Studio_EventDescription_IsStream = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *isStream);
118 	alias da_FMOD_Studio_EventDescription_Is3D = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *is3D);
119 	alias da_FMOD_Studio_EventDescription_HasCue = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *cue);
120 	alias da_FMOD_Studio_EventDescription_CreateInstance = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance);
121 	alias da_FMOD_Studio_EventDescription_GetInstanceCount = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count);
122 	alias da_FMOD_Studio_EventDescription_GetInstanceList = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **array, int capacity, int *count);
123 	alias da_FMOD_Studio_EventDescription_LoadSampleData = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventDesc);
124 	alias da_FMOD_Studio_EventDescription_UnloadSampleData = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventDesc);
125 	alias da_FMOD_Studio_EventDescription_GetSampleLoadingState = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventDesc, FMOD_STUDIO_LOADING_STATE *state);
126 	alias da_FMOD_Studio_EventDescription_ReleaseAllInstances = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription);
127 	alias da_FMOD_Studio_EventDescription_SetCallback = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask);
128 	alias da_FMOD_Studio_EventDescription_GetUserData = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, void **userData);
129 	alias da_FMOD_Studio_EventDescription_SetUserData = FMOD_RESULT function(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, void *userData);   
130 	
131 	/*
132 	EventInstance
133 */
134 	alias da_FMOD_Studio_EventInstance_IsValid = FMOD_BOOL function(FMOD_STUDIO_EVENTINSTANCE *eventinstance);
135 	alias da_FMOD_Studio_EventInstance_GetDescription = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENTDESCRIPTION **description);
136 	alias da_FMOD_Studio_EventInstance_GetVolume = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *volume, float *finalvolume);
137 	alias da_FMOD_Studio_EventInstance_SetVolume = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float volume);
138 	alias da_FMOD_Studio_EventInstance_GetPitch = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *pitch, float *finalpitch);
139 	alias da_FMOD_Studio_EventInstance_SetPitch = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float pitch);
140 	alias da_FMOD_Studio_EventInstance_Get3DAttributes = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_3D_ATTRIBUTES *attributes);
141 	alias da_FMOD_Studio_EventInstance_Set3DAttributes = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_3D_ATTRIBUTES *attributes);
142 	alias da_FMOD_Studio_EventInstance_GetListenerMask = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, uint *mask);
143 	alias da_FMOD_Studio_EventInstance_SetListenerMask = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, uint mask);
144 	alias da_FMOD_Studio_EventInstance_GetProperty = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_PROPERTY index, float *value);
145 	alias da_FMOD_Studio_EventInstance_SetProperty = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_PROPERTY index, float value);
146 	alias da_FMOD_Studio_EventInstance_GetReverbLevel = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float *level);
147 	alias da_FMOD_Studio_EventInstance_SetReverbLevel = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float level);
148 	alias da_FMOD_Studio_EventInstance_GetPaused = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL *paused);
149 	alias da_FMOD_Studio_EventInstance_SetPaused = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL paused);
150 	alias da_FMOD_Studio_EventInstance_Start = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance);
151 	alias da_FMOD_Studio_EventInstance_Stop = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_STOP_MODE mode);
152 	alias da_FMOD_Studio_EventInstance_GetTimelinePosition = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int *position);
153 	alias da_FMOD_Studio_EventInstance_SetTimelinePosition = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int position);
154 	alias da_FMOD_Studio_EventInstance_GetPlaybackState = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_PLAYBACK_STATE *state);
155 	alias da_FMOD_Studio_EventInstance_GetChannelGroup = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_CHANNELGROUP **group);
156 	alias da_FMOD_Studio_EventInstance_Release = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance);
157 	alias da_FMOD_Studio_EventInstance_IsVirtual = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL *virtualState);
158 	alias da_FMOD_Studio_EventInstance_GetParameter = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const(char) *name, FMOD_STUDIO_PARAMETERINSTANCE **parameter);
159 	alias da_FMOD_Studio_EventInstance_GetParameterByIndex = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, FMOD_STUDIO_PARAMETERINSTANCE **parameter);
160 	alias da_FMOD_Studio_EventInstance_GetParameterCount = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int *count);
161 	alias da_FMOD_Studio_EventInstance_GetParameterValue = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const(char) *name, float *value, float *finalvalue);
162 	alias da_FMOD_Studio_EventInstance_SetParameterValue = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const char *name, float value);
163 	alias da_FMOD_Studio_EventInstance_GetParameterValueByIndex = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float *value, float *finalvalue);
164 	alias da_FMOD_Studio_EventInstance_SetParameterValueByIndex = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float value);
165 	alias da_FMOD_Studio_EventInstance_TriggerCue = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance);
166 	alias da_FMOD_Studio_EventInstance_SetCallback = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask);
167 	alias da_FMOD_Studio_EventInstance_GetUserData = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, void **userData);
168 	alias da_FMOD_Studio_EventInstance_SetUserData = FMOD_RESULT function(FMOD_STUDIO_EVENTINSTANCE *eventinstance, void *userData);
169 	
170 	/*
171 	ParameterInstance
172 */
173 	alias da_FMOD_Studio_ParameterInstance_IsValid = FMOD_BOOL function(FMOD_STUDIO_PARAMETERINSTANCE *parameterinstance);
174 	alias da_FMOD_Studio_ParameterInstance_GetDescription = FMOD_RESULT function(FMOD_STUDIO_PARAMETERINSTANCE *parameterinstance, FMOD_STUDIO_PARAMETER_DESCRIPTION *description);
175 	alias da_FMOD_Studio_ParameterInstance_GetValue = FMOD_RESULT function(FMOD_STUDIO_PARAMETERINSTANCE *parameterinstance, float *value);
176 	alias da_FMOD_Studio_ParameterInstance_SetValue = FMOD_RESULT function(FMOD_STUDIO_PARAMETERINSTANCE *parameterinstance, float value);
177 	
178 	/*
179 	Bus
180 */
181 	alias da_FMOD_Studio_Bus_IsValid = FMOD_BOOL function(FMOD_STUDIO_BUS *bus);
182 	alias da_FMOD_Studio_Bus_GetID = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_GUID *id);
183 	alias da_FMOD_Studio_Bus_GetPath = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, char *path, int size, int *retrieved);
184 	alias da_FMOD_Studio_Bus_GetVolume = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, float *volume, float *finalvolume);
185 	alias da_FMOD_Studio_Bus_SetVolume = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, float volume);
186 	alias da_FMOD_Studio_Bus_GetPaused = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_BOOL *paused);
187 	alias da_FMOD_Studio_Bus_SetPaused = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_BOOL paused);
188 	alias da_FMOD_Studio_Bus_GetMute = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_BOOL *mute);
189 	alias da_FMOD_Studio_Bus_SetMute = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_BOOL mute);
190 	alias da_FMOD_Studio_Bus_StopAllEvents = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_STUDIO_STOP_MODE mode);
191 	alias da_FMOD_Studio_Bus_LockChannelGroup = FMOD_RESULT function(FMOD_STUDIO_BUS *bus);
192 	alias da_FMOD_Studio_Bus_UnlockChannelGroup = FMOD_RESULT function(FMOD_STUDIO_BUS *bus);
193 	alias da_FMOD_Studio_Bus_GetChannelGroup = FMOD_RESULT function(FMOD_STUDIO_BUS *bus, FMOD_CHANNELGROUP **group);
194 	
195 	/*
196 	VCA
197 */
198 	alias da_FMOD_Studio_VCA_IsValid = FMOD_BOOL function(FMOD_STUDIO_VCA *vca);
199 	alias da_FMOD_Studio_VCA_GetID = FMOD_RESULT function(FMOD_STUDIO_VCA *vca, FMOD_GUID *id);
200 	alias da_FMOD_Studio_VCA_GetPath = FMOD_RESULT function(FMOD_STUDIO_VCA *vca, char *path, int size, int *retrieved);
201 	alias da_FMOD_Studio_VCA_GetVolume = FMOD_RESULT function(FMOD_STUDIO_VCA *vca, float *volume, float *finalvolume);
202 	alias da_FMOD_Studio_VCA_SetVolume = FMOD_RESULT function(FMOD_STUDIO_VCA *vca, float volume);
203 	
204 	/*
205 	Bank
206 */
207 	alias da_FMOD_Studio_Bank_IsValid = FMOD_BOOL function(FMOD_STUDIO_BANK *bank);
208 	alias da_FMOD_Studio_Bank_GetID = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_GUID *id);
209 	alias da_FMOD_Studio_Bank_GetPath = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, char *path, int size, int *retrieved);
210 	alias da_FMOD_Studio_Bank_Unload = FMOD_RESULT function(FMOD_STUDIO_BANK *bank);
211 	alias da_FMOD_Studio_Bank_LoadSampleData = FMOD_RESULT function(FMOD_STUDIO_BANK *bank);
212 	alias da_FMOD_Studio_Bank_UnloadSampleData = FMOD_RESULT function(FMOD_STUDIO_BANK *bank);
213 	alias da_FMOD_Studio_Bank_GetLoadingState = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_LOADING_STATE *state);
214 	alias da_FMOD_Studio_Bank_GetSampleLoadingState = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_LOADING_STATE *state);
215 	alias da_FMOD_Studio_Bank_GetStringCount = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, int *count);
216 	alias da_FMOD_Studio_Bank_GetStringInfo = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, int index, FMOD_GUID *id, char *path, int size, int *retrieved);
217 	alias da_FMOD_Studio_Bank_GetEventCount = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, int *count);
218 	alias da_FMOD_Studio_Bank_GetEventList = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_EVENTDESCRIPTION **array, int capacity, int *count);
219 	alias da_FMOD_Studio_Bank_GetBusCount = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, int *count);
220 	alias da_FMOD_Studio_Bank_GetBusList = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_BUS **array, int capacity, int *count);
221 	alias da_FMOD_Studio_Bank_GetVCACount = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, int *count);
222 	alias da_FMOD_Studio_Bank_GetVCAList = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_VCA **array, int capacity, int *count);
223 	alias da_FMOD_Studio_Bank_GetUserData = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, void **userData);
224 	alias da_FMOD_Studio_Bank_SetUserData = FMOD_RESULT function(FMOD_STUDIO_BANK *bank, void *userData);
225 	
226 	/*
227 	Command playback information
228 */
229 	alias da_FMOD_Studio_CommandReplay_IsValid = FMOD_BOOL function(FMOD_STUDIO_COMMANDREPLAY *replay);
230 	alias da_FMOD_Studio_CommandReplay_GetSystem = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_SYSTEM **system);
231 	alias da_FMOD_Studio_CommandReplay_GetLength = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, float *length);
232 	alias da_FMOD_Studio_CommandReplay_GetCommandCount = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, int *count);
233 	alias da_FMOD_Studio_CommandReplay_GetCommandInfo = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, int commandIndex, FMOD_STUDIO_COMMAND_INFO *info);
234 	alias da_FMOD_Studio_CommandReplay_GetCommandString = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, int commandIndex, char *description, int capacity);
235 	alias da_FMOD_Studio_CommandReplay_GetCommandAtTime = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, float time, int *commandIndex);
236 	alias da_FMOD_Studio_CommandReplay_SetBankPath = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, const char *bankPath);
237 	alias da_FMOD_Studio_CommandReplay_Start = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay);
238 	alias da_FMOD_Studio_CommandReplay_Stop = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay);
239 	alias da_FMOD_Studio_CommandReplay_SeekToTime = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, float time);
240 	alias da_FMOD_Studio_CommandReplay_SeekToCommand = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, int commandIndex);
241 	alias da_FMOD_Studio_CommandReplay_GetPaused = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_BOOL *paused);
242 	alias da_FMOD_Studio_CommandReplay_SetPaused = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_BOOL paused);
243 	alias da_FMOD_Studio_CommandReplay_GetPlaybackState = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_PLAYBACK_STATE *state);
244 	alias da_FMOD_Studio_CommandReplay_GetCurrentCommand = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, int *commandIndex, float *currentTime);
245 	alias da_FMOD_Studio_CommandReplay_Release = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay);
246 	alias da_FMOD_Studio_CommandReplay_SetFrameCallback = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK callback);
247 	alias da_FMOD_Studio_CommandReplay_SetLoadBankCallback = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK callback);
248 	alias da_FMOD_Studio_CommandReplay_SetCreateInstanceCallback = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK callback);
249 	alias da_FMOD_Studio_CommandReplay_GetUserData = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, void **userdata);
250 	alias da_FMOD_Studio_CommandReplay_SetUserData = FMOD_RESULT function(FMOD_STUDIO_COMMANDREPLAY *replay, void *userdata);
251 }
252 
253 __gshared
254 {
255 	da_FMOD_Studio_ParseID FMOD_Studio_ParseID;
256 	da_FMOD_Studio_System_Create FMOD_Studio_System_Create;
257 	
258 	/*$ preserve end $*/
259 	
260 	/*
261 	System
262 */
263 	da_FMOD_Studio_System_IsValid FMOD_Studio_System_IsValid;
264 	da_FMOD_Studio_System_SetAdvancedSettings FMOD_Studio_System_SetAdvancedSettings;
265 	da_FMOD_Studio_System_GetAdvancedSettings FMOD_Studio_System_GetAdvancedSettings;
266 	da_FMOD_Studio_System_Initialize FMOD_Studio_System_Initialize;
267 	da_FMOD_Studio_System_Release FMOD_Studio_System_Release;
268 	da_FMOD_Studio_System_Update FMOD_Studio_System_Update;
269 	da_FMOD_Studio_System_GetLowLevelSystem FMOD_Studio_System_GetLowLevelSystem;
270 	da_FMOD_Studio_System_GetEvent FMOD_Studio_System_GetEvent;
271 	da_FMOD_Studio_System_GetBus FMOD_Studio_System_GetBus;
272 	da_FMOD_Studio_System_GetVCA FMOD_Studio_System_GetVCA;
273 	da_FMOD_Studio_System_GetBank FMOD_Studio_System_GetBank;
274 	da_FMOD_Studio_System_GetEventByID FMOD_Studio_System_GetEventByID;
275 	da_FMOD_Studio_System_GetBusByID FMOD_Studio_System_GetBusByID;
276 	da_FMOD_Studio_System_GetVCAByID FMOD_Studio_System_GetVCAByID;
277 	da_FMOD_Studio_System_GetBankByID FMOD_Studio_System_GetBankByID;
278 	da_FMOD_Studio_System_GetSoundInfo FMOD_Studio_System_GetSoundInfo;
279 	da_FMOD_Studio_System_LookupID FMOD_Studio_System_LookupID;
280 	da_FMOD_Studio_System_LookupPath FMOD_Studio_System_LookupPath;
281 	da_FMOD_Studio_System_GetNumListeners FMOD_Studio_System_GetNumListeners;
282 	da_FMOD_Studio_System_SetNumListeners FMOD_Studio_System_SetNumListeners;
283 	da_FMOD_Studio_System_GetListenerAttributes FMOD_Studio_System_GetListenerAttributes;
284 	da_FMOD_Studio_System_SetListenerAttributes FMOD_Studio_System_SetListenerAttributes;
285 	da_FMOD_Studio_System_GetListenerWeight FMOD_Studio_System_GetListenerWeight;
286 	da_FMOD_Studio_System_SetListenerWeight FMOD_Studio_System_SetListenerWeight;
287 	da_FMOD_Studio_System_LoadBankFile FMOD_Studio_System_LoadBankFile;
288 	da_FMOD_Studio_System_LoadBankMemory FMOD_Studio_System_LoadBankMemory;
289 	da_FMOD_Studio_System_LoadBankCustom FMOD_Studio_System_LoadBankCustom;
290 	da_FMOD_Studio_System_RegisterPlugin FMOD_Studio_System_RegisterPlugin;
291 	da_FMOD_Studio_System_UnregisterPlugin FMOD_Studio_System_UnregisterPlugin;
292 	da_FMOD_Studio_System_UnloadAll FMOD_Studio_System_UnloadAll;
293 	da_FMOD_Studio_System_FlushCommands FMOD_Studio_System_FlushCommands;
294 	da_FMOD_Studio_System_FlushSampleLoading FMOD_Studio_System_FlushSampleLoading;
295 	da_FMOD_Studio_System_StartCommandCapture FMOD_Studio_System_StartCommandCapture;
296 	da_FMOD_Studio_System_StopCommandCapture FMOD_Studio_System_StopCommandCapture;
297 	da_FMOD_Studio_System_LoadCommandReplay FMOD_Studio_System_LoadCommandReplay;
298 	da_FMOD_Studio_System_GetBankCount FMOD_Studio_System_GetBankCount;
299 	da_FMOD_Studio_System_GetBankList FMOD_Studio_System_GetBankList;
300 	da_FMOD_Studio_System_GetCPUUsage FMOD_Studio_System_GetCPUUsage;
301 	da_FMOD_Studio_System_GetBufferUsage FMOD_Studio_System_GetBufferUsage;
302 	da_FMOD_Studio_System_ResetBufferUsage FMOD_Studio_System_ResetBufferUsage;
303 	da_FMOD_Studio_System_SetCallback FMOD_Studio_System_SetCallback;
304 	da_FMOD_Studio_System_SetUserData FMOD_Studio_System_SetUserData;
305 	da_FMOD_Studio_System_GetUserData FMOD_Studio_System_GetUserData;
306 	
307 	/*
308 	EventDescription
309 */
310 	da_FMOD_Studio_EventDescription_IsValid FMOD_Studio_EventDescription_IsValid;
311 	da_FMOD_Studio_EventDescription_GetID FMOD_Studio_EventDescription_GetID;
312 	da_FMOD_Studio_EventDescription_GetPath FMOD_Studio_EventDescription_GetPath;
313 	da_FMOD_Studio_EventDescription_GetParameterCount FMOD_Studio_EventDescription_GetParameterCount;
314 	da_FMOD_Studio_EventDescription_GetParameterByIndex FMOD_Studio_EventDescription_GetParameterByIndex;
315 	da_FMOD_Studio_EventDescription_GetParameter FMOD_Studio_EventDescription_GetParameter;
316 	da_FMOD_Studio_EventInstance_GetParameterValue FMOD_Studio_EventInstance_GetParameterValue;
317 	da_FMOD_Studio_EventDescription_GetUserPropertyCount FMOD_Studio_EventDescription_GetUserPropertyCount;
318 	da_FMOD_Studio_EventDescription_GetUserPropertyByIndex FMOD_Studio_EventDescription_GetUserPropertyByIndex;
319 	da_FMOD_Studio_EventDescription_GetUserProperty FMOD_Studio_EventDescription_GetUserProperty;
320 	da_FMOD_Studio_EventDescription_GetLength FMOD_Studio_EventDescription_GetLength;
321 	da_FMOD_Studio_EventDescription_GetMinimumDistance FMOD_Studio_EventDescription_GetMinimumDistance;
322 	da_FMOD_Studio_EventDescription_GetMaximumDistance FMOD_Studio_EventDescription_GetMaximumDistance;
323 	da_FMOD_Studio_EventDescription_GetSoundSize FMOD_Studio_EventDescription_GetSoundSize;
324 	da_FMOD_Studio_EventDescription_IsSnapshot FMOD_Studio_EventDescription_IsSnapshot;
325 	da_FMOD_Studio_EventDescription_IsOneshot FMOD_Studio_EventDescription_IsOneshot;
326 	da_FMOD_Studio_EventDescription_IsStream FMOD_Studio_EventDescription_IsStream;
327 	da_FMOD_Studio_EventDescription_Is3D FMOD_Studio_EventDescription_Is3D;
328 	da_FMOD_Studio_EventDescription_HasCue FMOD_Studio_EventDescription_HasCue;
329 	da_FMOD_Studio_EventDescription_CreateInstance FMOD_Studio_EventDescription_CreateInstance;
330 	da_FMOD_Studio_EventDescription_GetInstanceCount FMOD_Studio_EventDescription_GetInstanceCount;
331 	da_FMOD_Studio_EventDescription_GetInstanceList FMOD_Studio_EventDescription_GetInstanceList;
332 	da_FMOD_Studio_EventDescription_LoadSampleData FMOD_Studio_EventDescription_LoadSampleData;
333 	da_FMOD_Studio_EventDescription_UnloadSampleData FMOD_Studio_EventDescription_UnloadSampleData;
334 	da_FMOD_Studio_EventDescription_GetSampleLoadingState FMOD_Studio_EventDescription_GetSampleLoadingState;
335 	da_FMOD_Studio_EventDescription_ReleaseAllInstances FMOD_Studio_EventDescription_ReleaseAllInstances;
336 	da_FMOD_Studio_EventDescription_SetCallback FMOD_Studio_EventDescription_SetCallback;
337 	da_FMOD_Studio_EventDescription_GetUserData FMOD_Studio_EventDescription_GetUserData;
338 	da_FMOD_Studio_EventDescription_SetUserData FMOD_Studio_EventDescription_SetUserData;
339 	
340 	/*
341 	EventInstance
342 */
343 	da_FMOD_Studio_EventInstance_IsValid FMOD_Studio_EventInstance_IsValid;
344 	da_FMOD_Studio_EventInstance_GetDescription FMOD_Studio_EventInstance_GetDescription;
345 	da_FMOD_Studio_EventInstance_GetVolume FMOD_Studio_EventInstance_GetVolume;
346 	da_FMOD_Studio_EventInstance_SetVolume FMOD_Studio_EventInstance_SetVolume;
347 	da_FMOD_Studio_EventInstance_GetPitch FMOD_Studio_EventInstance_GetPitch;
348 	da_FMOD_Studio_EventInstance_SetPitch FMOD_Studio_EventInstance_SetPitch;
349 	da_FMOD_Studio_EventInstance_Get3DAttributes FMOD_Studio_EventInstance_Get3DAttributes;
350 	da_FMOD_Studio_EventInstance_Set3DAttributes FMOD_Studio_EventInstance_Set3DAttributes;
351 	da_FMOD_Studio_EventInstance_GetListenerMask FMOD_Studio_EventInstance_GetListenerMask;
352 	da_FMOD_Studio_EventInstance_SetListenerMask FMOD_Studio_EventInstance_SetListenerMask;
353 	da_FMOD_Studio_EventInstance_GetProperty FMOD_Studio_EventInstance_GetProperty;
354 	da_FMOD_Studio_EventInstance_SetProperty FMOD_Studio_EventInstance_SetProperty;
355 	da_FMOD_Studio_EventInstance_GetReverbLevel FMOD_Studio_EventInstance_GetReverbLevel;
356 	da_FMOD_Studio_EventInstance_SetReverbLevel FMOD_Studio_EventInstance_SetReverbLevel;
357 	da_FMOD_Studio_EventInstance_GetPaused FMOD_Studio_EventInstance_GetPaused;
358 	da_FMOD_Studio_EventInstance_SetPaused FMOD_Studio_EventInstance_SetPaused;
359 	da_FMOD_Studio_EventInstance_Start FMOD_Studio_EventInstance_Start;
360 	da_FMOD_Studio_EventInstance_Stop FMOD_Studio_EventInstance_Stop;
361 	da_FMOD_Studio_EventInstance_GetTimelinePosition FMOD_Studio_EventInstance_GetTimelinePosition;
362 	da_FMOD_Studio_EventInstance_SetTimelinePosition FMOD_Studio_EventInstance_SetTimelinePosition;
363 	da_FMOD_Studio_EventInstance_GetPlaybackState FMOD_Studio_EventInstance_GetPlaybackState;
364 	da_FMOD_Studio_EventInstance_GetChannelGroup FMOD_Studio_EventInstance_GetChannelGroup;
365 	da_FMOD_Studio_EventInstance_Release FMOD_Studio_EventInstance_Release;
366 	da_FMOD_Studio_EventInstance_IsVirtual FMOD_Studio_EventInstance_IsVirtual;
367 	da_FMOD_Studio_EventInstance_GetParameter FMOD_Studio_EventInstance_GetParameter;
368 	da_FMOD_Studio_EventInstance_GetParameterByIndex FMOD_Studio_EventInstance_GetParameterByIndex;
369 	da_FMOD_Studio_EventInstance_GetParameterCount FMOD_Studio_EventInstance_GetParameterCount;
370 	da_FMOD_Studio_EventInstance_SetParameterValue FMOD_Studio_EventInstance_SetParameterValue;
371 	da_FMOD_Studio_EventInstance_GetParameterValueByIndex FMOD_Studio_EventInstance_GetParameterValueByIndex;
372 	da_FMOD_Studio_EventInstance_SetParameterValueByIndex FMOD_Studio_EventInstance_SetParameterValueByIndex;
373 	da_FMOD_Studio_EventInstance_TriggerCue FMOD_Studio_EventInstance_TriggerCue;
374 	da_FMOD_Studio_EventInstance_SetCallback FMOD_Studio_EventInstance_SetCallback;
375 	da_FMOD_Studio_EventInstance_GetUserData FMOD_Studio_EventInstance_GetUserData;
376 	da_FMOD_Studio_EventInstance_SetUserData FMOD_Studio_EventInstance_SetUserData;
377 	
378 	/*
379 	ParameterInstance
380 */
381 	da_FMOD_Studio_ParameterInstance_IsValid FMOD_Studio_ParameterInstance_IsValid;
382 	da_FMOD_Studio_ParameterInstance_GetDescription FMOD_Studio_ParameterInstance_GetDescription;
383 	da_FMOD_Studio_ParameterInstance_GetValue FMOD_Studio_ParameterInstance_GetValue;
384 	da_FMOD_Studio_ParameterInstance_SetValue FMOD_Studio_ParameterInstance_SetValue;
385 	
386 	/*
387 	Bus
388 */
389 	da_FMOD_Studio_Bus_IsValid FMOD_Studio_Bus_IsValid;
390 	da_FMOD_Studio_Bus_GetID FMOD_Studio_Bus_GetID;
391 	da_FMOD_Studio_Bus_GetPath FMOD_Studio_Bus_GetPath;
392 	da_FMOD_Studio_Bus_GetVolume FMOD_Studio_Bus_GetVolume;
393 	da_FMOD_Studio_Bus_SetVolume FMOD_Studio_Bus_SetVolume;
394 	da_FMOD_Studio_Bus_GetPaused FMOD_Studio_Bus_GetPaused;
395 	da_FMOD_Studio_Bus_SetPaused FMOD_Studio_Bus_SetPaused;
396 	da_FMOD_Studio_Bus_GetMute FMOD_Studio_Bus_GetMute;
397 	da_FMOD_Studio_Bus_SetMute FMOD_Studio_Bus_SetMute;
398 	da_FMOD_Studio_Bus_StopAllEvents FMOD_Studio_Bus_StopAllEvents;
399 	da_FMOD_Studio_Bus_LockChannelGroup FMOD_Studio_Bus_LockChannelGroup;
400 	da_FMOD_Studio_Bus_UnlockChannelGroup FMOD_Studio_Bus_UnlockChannelGroup;
401 	da_FMOD_Studio_Bus_GetChannelGroup FMOD_Studio_Bus_GetChannelGroup;
402 	
403 	/*
404 	VCA
405 */
406 	da_FMOD_Studio_VCA_IsValid FMOD_Studio_VCA_IsValid;
407 	da_FMOD_Studio_VCA_GetID FMOD_Studio_VCA_GetID;
408 	da_FMOD_Studio_VCA_GetPath FMOD_Studio_VCA_GetPath;
409 	da_FMOD_Studio_VCA_GetVolume FMOD_Studio_VCA_GetVolume;
410 	da_FMOD_Studio_VCA_SetVolume FMOD_Studio_VCA_SetVolume;
411 	
412 	/*
413 	Bank
414 */
415 	da_FMOD_Studio_Bank_IsValid FMOD_Studio_Bank_IsValid;
416 	da_FMOD_Studio_Bank_GetID FMOD_Studio_Bank_GetID;
417 	da_FMOD_Studio_Bank_GetPath FMOD_Studio_Bank_GetPath;
418 	da_FMOD_Studio_Bank_Unload FMOD_Studio_Bank_Unload;
419 	da_FMOD_Studio_Bank_LoadSampleData FMOD_Studio_Bank_LoadSampleData;
420 	da_FMOD_Studio_Bank_UnloadSampleData FMOD_Studio_Bank_UnloadSampleData;
421 	da_FMOD_Studio_Bank_GetLoadingState FMOD_Studio_Bank_GetLoadingState;
422 	da_FMOD_Studio_Bank_GetSampleLoadingState FMOD_Studio_Bank_GetSampleLoadingState;
423 	da_FMOD_Studio_Bank_GetStringCount FMOD_Studio_Bank_GetStringCount;
424 	da_FMOD_Studio_Bank_GetStringInfo FMOD_Studio_Bank_GetStringInfo;
425 	da_FMOD_Studio_Bank_GetEventCount FMOD_Studio_Bank_GetEventCount;
426 	da_FMOD_Studio_Bank_GetEventList FMOD_Studio_Bank_GetEventList;
427 	da_FMOD_Studio_Bank_GetBusCount FMOD_Studio_Bank_GetBusCount;
428 	da_FMOD_Studio_Bank_GetBusList FMOD_Studio_Bank_GetBusList;
429 	da_FMOD_Studio_Bank_GetVCACount FMOD_Studio_Bank_GetVCACount;
430 	da_FMOD_Studio_Bank_GetVCAList FMOD_Studio_Bank_GetVCAList;
431 	da_FMOD_Studio_Bank_GetUserData FMOD_Studio_Bank_GetUserData;
432 	da_FMOD_Studio_Bank_SetUserData FMOD_Studio_Bank_SetUserData;
433 	
434 	/*
435 	Command playback information
436 */
437 	da_FMOD_Studio_CommandReplay_IsValid FMOD_Studio_CommandReplay_IsValid;
438 	da_FMOD_Studio_CommandReplay_GetSystem FMOD_Studio_CommandReplay_GetSystem;
439 	da_FMOD_Studio_CommandReplay_GetLength FMOD_Studio_CommandReplay_GetLength;
440 	da_FMOD_Studio_CommandReplay_GetCommandCount FMOD_Studio_CommandReplay_GetCommandCount;
441 	da_FMOD_Studio_CommandReplay_GetCommandInfo FMOD_Studio_CommandReplay_GetCommandInfo;
442 	da_FMOD_Studio_CommandReplay_GetCommandString FMOD_Studio_CommandReplay_GetCommandString;
443 	da_FMOD_Studio_CommandReplay_GetCommandAtTime FMOD_Studio_CommandReplay_GetCommandAtTime;
444 	da_FMOD_Studio_CommandReplay_SetBankPath FMOD_Studio_CommandReplay_SetBankPath;
445 	da_FMOD_Studio_CommandReplay_Start FMOD_Studio_CommandReplay_Start;
446 	da_FMOD_Studio_CommandReplay_Stop FMOD_Studio_CommandReplay_Stop;
447 	da_FMOD_Studio_CommandReplay_SeekToTime FMOD_Studio_CommandReplay_SeekToTime;
448 	da_FMOD_Studio_CommandReplay_SeekToCommand FMOD_Studio_CommandReplay_SeekToCommand;
449 	da_FMOD_Studio_CommandReplay_GetPaused FMOD_Studio_CommandReplay_GetPaused;
450 	da_FMOD_Studio_CommandReplay_SetPaused FMOD_Studio_CommandReplay_SetPaused;
451 	da_FMOD_Studio_CommandReplay_GetPlaybackState FMOD_Studio_CommandReplay_GetPlaybackState;
452 	da_FMOD_Studio_CommandReplay_GetCurrentCommand FMOD_Studio_CommandReplay_GetCurrentCommand;
453 	da_FMOD_Studio_CommandReplay_Release FMOD_Studio_CommandReplay_Release;
454 	da_FMOD_Studio_CommandReplay_SetFrameCallback FMOD_Studio_CommandReplay_SetFrameCallback;
455 	da_FMOD_Studio_CommandReplay_SetLoadBankCallback FMOD_Studio_CommandReplay_SetLoadBankCallback;
456 	da_FMOD_Studio_CommandReplay_SetCreateInstanceCallback FMOD_Studio_CommandReplay_SetCreateInstanceCallback;
457 	da_FMOD_Studio_CommandReplay_GetUserData FMOD_Studio_CommandReplay_GetUserData;
458 	da_FMOD_Studio_CommandReplay_SetUserData FMOD_Studio_CommandReplay_SetUserData;
459 }
460 
461 
462   
463