diff options
Diffstat (limited to 'vendor/fmod/inc/fmod_common.h')
-rw-r--r-- | vendor/fmod/inc/fmod_common.h | 880 |
1 files changed, 880 insertions, 0 deletions
diff --git a/vendor/fmod/inc/fmod_common.h b/vendor/fmod/inc/fmod_common.h new file mode 100644 index 0000000..a938bb0 --- /dev/null +++ b/vendor/fmod/inc/fmod_common.h | |||
@@ -0,0 +1,880 @@ | |||
1 | /* ======================================================================================== */ | ||
2 | /* FMOD Core API - Common C/C++ header file. */ | ||
3 | /* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2021. */ | ||
4 | /* */ | ||
5 | /* This header is included by fmod.hpp (C++ interface) and fmod.h (C interface) */ | ||
6 | /* */ | ||
7 | /* For more detail visit: */ | ||
8 | /* https://fmod.com/resources/documentation-api?version=2.0&page=core-api-common.html */ | ||
9 | /* ======================================================================================== */ | ||
10 | #ifndef _FMOD_COMMON_H | ||
11 | #define _FMOD_COMMON_H | ||
12 | |||
13 | /* | ||
14 | Library import helpers | ||
15 | */ | ||
16 | #if defined(_WIN32) || defined(__CYGWIN__) | ||
17 | #define F_CALL __stdcall | ||
18 | #else | ||
19 | #define F_CALL | ||
20 | #endif | ||
21 | |||
22 | #if defined(_WIN32) || defined(__CYGWIN__) || defined(__ORBIS__) || defined(F_USE_DECLSPEC) | ||
23 | #define F_EXPORT __declspec(dllexport) | ||
24 | #elif defined(__APPLE__) || defined(__ANDROID__) || defined(__linux__) || defined(F_USE_ATTRIBUTE) | ||
25 | #define F_EXPORT __attribute__((visibility("default"))) | ||
26 | #else | ||
27 | #define F_EXPORT | ||
28 | #endif | ||
29 | |||
30 | #ifdef DLL_EXPORTS | ||
31 | #define F_API F_EXPORT F_CALL | ||
32 | #else | ||
33 | #define F_API F_CALL | ||
34 | #endif | ||
35 | |||
36 | #define F_CALLBACK F_CALL | ||
37 | |||
38 | /* | ||
39 | FMOD core types | ||
40 | */ | ||
41 | typedef int FMOD_BOOL; | ||
42 | typedef struct FMOD_SYSTEM FMOD_SYSTEM; | ||
43 | typedef struct FMOD_SOUND FMOD_SOUND; | ||
44 | typedef struct FMOD_CHANNELCONTROL FMOD_CHANNELCONTROL; | ||
45 | typedef struct FMOD_CHANNEL FMOD_CHANNEL; | ||
46 | typedef struct FMOD_CHANNELGROUP FMOD_CHANNELGROUP; | ||
47 | typedef struct FMOD_SOUNDGROUP FMOD_SOUNDGROUP; | ||
48 | typedef struct FMOD_REVERB3D FMOD_REVERB3D; | ||
49 | typedef struct FMOD_DSP FMOD_DSP; | ||
50 | typedef struct FMOD_DSPCONNECTION FMOD_DSPCONNECTION; | ||
51 | typedef struct FMOD_POLYGON FMOD_POLYGON; | ||
52 | typedef struct FMOD_GEOMETRY FMOD_GEOMETRY; | ||
53 | typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT; | ||
54 | typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO; | ||
55 | typedef unsigned long long FMOD_PORT_INDEX; | ||
56 | |||
57 | /* | ||
58 | FMOD constants | ||
59 | */ | ||
60 | #define FMOD_VERSION 0x00020205 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/ | ||
61 | |||
62 | typedef unsigned int FMOD_DEBUG_FLAGS; | ||
63 | #define FMOD_DEBUG_LEVEL_NONE 0x00000000 | ||
64 | #define FMOD_DEBUG_LEVEL_ERROR 0x00000001 | ||
65 | #define FMOD_DEBUG_LEVEL_WARNING 0x00000002 | ||
66 | #define FMOD_DEBUG_LEVEL_LOG 0x00000004 | ||
67 | #define FMOD_DEBUG_TYPE_MEMORY 0x00000100 | ||
68 | #define FMOD_DEBUG_TYPE_FILE 0x00000200 | ||
69 | #define FMOD_DEBUG_TYPE_CODEC 0x00000400 | ||
70 | #define FMOD_DEBUG_TYPE_TRACE 0x00000800 | ||
71 | #define FMOD_DEBUG_DISPLAY_TIMESTAMPS 0x00010000 | ||
72 | #define FMOD_DEBUG_DISPLAY_LINENUMBERS 0x00020000 | ||
73 | #define FMOD_DEBUG_DISPLAY_THREAD 0x00040000 | ||
74 | |||
75 | typedef unsigned int FMOD_MEMORY_TYPE; | ||
76 | #define FMOD_MEMORY_NORMAL 0x00000000 | ||
77 | #define FMOD_MEMORY_STREAM_FILE 0x00000001 | ||
78 | #define FMOD_MEMORY_STREAM_DECODE 0x00000002 | ||
79 | #define FMOD_MEMORY_SAMPLEDATA 0x00000004 | ||
80 | #define FMOD_MEMORY_DSP_BUFFER 0x00000008 | ||
81 | #define FMOD_MEMORY_PLUGIN 0x00000010 | ||
82 | #define FMOD_MEMORY_PERSISTENT 0x00200000 | ||
83 | #define FMOD_MEMORY_ALL 0xFFFFFFFF | ||
84 | |||
85 | typedef unsigned int FMOD_INITFLAGS; | ||
86 | #define FMOD_INIT_NORMAL 0x00000000 | ||
87 | #define FMOD_INIT_STREAM_FROM_UPDATE 0x00000001 | ||
88 | #define FMOD_INIT_MIX_FROM_UPDATE 0x00000002 | ||
89 | #define FMOD_INIT_3D_RIGHTHANDED 0x00000004 | ||
90 | #define FMOD_INIT_CHANNEL_LOWPASS 0x00000100 | ||
91 | #define FMOD_INIT_CHANNEL_DISTANCEFILTER 0x00000200 | ||
92 | #define FMOD_INIT_PROFILE_ENABLE 0x00010000 | ||
93 | #define FMOD_INIT_VOL0_BECOMES_VIRTUAL 0x00020000 | ||
94 | #define FMOD_INIT_GEOMETRY_USECLOSEST 0x00040000 | ||
95 | #define FMOD_INIT_PREFER_DOLBY_DOWNMIX 0x00080000 | ||
96 | #define FMOD_INIT_THREAD_UNSAFE 0x00100000 | ||
97 | #define FMOD_INIT_PROFILE_METER_ALL 0x00200000 | ||
98 | #define FMOD_INIT_MEMORY_TRACKING 0x00400000 | ||
99 | |||
100 | typedef unsigned int FMOD_DRIVER_STATE; | ||
101 | #define FMOD_DRIVER_STATE_CONNECTED 0x00000001 | ||
102 | #define FMOD_DRIVER_STATE_DEFAULT 0x00000002 | ||
103 | |||
104 | typedef unsigned int FMOD_TIMEUNIT; | ||
105 | #define FMOD_TIMEUNIT_MS 0x00000001 | ||
106 | #define FMOD_TIMEUNIT_PCM 0x00000002 | ||
107 | #define FMOD_TIMEUNIT_PCMBYTES 0x00000004 | ||
108 | #define FMOD_TIMEUNIT_RAWBYTES 0x00000008 | ||
109 | #define FMOD_TIMEUNIT_PCMFRACTION 0x00000010 | ||
110 | #define FMOD_TIMEUNIT_MODORDER 0x00000100 | ||
111 | #define FMOD_TIMEUNIT_MODROW 0x00000200 | ||
112 | #define FMOD_TIMEUNIT_MODPATTERN 0x00000400 | ||
113 | |||
114 | typedef unsigned int FMOD_SYSTEM_CALLBACK_TYPE; | ||
115 | #define FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED 0x00000001 | ||
116 | #define FMOD_SYSTEM_CALLBACK_DEVICELOST 0x00000002 | ||
117 | #define FMOD_SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED 0x00000004 | ||
118 | #define FMOD_SYSTEM_CALLBACK_THREADCREATED 0x00000008 | ||
119 | #define FMOD_SYSTEM_CALLBACK_BADDSPCONNECTION 0x00000010 | ||
120 | #define FMOD_SYSTEM_CALLBACK_PREMIX 0x00000020 | ||
121 | #define FMOD_SYSTEM_CALLBACK_POSTMIX 0x00000040 | ||
122 | #define FMOD_SYSTEM_CALLBACK_ERROR 0x00000080 | ||
123 | #define FMOD_SYSTEM_CALLBACK_MIDMIX 0x00000100 | ||
124 | #define FMOD_SYSTEM_CALLBACK_THREADDESTROYED 0x00000200 | ||
125 | #define FMOD_SYSTEM_CALLBACK_PREUPDATE 0x00000400 | ||
126 | #define FMOD_SYSTEM_CALLBACK_POSTUPDATE 0x00000800 | ||
127 | #define FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED 0x00001000 | ||
128 | #define FMOD_SYSTEM_CALLBACK_BUFFEREDNOMIX 0x00002000 | ||
129 | #define FMOD_SYSTEM_CALLBACK_DEVICEREINITIALIZE 0x00004000 | ||
130 | #define FMOD_SYSTEM_CALLBACK_OUTPUTUNDERRUN 0x00008000 | ||
131 | #define FMOD_SYSTEM_CALLBACK_ALL 0xFFFFFFFF | ||
132 | |||
133 | typedef unsigned int FMOD_MODE; | ||
134 | #define FMOD_DEFAULT 0x00000000 | ||
135 | #define FMOD_LOOP_OFF 0x00000001 | ||
136 | #define FMOD_LOOP_NORMAL 0x00000002 | ||
137 | #define FMOD_LOOP_BIDI 0x00000004 | ||
138 | #define FMOD_2D 0x00000008 | ||
139 | #define FMOD_3D 0x00000010 | ||
140 | #define FMOD_CREATESTREAM 0x00000080 | ||
141 | #define FMOD_CREATESAMPLE 0x00000100 | ||
142 | #define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200 | ||
143 | #define FMOD_OPENUSER 0x00000400 | ||
144 | #define FMOD_OPENMEMORY 0x00000800 | ||
145 | #define FMOD_OPENMEMORY_POINT 0x10000000 | ||
146 | #define FMOD_OPENRAW 0x00001000 | ||
147 | #define FMOD_OPENONLY 0x00002000 | ||
148 | #define FMOD_ACCURATETIME 0x00004000 | ||
149 | #define FMOD_MPEGSEARCH 0x00008000 | ||
150 | #define FMOD_NONBLOCKING 0x00010000 | ||
151 | #define FMOD_UNIQUE 0x00020000 | ||
152 | #define FMOD_3D_HEADRELATIVE 0x00040000 | ||
153 | #define FMOD_3D_WORLDRELATIVE 0x00080000 | ||
154 | #define FMOD_3D_INVERSEROLLOFF 0x00100000 | ||
155 | #define FMOD_3D_LINEARROLLOFF 0x00200000 | ||
156 | #define FMOD_3D_LINEARSQUAREROLLOFF 0x00400000 | ||
157 | #define FMOD_3D_INVERSETAPEREDROLLOFF 0x00800000 | ||
158 | #define FMOD_3D_CUSTOMROLLOFF 0x04000000 | ||
159 | #define FMOD_3D_IGNOREGEOMETRY 0x40000000 | ||
160 | #define FMOD_IGNORETAGS 0x02000000 | ||
161 | #define FMOD_LOWMEM 0x08000000 | ||
162 | #define FMOD_VIRTUAL_PLAYFROMSTART 0x80000000 | ||
163 | |||
164 | typedef unsigned int FMOD_CHANNELMASK; | ||
165 | #define FMOD_CHANNELMASK_FRONT_LEFT 0x00000001 | ||
166 | #define FMOD_CHANNELMASK_FRONT_RIGHT 0x00000002 | ||
167 | #define FMOD_CHANNELMASK_FRONT_CENTER 0x00000004 | ||
168 | #define FMOD_CHANNELMASK_LOW_FREQUENCY 0x00000008 | ||
169 | #define FMOD_CHANNELMASK_SURROUND_LEFT 0x00000010 | ||
170 | #define FMOD_CHANNELMASK_SURROUND_RIGHT 0x00000020 | ||
171 | #define FMOD_CHANNELMASK_BACK_LEFT 0x00000040 | ||
172 | #define FMOD_CHANNELMASK_BACK_RIGHT 0x00000080 | ||
173 | #define FMOD_CHANNELMASK_BACK_CENTER 0x00000100 | ||
174 | #define FMOD_CHANNELMASK_MONO (FMOD_CHANNELMASK_FRONT_LEFT) | ||
175 | #define FMOD_CHANNELMASK_STEREO (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT) | ||
176 | #define FMOD_CHANNELMASK_LRC (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER) | ||
177 | #define FMOD_CHANNELMASK_QUAD (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) | ||
178 | #define FMOD_CHANNELMASK_SURROUND (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) | ||
179 | #define FMOD_CHANNELMASK_5POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) | ||
180 | #define FMOD_CHANNELMASK_5POINT1_REARS (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) | ||
181 | #define FMOD_CHANNELMASK_7POINT0 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) | ||
182 | #define FMOD_CHANNELMASK_7POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) | ||
183 | |||
184 | typedef int FMOD_THREAD_PRIORITY; | ||
185 | /* Platform specific priority range */ | ||
186 | #define FMOD_THREAD_PRIORITY_PLATFORM_MIN (-32 * 1024) | ||
187 | #define FMOD_THREAD_PRIORITY_PLATFORM_MAX ( 32 * 1024) | ||
188 | /* Platform agnostic priorities, maps internally to platform specific value */ | ||
189 | #define FMOD_THREAD_PRIORITY_DEFAULT (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 1) | ||
190 | #define FMOD_THREAD_PRIORITY_LOW (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 2) | ||
191 | #define FMOD_THREAD_PRIORITY_MEDIUM (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 3) | ||
192 | #define FMOD_THREAD_PRIORITY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 4) | ||
193 | #define FMOD_THREAD_PRIORITY_VERY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 5) | ||
194 | #define FMOD_THREAD_PRIORITY_EXTREME (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 6) | ||
195 | #define FMOD_THREAD_PRIORITY_CRITICAL (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 7) | ||
196 | /* Thread defaults */ | ||
197 | #define FMOD_THREAD_PRIORITY_MIXER FMOD_THREAD_PRIORITY_EXTREME | ||
198 | #define FMOD_THREAD_PRIORITY_FEEDER FMOD_THREAD_PRIORITY_CRITICAL | ||
199 | #define FMOD_THREAD_PRIORITY_STREAM FMOD_THREAD_PRIORITY_VERY_HIGH | ||
200 | #define FMOD_THREAD_PRIORITY_FILE FMOD_THREAD_PRIORITY_HIGH | ||
201 | #define FMOD_THREAD_PRIORITY_NONBLOCKING FMOD_THREAD_PRIORITY_HIGH | ||
202 | #define FMOD_THREAD_PRIORITY_RECORD FMOD_THREAD_PRIORITY_HIGH | ||
203 | #define FMOD_THREAD_PRIORITY_GEOMETRY FMOD_THREAD_PRIORITY_LOW | ||
204 | #define FMOD_THREAD_PRIORITY_PROFILER FMOD_THREAD_PRIORITY_MEDIUM | ||
205 | #define FMOD_THREAD_PRIORITY_STUDIO_UPDATE FMOD_THREAD_PRIORITY_MEDIUM | ||
206 | #define FMOD_THREAD_PRIORITY_STUDIO_LOAD_BANK FMOD_THREAD_PRIORITY_MEDIUM | ||
207 | #define FMOD_THREAD_PRIORITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_PRIORITY_MEDIUM | ||
208 | #define FMOD_THREAD_PRIORITY_CONVOLUTION1 FMOD_THREAD_PRIORITY_VERY_HIGH | ||
209 | #define FMOD_THREAD_PRIORITY_CONVOLUTION2 FMOD_THREAD_PRIORITY_VERY_HIGH | ||
210 | |||
211 | typedef unsigned int FMOD_THREAD_STACK_SIZE; | ||
212 | #define FMOD_THREAD_STACK_SIZE_DEFAULT 0 | ||
213 | #define FMOD_THREAD_STACK_SIZE_MIXER (80 * 1024) | ||
214 | #define FMOD_THREAD_STACK_SIZE_FEEDER (16 * 1024) | ||
215 | #define FMOD_THREAD_STACK_SIZE_STREAM (96 * 1024) | ||
216 | #define FMOD_THREAD_STACK_SIZE_FILE (64 * 1024) | ||
217 | #define FMOD_THREAD_STACK_SIZE_NONBLOCKING (112 * 1024) | ||
218 | #define FMOD_THREAD_STACK_SIZE_RECORD (16 * 1024) | ||
219 | #define FMOD_THREAD_STACK_SIZE_GEOMETRY (48 * 1024) | ||
220 | #define FMOD_THREAD_STACK_SIZE_PROFILER (128 * 1024) | ||
221 | #define FMOD_THREAD_STACK_SIZE_STUDIO_UPDATE (96 * 1024) | ||
222 | #define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_BANK (96 * 1024) | ||
223 | #define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_SAMPLE (96 * 1024) | ||
224 | #define FMOD_THREAD_STACK_SIZE_CONVOLUTION1 (16 * 1024) | ||
225 | #define FMOD_THREAD_STACK_SIZE_CONVOLUTION2 (16 * 1024) | ||
226 | |||
227 | typedef long long FMOD_THREAD_AFFINITY; | ||
228 | /* Platform agnostic thread groupings */ | ||
229 | #define FMOD_THREAD_AFFINITY_GROUP_DEFAULT 0x4000000000000000 | ||
230 | #define FMOD_THREAD_AFFINITY_GROUP_A 0x4000000000000001 | ||
231 | #define FMOD_THREAD_AFFINITY_GROUP_B 0x4000000000000002 | ||
232 | #define FMOD_THREAD_AFFINITY_GROUP_C 0x4000000000000003 | ||
233 | /* Thread defaults */ | ||
234 | #define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A | ||
235 | #define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C | ||
236 | #define FMOD_THREAD_AFFINITY_STREAM FMOD_THREAD_AFFINITY_GROUP_C | ||
237 | #define FMOD_THREAD_AFFINITY_FILE FMOD_THREAD_AFFINITY_GROUP_C | ||
238 | #define FMOD_THREAD_AFFINITY_NONBLOCKING FMOD_THREAD_AFFINITY_GROUP_C | ||
239 | #define FMOD_THREAD_AFFINITY_RECORD FMOD_THREAD_AFFINITY_GROUP_C | ||
240 | #define FMOD_THREAD_AFFINITY_GEOMETRY FMOD_THREAD_AFFINITY_GROUP_C | ||
241 | #define FMOD_THREAD_AFFINITY_PROFILER FMOD_THREAD_AFFINITY_GROUP_C | ||
242 | #define FMOD_THREAD_AFFINITY_STUDIO_UPDATE FMOD_THREAD_AFFINITY_GROUP_B | ||
243 | #define FMOD_THREAD_AFFINITY_STUDIO_LOAD_BANK FMOD_THREAD_AFFINITY_GROUP_C | ||
244 | #define FMOD_THREAD_AFFINITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_AFFINITY_GROUP_C | ||
245 | #define FMOD_THREAD_AFFINITY_CONVOLUTION1 FMOD_THREAD_AFFINITY_GROUP_C | ||
246 | #define FMOD_THREAD_AFFINITY_CONVOLUTION2 FMOD_THREAD_AFFINITY_GROUP_C | ||
247 | |||
248 | /* Core mask, valid up to 1 << 62 */ | ||
249 | #define FMOD_THREAD_AFFINITY_CORE_ALL 0 | ||
250 | #define FMOD_THREAD_AFFINITY_CORE_0 (1 << 0) | ||
251 | #define FMOD_THREAD_AFFINITY_CORE_1 (1 << 1) | ||
252 | #define FMOD_THREAD_AFFINITY_CORE_2 (1 << 2) | ||
253 | #define FMOD_THREAD_AFFINITY_CORE_3 (1 << 3) | ||
254 | #define FMOD_THREAD_AFFINITY_CORE_4 (1 << 4) | ||
255 | #define FMOD_THREAD_AFFINITY_CORE_5 (1 << 5) | ||
256 | #define FMOD_THREAD_AFFINITY_CORE_6 (1 << 6) | ||
257 | #define FMOD_THREAD_AFFINITY_CORE_7 (1 << 7) | ||
258 | #define FMOD_THREAD_AFFINITY_CORE_8 (1 << 8) | ||
259 | #define FMOD_THREAD_AFFINITY_CORE_9 (1 << 9) | ||
260 | #define FMOD_THREAD_AFFINITY_CORE_10 (1 << 10) | ||
261 | #define FMOD_THREAD_AFFINITY_CORE_11 (1 << 11) | ||
262 | #define FMOD_THREAD_AFFINITY_CORE_12 (1 << 12) | ||
263 | #define FMOD_THREAD_AFFINITY_CORE_13 (1 << 13) | ||
264 | #define FMOD_THREAD_AFFINITY_CORE_14 (1 << 14) | ||
265 | #define FMOD_THREAD_AFFINITY_CORE_15 (1 << 15) | ||
266 | |||
267 | /* Preset for FMOD_REVERB_PROPERTIES */ | ||
268 | #define FMOD_PRESET_OFF { 1000, 7, 11, 5000, 100, 100, 100, 250, 0, 20, 96, -80.0f } | ||
269 | #define FMOD_PRESET_GENERIC { 1500, 7, 11, 5000, 83, 100, 100, 250, 0, 14500, 96, -8.0f } | ||
270 | #define FMOD_PRESET_PADDEDCELL { 170, 1, 2, 5000, 10, 100, 100, 250, 0, 160, 84, -7.8f } | ||
271 | #define FMOD_PRESET_ROOM { 400, 2, 3, 5000, 83, 100, 100, 250, 0, 6050, 88, -9.4f } | ||
272 | #define FMOD_PRESET_BATHROOM { 1500, 7, 11, 5000, 54, 100, 60, 250, 0, 2900, 83, 0.5f } | ||
273 | #define FMOD_PRESET_LIVINGROOM { 500, 3, 4, 5000, 10, 100, 100, 250, 0, 160, 58, -19.0f } | ||
274 | #define FMOD_PRESET_STONEROOM { 2300, 12, 17, 5000, 64, 100, 100, 250, 0, 7800, 71, -8.5f } | ||
275 | #define FMOD_PRESET_AUDITORIUM { 4300, 20, 30, 5000, 59, 100, 100, 250, 0, 5850, 64, -11.7f } | ||
276 | #define FMOD_PRESET_CONCERTHALL { 3900, 20, 29, 5000, 70, 100, 100, 250, 0, 5650, 80, -9.8f } | ||
277 | #define FMOD_PRESET_CAVE { 2900, 15, 22, 5000, 100, 100, 100, 250, 0, 20000, 59, -11.3f } | ||
278 | #define FMOD_PRESET_ARENA { 7200, 20, 30, 5000, 33, 100, 100, 250, 0, 4500, 80, -9.6f } | ||
279 | #define FMOD_PRESET_HANGAR { 10000, 20, 30, 5000, 23, 100, 100, 250, 0, 3400, 72, -7.4f } | ||
280 | #define FMOD_PRESET_CARPETTEDHALLWAY { 300, 2, 30, 5000, 10, 100, 100, 250, 0, 500, 56, -24.0f } | ||
281 | #define FMOD_PRESET_HALLWAY { 1500, 7, 11, 5000, 59, 100, 100, 250, 0, 7800, 87, -5.5f } | ||
282 | #define FMOD_PRESET_STONECORRIDOR { 270, 13, 20, 5000, 79, 100, 100, 250, 0, 9000, 86, -6.0f } | ||
283 | #define FMOD_PRESET_ALLEY { 1500, 7, 11, 5000, 86, 100, 100, 250, 0, 8300, 80, -9.8f } | ||
284 | #define FMOD_PRESET_FOREST { 1500, 162, 88, 5000, 54, 79, 100, 250, 0, 760, 94, -12.3f } | ||
285 | #define FMOD_PRESET_CITY { 1500, 7, 11, 5000, 67, 50, 100, 250, 0, 4050, 66, -26.0f } | ||
286 | #define FMOD_PRESET_MOUNTAINS { 1500, 300, 100, 5000, 21, 27, 100, 250, 0, 1220, 82, -24.0f } | ||
287 | #define FMOD_PRESET_QUARRY { 1500, 61, 25, 5000, 83, 100, 100, 250, 0, 3400, 100, -5.0f } | ||
288 | #define FMOD_PRESET_PLAIN { 1500, 179, 100, 5000, 50, 21, 100, 250, 0, 1670, 65, -28.0f } | ||
289 | #define FMOD_PRESET_PARKINGLOT { 1700, 8, 12, 5000, 100, 100, 100, 250, 0, 20000, 56, -19.5f } | ||
290 | #define FMOD_PRESET_SEWERPIPE { 2800, 14, 21, 5000, 14, 80, 60, 250, 0, 3400, 66, 1.2f } | ||
291 | #define FMOD_PRESET_UNDERWATER { 1500, 7, 11, 5000, 10, 100, 100, 250, 0, 500, 92, 7.0f } | ||
292 | |||
293 | #define FMOD_MAX_CHANNEL_WIDTH 32 | ||
294 | #define FMOD_MAX_SYSTEMS 8 | ||
295 | #define FMOD_MAX_LISTENERS 8 | ||
296 | #define FMOD_REVERB_MAXINSTANCES 4 | ||
297 | #define FMOD_PORT_INDEX_NONE 0xFFFFFFFFFFFFFFFF | ||
298 | |||
299 | typedef enum FMOD_THREAD_TYPE | ||
300 | { | ||
301 | FMOD_THREAD_TYPE_MIXER, | ||
302 | FMOD_THREAD_TYPE_FEEDER, | ||
303 | FMOD_THREAD_TYPE_STREAM, | ||
304 | FMOD_THREAD_TYPE_FILE, | ||
305 | FMOD_THREAD_TYPE_NONBLOCKING, | ||
306 | FMOD_THREAD_TYPE_RECORD, | ||
307 | FMOD_THREAD_TYPE_GEOMETRY, | ||
308 | FMOD_THREAD_TYPE_PROFILER, | ||
309 | FMOD_THREAD_TYPE_STUDIO_UPDATE, | ||
310 | FMOD_THREAD_TYPE_STUDIO_LOAD_BANK, | ||
311 | FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE, | ||
312 | FMOD_THREAD_TYPE_CONVOLUTION1, | ||
313 | FMOD_THREAD_TYPE_CONVOLUTION2, | ||
314 | |||
315 | FMOD_THREAD_TYPE_MAX, | ||
316 | FMOD_THREAD_TYPE_FORCEINT = 65536 | ||
317 | } FMOD_THREAD_TYPE; | ||
318 | |||
319 | typedef enum FMOD_RESULT | ||
320 | { | ||
321 | FMOD_OK, | ||
322 | FMOD_ERR_BADCOMMAND, | ||
323 | FMOD_ERR_CHANNEL_ALLOC, | ||
324 | FMOD_ERR_CHANNEL_STOLEN, | ||
325 | FMOD_ERR_DMA, | ||
326 | FMOD_ERR_DSP_CONNECTION, | ||
327 | FMOD_ERR_DSP_DONTPROCESS, | ||
328 | FMOD_ERR_DSP_FORMAT, | ||
329 | FMOD_ERR_DSP_INUSE, | ||
330 | FMOD_ERR_DSP_NOTFOUND, | ||
331 | FMOD_ERR_DSP_RESERVED, | ||
332 | FMOD_ERR_DSP_SILENCE, | ||
333 | FMOD_ERR_DSP_TYPE, | ||
334 | FMOD_ERR_FILE_BAD, | ||
335 | FMOD_ERR_FILE_COULDNOTSEEK, | ||
336 | FMOD_ERR_FILE_DISKEJECTED, | ||
337 | FMOD_ERR_FILE_EOF, | ||
338 | FMOD_ERR_FILE_ENDOFDATA, | ||
339 | FMOD_ERR_FILE_NOTFOUND, | ||
340 | FMOD_ERR_FORMAT, | ||
341 | FMOD_ERR_HEADER_MISMATCH, | ||
342 | FMOD_ERR_HTTP, | ||
343 | FMOD_ERR_HTTP_ACCESS, | ||
344 | FMOD_ERR_HTTP_PROXY_AUTH, | ||
345 | FMOD_ERR_HTTP_SERVER_ERROR, | ||
346 | FMOD_ERR_HTTP_TIMEOUT, | ||
347 | FMOD_ERR_INITIALIZATION, | ||
348 | FMOD_ERR_INITIALIZED, | ||
349 | FMOD_ERR_INTERNAL, | ||
350 | FMOD_ERR_INVALID_FLOAT, | ||
351 | FMOD_ERR_INVALID_HANDLE, | ||
352 | FMOD_ERR_INVALID_PARAM, | ||
353 | FMOD_ERR_INVALID_POSITION, | ||
354 | FMOD_ERR_INVALID_SPEAKER, | ||
355 | FMOD_ERR_INVALID_SYNCPOINT, | ||
356 | FMOD_ERR_INVALID_THREAD, | ||
357 | FMOD_ERR_INVALID_VECTOR, | ||
358 | FMOD_ERR_MAXAUDIBLE, | ||
359 | FMOD_ERR_MEMORY, | ||
360 | FMOD_ERR_MEMORY_CANTPOINT, | ||
361 | FMOD_ERR_NEEDS3D, | ||
362 | FMOD_ERR_NEEDSHARDWARE, | ||
363 | FMOD_ERR_NET_CONNECT, | ||
364 | FMOD_ERR_NET_SOCKET_ERROR, | ||
365 | FMOD_ERR_NET_URL, | ||
366 | FMOD_ERR_NET_WOULD_BLOCK, | ||
367 | FMOD_ERR_NOTREADY, | ||
368 | FMOD_ERR_OUTPUT_ALLOCATED, | ||
369 | FMOD_ERR_OUTPUT_CREATEBUFFER, | ||
370 | FMOD_ERR_OUTPUT_DRIVERCALL, | ||
371 | FMOD_ERR_OUTPUT_FORMAT, | ||
372 | FMOD_ERR_OUTPUT_INIT, | ||
373 | FMOD_ERR_OUTPUT_NODRIVERS, | ||
374 | FMOD_ERR_PLUGIN, | ||
375 | FMOD_ERR_PLUGIN_MISSING, | ||
376 | FMOD_ERR_PLUGIN_RESOURCE, | ||
377 | FMOD_ERR_PLUGIN_VERSION, | ||
378 | FMOD_ERR_RECORD, | ||
379 | FMOD_ERR_REVERB_CHANNELGROUP, | ||
380 | FMOD_ERR_REVERB_INSTANCE, | ||
381 | FMOD_ERR_SUBSOUNDS, | ||
382 | FMOD_ERR_SUBSOUND_ALLOCATED, | ||
383 | FMOD_ERR_SUBSOUND_CANTMOVE, | ||
384 | FMOD_ERR_TAGNOTFOUND, | ||
385 | FMOD_ERR_TOOMANYCHANNELS, | ||
386 | FMOD_ERR_TRUNCATED, | ||
387 | FMOD_ERR_UNIMPLEMENTED, | ||
388 | FMOD_ERR_UNINITIALIZED, | ||
389 | FMOD_ERR_UNSUPPORTED, | ||
390 | FMOD_ERR_VERSION, | ||
391 | FMOD_ERR_EVENT_ALREADY_LOADED, | ||
392 | FMOD_ERR_EVENT_LIVEUPDATE_BUSY, | ||
393 | FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH, | ||
394 | FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT, | ||
395 | FMOD_ERR_EVENT_NOTFOUND, | ||
396 | FMOD_ERR_STUDIO_UNINITIALIZED, | ||
397 | FMOD_ERR_STUDIO_NOT_LOADED, | ||
398 | FMOD_ERR_INVALID_STRING, | ||
399 | FMOD_ERR_ALREADY_LOCKED, | ||
400 | FMOD_ERR_NOT_LOCKED, | ||
401 | FMOD_ERR_RECORD_DISCONNECTED, | ||
402 | FMOD_ERR_TOOMANYSAMPLES, | ||
403 | |||
404 | FMOD_RESULT_FORCEINT = 65536 | ||
405 | } FMOD_RESULT; | ||
406 | |||
407 | typedef enum FMOD_CHANNELCONTROL_TYPE | ||
408 | { | ||
409 | FMOD_CHANNELCONTROL_CHANNEL, | ||
410 | FMOD_CHANNELCONTROL_CHANNELGROUP, | ||
411 | |||
412 | FMOD_CHANNELCONTROL_MAX, | ||
413 | FMOD_CHANNELCONTROL_FORCEINT = 65536 | ||
414 | } FMOD_CHANNELCONTROL_TYPE; | ||
415 | |||
416 | typedef enum FMOD_OUTPUTTYPE | ||
417 | { | ||
418 | FMOD_OUTPUTTYPE_AUTODETECT, | ||
419 | FMOD_OUTPUTTYPE_UNKNOWN, | ||
420 | FMOD_OUTPUTTYPE_NOSOUND, | ||
421 | FMOD_OUTPUTTYPE_WAVWRITER, | ||
422 | FMOD_OUTPUTTYPE_NOSOUND_NRT, | ||
423 | FMOD_OUTPUTTYPE_WAVWRITER_NRT, | ||
424 | FMOD_OUTPUTTYPE_WASAPI, | ||
425 | FMOD_OUTPUTTYPE_ASIO, | ||
426 | FMOD_OUTPUTTYPE_PULSEAUDIO, | ||
427 | FMOD_OUTPUTTYPE_ALSA, | ||
428 | FMOD_OUTPUTTYPE_COREAUDIO, | ||
429 | FMOD_OUTPUTTYPE_AUDIOTRACK, | ||
430 | FMOD_OUTPUTTYPE_OPENSL, | ||
431 | FMOD_OUTPUTTYPE_AUDIOOUT, | ||
432 | FMOD_OUTPUTTYPE_AUDIO3D, | ||
433 | FMOD_OUTPUTTYPE_WEBAUDIO, | ||
434 | FMOD_OUTPUTTYPE_NNAUDIO, | ||
435 | FMOD_OUTPUTTYPE_WINSONIC, | ||
436 | FMOD_OUTPUTTYPE_AAUDIO, | ||
437 | FMOD_OUTPUTTYPE_AUDIOWORKLET, | ||
438 | |||
439 | FMOD_OUTPUTTYPE_MAX, | ||
440 | FMOD_OUTPUTTYPE_FORCEINT = 65536 | ||
441 | } FMOD_OUTPUTTYPE; | ||
442 | |||
443 | typedef enum FMOD_DEBUG_MODE | ||
444 | { | ||
445 | FMOD_DEBUG_MODE_TTY, | ||
446 | FMOD_DEBUG_MODE_FILE, | ||
447 | FMOD_DEBUG_MODE_CALLBACK, | ||
448 | |||
449 | FMOD_DEBUG_MODE_FORCEINT = 65536 | ||
450 | } FMOD_DEBUG_MODE; | ||
451 | |||
452 | typedef enum FMOD_SPEAKERMODE | ||
453 | { | ||
454 | FMOD_SPEAKERMODE_DEFAULT, | ||
455 | FMOD_SPEAKERMODE_RAW, | ||
456 | FMOD_SPEAKERMODE_MONO, | ||
457 | FMOD_SPEAKERMODE_STEREO, | ||
458 | FMOD_SPEAKERMODE_QUAD, | ||
459 | FMOD_SPEAKERMODE_SURROUND, | ||
460 | FMOD_SPEAKERMODE_5POINT1, | ||
461 | FMOD_SPEAKERMODE_7POINT1, | ||
462 | FMOD_SPEAKERMODE_7POINT1POINT4, | ||
463 | |||
464 | FMOD_SPEAKERMODE_MAX, | ||
465 | FMOD_SPEAKERMODE_FORCEINT = 65536 | ||
466 | } FMOD_SPEAKERMODE; | ||
467 | |||
468 | typedef enum FMOD_SPEAKER | ||
469 | { | ||
470 | FMOD_SPEAKER_NONE = -1, | ||
471 | FMOD_SPEAKER_FRONT_LEFT = 0, | ||
472 | FMOD_SPEAKER_FRONT_RIGHT, | ||
473 | FMOD_SPEAKER_FRONT_CENTER, | ||
474 | FMOD_SPEAKER_LOW_FREQUENCY, | ||
475 | FMOD_SPEAKER_SURROUND_LEFT, | ||
476 | FMOD_SPEAKER_SURROUND_RIGHT, | ||
477 | FMOD_SPEAKER_BACK_LEFT, | ||
478 | FMOD_SPEAKER_BACK_RIGHT, | ||
479 | FMOD_SPEAKER_TOP_FRONT_LEFT, | ||
480 | FMOD_SPEAKER_TOP_FRONT_RIGHT, | ||
481 | FMOD_SPEAKER_TOP_BACK_LEFT, | ||
482 | FMOD_SPEAKER_TOP_BACK_RIGHT, | ||
483 | |||
484 | FMOD_SPEAKER_MAX, | ||
485 | FMOD_SPEAKER_FORCEINT = 65536 | ||
486 | } FMOD_SPEAKER; | ||
487 | |||
488 | typedef enum FMOD_CHANNELORDER | ||
489 | { | ||
490 | FMOD_CHANNELORDER_DEFAULT, | ||
491 | FMOD_CHANNELORDER_WAVEFORMAT, | ||
492 | FMOD_CHANNELORDER_PROTOOLS, | ||
493 | FMOD_CHANNELORDER_ALLMONO, | ||
494 | FMOD_CHANNELORDER_ALLSTEREO, | ||
495 | FMOD_CHANNELORDER_ALSA, | ||
496 | |||
497 | FMOD_CHANNELORDER_MAX, | ||
498 | FMOD_CHANNELORDER_FORCEINT = 65536 | ||
499 | } FMOD_CHANNELORDER; | ||
500 | |||
501 | typedef enum FMOD_PLUGINTYPE | ||
502 | { | ||
503 | FMOD_PLUGINTYPE_OUTPUT, | ||
504 | FMOD_PLUGINTYPE_CODEC, | ||
505 | FMOD_PLUGINTYPE_DSP, | ||
506 | |||
507 | FMOD_PLUGINTYPE_MAX, | ||
508 | FMOD_PLUGINTYPE_FORCEINT = 65536 | ||
509 | } FMOD_PLUGINTYPE; | ||
510 | |||
511 | typedef enum FMOD_SOUND_TYPE | ||
512 | { | ||
513 | FMOD_SOUND_TYPE_UNKNOWN, | ||
514 | FMOD_SOUND_TYPE_AIFF, | ||
515 | FMOD_SOUND_TYPE_ASF, | ||
516 | FMOD_SOUND_TYPE_DLS, | ||
517 | FMOD_SOUND_TYPE_FLAC, | ||
518 | FMOD_SOUND_TYPE_FSB, | ||
519 | FMOD_SOUND_TYPE_IT, | ||
520 | FMOD_SOUND_TYPE_MIDI, | ||
521 | FMOD_SOUND_TYPE_MOD, | ||
522 | FMOD_SOUND_TYPE_MPEG, | ||
523 | FMOD_SOUND_TYPE_OGGVORBIS, | ||
524 | FMOD_SOUND_TYPE_PLAYLIST, | ||
525 | FMOD_SOUND_TYPE_RAW, | ||
526 | FMOD_SOUND_TYPE_S3M, | ||
527 | FMOD_SOUND_TYPE_USER, | ||
528 | FMOD_SOUND_TYPE_WAV, | ||
529 | FMOD_SOUND_TYPE_XM, | ||
530 | FMOD_SOUND_TYPE_XMA, | ||
531 | FMOD_SOUND_TYPE_AUDIOQUEUE, | ||
532 | FMOD_SOUND_TYPE_AT9, | ||
533 | FMOD_SOUND_TYPE_VORBIS, | ||
534 | FMOD_SOUND_TYPE_MEDIA_FOUNDATION, | ||
535 | FMOD_SOUND_TYPE_MEDIACODEC, | ||
536 | FMOD_SOUND_TYPE_FADPCM, | ||
537 | FMOD_SOUND_TYPE_OPUS, | ||
538 | |||
539 | FMOD_SOUND_TYPE_MAX, | ||
540 | FMOD_SOUND_TYPE_FORCEINT = 65536 | ||
541 | } FMOD_SOUND_TYPE; | ||
542 | |||
543 | typedef enum FMOD_SOUND_FORMAT | ||
544 | { | ||
545 | FMOD_SOUND_FORMAT_NONE, | ||
546 | FMOD_SOUND_FORMAT_PCM8, | ||
547 | FMOD_SOUND_FORMAT_PCM16, | ||
548 | FMOD_SOUND_FORMAT_PCM24, | ||
549 | FMOD_SOUND_FORMAT_PCM32, | ||
550 | FMOD_SOUND_FORMAT_PCMFLOAT, | ||
551 | FMOD_SOUND_FORMAT_BITSTREAM, | ||
552 | |||
553 | FMOD_SOUND_FORMAT_MAX, | ||
554 | FMOD_SOUND_FORMAT_FORCEINT = 65536 | ||
555 | } FMOD_SOUND_FORMAT; | ||
556 | |||
557 | typedef enum FMOD_OPENSTATE | ||
558 | { | ||
559 | FMOD_OPENSTATE_READY, | ||
560 | FMOD_OPENSTATE_LOADING, | ||
561 | FMOD_OPENSTATE_ERROR, | ||
562 | FMOD_OPENSTATE_CONNECTING, | ||
563 | FMOD_OPENSTATE_BUFFERING, | ||
564 | FMOD_OPENSTATE_SEEKING, | ||
565 | FMOD_OPENSTATE_PLAYING, | ||
566 | FMOD_OPENSTATE_SETPOSITION, | ||
567 | |||
568 | FMOD_OPENSTATE_MAX, | ||
569 | FMOD_OPENSTATE_FORCEINT = 65536 | ||
570 | } FMOD_OPENSTATE; | ||
571 | |||
572 | typedef enum FMOD_SOUNDGROUP_BEHAVIOR | ||
573 | { | ||
574 | FMOD_SOUNDGROUP_BEHAVIOR_FAIL, | ||
575 | FMOD_SOUNDGROUP_BEHAVIOR_MUTE, | ||
576 | FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST, | ||
577 | |||
578 | FMOD_SOUNDGROUP_BEHAVIOR_MAX, | ||
579 | FMOD_SOUNDGROUP_BEHAVIOR_FORCEINT = 65536 | ||
580 | } FMOD_SOUNDGROUP_BEHAVIOR; | ||
581 | |||
582 | typedef enum FMOD_CHANNELCONTROL_CALLBACK_TYPE | ||
583 | { | ||
584 | FMOD_CHANNELCONTROL_CALLBACK_END, | ||
585 | FMOD_CHANNELCONTROL_CALLBACK_VIRTUALVOICE, | ||
586 | FMOD_CHANNELCONTROL_CALLBACK_SYNCPOINT, | ||
587 | FMOD_CHANNELCONTROL_CALLBACK_OCCLUSION, | ||
588 | |||
589 | FMOD_CHANNELCONTROL_CALLBACK_MAX, | ||
590 | FMOD_CHANNELCONTROL_CALLBACK_FORCEINT = 65536 | ||
591 | } FMOD_CHANNELCONTROL_CALLBACK_TYPE; | ||
592 | |||
593 | typedef enum FMOD_CHANNELCONTROL_DSP_INDEX | ||
594 | { | ||
595 | FMOD_CHANNELCONTROL_DSP_HEAD = -1, | ||
596 | FMOD_CHANNELCONTROL_DSP_FADER = -2, | ||
597 | FMOD_CHANNELCONTROL_DSP_TAIL = -3, | ||
598 | |||
599 | FMOD_CHANNELCONTROL_DSP_FORCEINT = 65536 | ||
600 | } FMOD_CHANNELCONTROL_DSP_INDEX; | ||
601 | |||
602 | typedef enum FMOD_ERRORCALLBACK_INSTANCETYPE | ||
603 | { | ||
604 | FMOD_ERRORCALLBACK_INSTANCETYPE_NONE, | ||
605 | FMOD_ERRORCALLBACK_INSTANCETYPE_SYSTEM, | ||
606 | FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNEL, | ||
607 | FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNELGROUP, | ||
608 | FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNELCONTROL, | ||
609 | FMOD_ERRORCALLBACK_INSTANCETYPE_SOUND, | ||
610 | FMOD_ERRORCALLBACK_INSTANCETYPE_SOUNDGROUP, | ||
611 | FMOD_ERRORCALLBACK_INSTANCETYPE_DSP, | ||
612 | FMOD_ERRORCALLBACK_INSTANCETYPE_DSPCONNECTION, | ||
613 | FMOD_ERRORCALLBACK_INSTANCETYPE_GEOMETRY, | ||
614 | FMOD_ERRORCALLBACK_INSTANCETYPE_REVERB3D, | ||
615 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_SYSTEM, | ||
616 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTDESCRIPTION, | ||
617 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTINSTANCE, | ||
618 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_PARAMETERINSTANCE, | ||
619 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_BUS, | ||
620 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_VCA, | ||
621 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_BANK, | ||
622 | FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_COMMANDREPLAY, | ||
623 | |||
624 | FMOD_ERRORCALLBACK_INSTANCETYPE_FORCEINT = 65536 | ||
625 | } FMOD_ERRORCALLBACK_INSTANCETYPE; | ||
626 | |||
627 | typedef enum FMOD_DSP_RESAMPLER | ||
628 | { | ||
629 | FMOD_DSP_RESAMPLER_DEFAULT, | ||
630 | FMOD_DSP_RESAMPLER_NOINTERP, | ||
631 | FMOD_DSP_RESAMPLER_LINEAR, | ||
632 | FMOD_DSP_RESAMPLER_CUBIC, | ||
633 | FMOD_DSP_RESAMPLER_SPLINE, | ||
634 | |||
635 | FMOD_DSP_RESAMPLER_MAX, | ||
636 | FMOD_DSP_RESAMPLER_FORCEINT = 65536 | ||
637 | } FMOD_DSP_RESAMPLER; | ||
638 | |||
639 | typedef enum FMOD_DSPCONNECTION_TYPE | ||
640 | { | ||
641 | FMOD_DSPCONNECTION_TYPE_STANDARD, | ||
642 | FMOD_DSPCONNECTION_TYPE_SIDECHAIN, | ||
643 | FMOD_DSPCONNECTION_TYPE_SEND, | ||
644 | FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN, | ||
645 | |||
646 | FMOD_DSPCONNECTION_TYPE_MAX, | ||
647 | FMOD_DSPCONNECTION_TYPE_FORCEINT = 65536 | ||
648 | } FMOD_DSPCONNECTION_TYPE; | ||
649 | |||
650 | typedef enum FMOD_TAGTYPE | ||
651 | { | ||
652 | FMOD_TAGTYPE_UNKNOWN, | ||
653 | FMOD_TAGTYPE_ID3V1, | ||
654 | FMOD_TAGTYPE_ID3V2, | ||
655 | FMOD_TAGTYPE_VORBISCOMMENT, | ||
656 | FMOD_TAGTYPE_SHOUTCAST, | ||
657 | FMOD_TAGTYPE_ICECAST, | ||
658 | FMOD_TAGTYPE_ASF, | ||
659 | FMOD_TAGTYPE_MIDI, | ||
660 | FMOD_TAGTYPE_PLAYLIST, | ||
661 | FMOD_TAGTYPE_FMOD, | ||
662 | FMOD_TAGTYPE_USER, | ||
663 | |||
664 | FMOD_TAGTYPE_MAX, | ||
665 | FMOD_TAGTYPE_FORCEINT = 65536 | ||
666 | } FMOD_TAGTYPE; | ||
667 | |||
668 | typedef enum FMOD_TAGDATATYPE | ||
669 | { | ||
670 | FMOD_TAGDATATYPE_BINARY, | ||
671 | FMOD_TAGDATATYPE_INT, | ||
672 | FMOD_TAGDATATYPE_FLOAT, | ||
673 | FMOD_TAGDATATYPE_STRING, | ||
674 | FMOD_TAGDATATYPE_STRING_UTF16, | ||
675 | FMOD_TAGDATATYPE_STRING_UTF16BE, | ||
676 | FMOD_TAGDATATYPE_STRING_UTF8, | ||
677 | |||
678 | FMOD_TAGDATATYPE_MAX, | ||
679 | FMOD_TAGDATATYPE_FORCEINT = 65536 | ||
680 | } FMOD_TAGDATATYPE; | ||
681 | |||
682 | typedef enum FMOD_PORT_TYPE | ||
683 | { | ||
684 | FMOD_PORT_TYPE_MUSIC, | ||
685 | FMOD_PORT_TYPE_COPYRIGHT_MUSIC, | ||
686 | FMOD_PORT_TYPE_VOICE, | ||
687 | FMOD_PORT_TYPE_CONTROLLER, | ||
688 | FMOD_PORT_TYPE_PERSONAL, | ||
689 | FMOD_PORT_TYPE_VIBRATION, | ||
690 | FMOD_PORT_TYPE_AUX, | ||
691 | |||
692 | FMOD_PORT_TYPE_MAX, | ||
693 | FMOD_PORT_TYPE_FORCEINT = 65536 | ||
694 | } FMOD_PORT_TYPE; | ||
695 | |||
696 | /* | ||
697 | FMOD callbacks | ||
698 | */ | ||
699 | typedef FMOD_RESULT (F_CALL *FMOD_DEBUG_CALLBACK) (FMOD_DEBUG_FLAGS flags, const char *file, int line, const char* func, const char* message); | ||
700 | typedef FMOD_RESULT (F_CALL *FMOD_SYSTEM_CALLBACK) (FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void* commanddata2, void *userdata); | ||
701 | typedef FMOD_RESULT (F_CALL *FMOD_CHANNELCONTROL_CALLBACK) (FMOD_CHANNELCONTROL *channelcontrol, FMOD_CHANNELCONTROL_TYPE controltype, FMOD_CHANNELCONTROL_CALLBACK_TYPE callbacktype, void *commanddata1, void *commanddata2); | ||
702 | typedef FMOD_RESULT (F_CALL *FMOD_SOUND_NONBLOCK_CALLBACK) (FMOD_SOUND *sound, FMOD_RESULT result); | ||
703 | typedef FMOD_RESULT (F_CALL *FMOD_SOUND_PCMREAD_CALLBACK) (FMOD_SOUND *sound, void *data, unsigned int datalen); | ||
704 | typedef FMOD_RESULT (F_CALL *FMOD_SOUND_PCMSETPOS_CALLBACK) (FMOD_SOUND *sound, int subsound, unsigned int position, FMOD_TIMEUNIT postype); | ||
705 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_OPEN_CALLBACK) (const char *name, unsigned int *filesize, void **handle, void *userdata); | ||
706 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_CLOSE_CALLBACK) (void *handle, void *userdata); | ||
707 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_READ_CALLBACK) (void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void *userdata); | ||
708 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_SEEK_CALLBACK) (void *handle, unsigned int pos, void *userdata); | ||
709 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_ASYNCREAD_CALLBACK) (FMOD_ASYNCREADINFO *info, void *userdata); | ||
710 | typedef FMOD_RESULT (F_CALL *FMOD_FILE_ASYNCCANCEL_CALLBACK)(FMOD_ASYNCREADINFO *info, void *userdata); | ||
711 | typedef void (F_CALL *FMOD_FILE_ASYNCDONE_FUNC) (FMOD_ASYNCREADINFO *info, FMOD_RESULT result); | ||
712 | typedef void* (F_CALL *FMOD_MEMORY_ALLOC_CALLBACK) (unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); | ||
713 | typedef void* (F_CALL *FMOD_MEMORY_REALLOC_CALLBACK) (void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); | ||
714 | typedef void (F_CALL *FMOD_MEMORY_FREE_CALLBACK) (void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr); | ||
715 | typedef float (F_CALL *FMOD_3D_ROLLOFF_CALLBACK) (FMOD_CHANNELCONTROL *channelcontrol, float distance); | ||
716 | |||
717 | /* | ||
718 | FMOD structs | ||
719 | */ | ||
720 | struct FMOD_ASYNCREADINFO | ||
721 | { | ||
722 | void *handle; | ||
723 | unsigned int offset; | ||
724 | unsigned int sizebytes; | ||
725 | int priority; | ||
726 | void *userdata; | ||
727 | void *buffer; | ||
728 | unsigned int bytesread; | ||
729 | FMOD_FILE_ASYNCDONE_FUNC done; | ||
730 | }; | ||
731 | |||
732 | typedef struct FMOD_VECTOR | ||
733 | { | ||
734 | float x; | ||
735 | float y; | ||
736 | float z; | ||
737 | } FMOD_VECTOR; | ||
738 | |||
739 | typedef struct FMOD_3D_ATTRIBUTES | ||
740 | { | ||
741 | FMOD_VECTOR position; | ||
742 | FMOD_VECTOR velocity; | ||
743 | FMOD_VECTOR forward; | ||
744 | FMOD_VECTOR up; | ||
745 | } FMOD_3D_ATTRIBUTES; | ||
746 | |||
747 | typedef struct FMOD_GUID | ||
748 | { | ||
749 | unsigned int Data1; | ||
750 | unsigned short Data2; | ||
751 | unsigned short Data3; | ||
752 | unsigned char Data4[8]; | ||
753 | } FMOD_GUID; | ||
754 | |||
755 | typedef struct FMOD_PLUGINLIST | ||
756 | { | ||
757 | FMOD_PLUGINTYPE type; | ||
758 | void *description; | ||
759 | } FMOD_PLUGINLIST; | ||
760 | |||
761 | typedef struct FMOD_ADVANCEDSETTINGS | ||
762 | { | ||
763 | int cbSize; | ||
764 | int maxMPEGCodecs; | ||
765 | int maxADPCMCodecs; | ||
766 | int maxXMACodecs; | ||
767 | int maxVorbisCodecs; | ||
768 | int maxAT9Codecs; | ||
769 | int maxFADPCMCodecs; | ||
770 | int maxPCMCodecs; | ||
771 | int ASIONumChannels; | ||
772 | char **ASIOChannelList; | ||
773 | FMOD_SPEAKER *ASIOSpeakerList; | ||
774 | float vol0virtualvol; | ||
775 | unsigned int defaultDecodeBufferSize; | ||
776 | unsigned short profilePort; | ||
777 | unsigned int geometryMaxFadeTime; | ||
778 | float distanceFilterCenterFreq; | ||
779 | int reverb3Dinstance; | ||
780 | int DSPBufferPoolSize; | ||
781 | FMOD_DSP_RESAMPLER resamplerMethod; | ||
782 | unsigned int randomSeed; | ||
783 | int maxConvolutionThreads; | ||
784 | int maxOpusCodecs; | ||
785 | } FMOD_ADVANCEDSETTINGS; | ||
786 | |||
787 | typedef struct FMOD_TAG | ||
788 | { | ||
789 | FMOD_TAGTYPE type; | ||
790 | FMOD_TAGDATATYPE datatype; | ||
791 | char *name; | ||
792 | void *data; | ||
793 | unsigned int datalen; | ||
794 | FMOD_BOOL updated; | ||
795 | } FMOD_TAG; | ||
796 | |||
797 | typedef struct FMOD_CREATESOUNDEXINFO | ||
798 | { | ||
799 | int cbsize; | ||
800 | unsigned int length; | ||
801 | unsigned int fileoffset; | ||
802 | int numchannels; | ||
803 | int defaultfrequency; | ||
804 | FMOD_SOUND_FORMAT format; | ||
805 | unsigned int decodebuffersize; | ||
806 | int initialsubsound; | ||
807 | int numsubsounds; | ||
808 | int *inclusionlist; | ||
809 | int inclusionlistnum; | ||
810 | FMOD_SOUND_PCMREAD_CALLBACK pcmreadcallback; | ||
811 | FMOD_SOUND_PCMSETPOS_CALLBACK pcmsetposcallback; | ||
812 | FMOD_SOUND_NONBLOCK_CALLBACK nonblockcallback; | ||
813 | const char *dlsname; | ||
814 | const char *encryptionkey; | ||
815 | int maxpolyphony; | ||
816 | void *userdata; | ||
817 | FMOD_SOUND_TYPE suggestedsoundtype; | ||
818 | FMOD_FILE_OPEN_CALLBACK fileuseropen; | ||
819 | FMOD_FILE_CLOSE_CALLBACK fileuserclose; | ||
820 | FMOD_FILE_READ_CALLBACK fileuserread; | ||
821 | FMOD_FILE_SEEK_CALLBACK fileuserseek; | ||
822 | FMOD_FILE_ASYNCREAD_CALLBACK fileuserasyncread; | ||
823 | FMOD_FILE_ASYNCCANCEL_CALLBACK fileuserasynccancel; | ||
824 | void *fileuserdata; | ||
825 | int filebuffersize; | ||
826 | FMOD_CHANNELORDER channelorder; | ||
827 | FMOD_SOUNDGROUP *initialsoundgroup; | ||
828 | unsigned int initialseekposition; | ||
829 | FMOD_TIMEUNIT initialseekpostype; | ||
830 | int ignoresetfilesystem; | ||
831 | unsigned int audioqueuepolicy; | ||
832 | unsigned int minmidigranularity; | ||
833 | int nonblockthreadid; | ||
834 | FMOD_GUID *fsbguid; | ||
835 | } FMOD_CREATESOUNDEXINFO; | ||
836 | |||
837 | typedef struct FMOD_REVERB_PROPERTIES | ||
838 | { | ||
839 | float DecayTime; | ||
840 | float EarlyDelay; | ||
841 | float LateDelay; | ||
842 | float HFReference; | ||
843 | float HFDecayRatio; | ||
844 | float Diffusion; | ||
845 | float Density; | ||
846 | float LowShelfFrequency; | ||
847 | float LowShelfGain; | ||
848 | float HighCut; | ||
849 | float EarlyLateMix; | ||
850 | float WetLevel; | ||
851 | } FMOD_REVERB_PROPERTIES; | ||
852 | |||
853 | typedef struct FMOD_ERRORCALLBACK_INFO | ||
854 | { | ||
855 | FMOD_RESULT result; | ||
856 | FMOD_ERRORCALLBACK_INSTANCETYPE instancetype; | ||
857 | void *instance; | ||
858 | const char *functionname; | ||
859 | const char *functionparams; | ||
860 | } FMOD_ERRORCALLBACK_INFO; | ||
861 | |||
862 | typedef struct FMOD_CPU_USAGE | ||
863 | { | ||
864 | float dsp; | ||
865 | float stream; | ||
866 | float geometry; | ||
867 | float update; | ||
868 | float convolution1; | ||
869 | float convolution2; | ||
870 | } FMOD_CPU_USAGE; | ||
871 | |||
872 | |||
873 | /* | ||
874 | FMOD optional headers for plugin development | ||
875 | */ | ||
876 | #include "fmod_codec.h" | ||
877 | #include "fmod_dsp.h" | ||
878 | #include "fmod_output.h" | ||
879 | |||
880 | #endif | ||