@@ -58,7 +58,7 @@ typedef unsigned long long FMOD_PORT_INDEX;
58
58
/*
59
59
FMOD constants
60
60
*/
61
- #define FMOD_VERSION 0x00020008 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/
61
+ #define FMOD_VERSION 0x00020105 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/
62
62
63
63
typedef unsigned int FMOD_DEBUG_FLAGS ;
64
64
#define FMOD_DEBUG_LEVEL_NONE 0x00000000
@@ -169,7 +169,6 @@ typedef unsigned int FMOD_CHANNELMASK;
169
169
#define FMOD_CHANNELMASK_BACK_LEFT 0x00000040
170
170
#define FMOD_CHANNELMASK_BACK_RIGHT 0x00000080
171
171
#define FMOD_CHANNELMASK_BACK_CENTER 0x00000100
172
-
173
172
#define FMOD_CHANNELMASK_MONO (FMOD_CHANNELMASK_FRONT_LEFT)
174
173
#define FMOD_CHANNELMASK_STEREO (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT)
175
174
#define FMOD_CHANNELMASK_LRC (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER)
@@ -180,6 +179,89 @@ typedef unsigned int FMOD_CHANNELMASK;
180
179
#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)
181
180
#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)
182
181
182
+ typedef int FMOD_THREAD_PRIORITY ;
183
+ /* Platform specific priority range */
184
+ #define FMOD_THREAD_PRIORITY_PLATFORM_MIN (-32 * 1024)
185
+ #define FMOD_THREAD_PRIORITY_PLATFORM_MAX ( 32 * 1024)
186
+ /* Platform agnostic priorities, maps internally to platform specific value */
187
+ #define FMOD_THREAD_PRIORITY_DEFAULT (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 1)
188
+ #define FMOD_THREAD_PRIORITY_LOW (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 2)
189
+ #define FMOD_THREAD_PRIORITY_MEDIUM (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 3)
190
+ #define FMOD_THREAD_PRIORITY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 4)
191
+ #define FMOD_THREAD_PRIORITY_VERY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 5)
192
+ #define FMOD_THREAD_PRIORITY_EXTREME (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 6)
193
+ #define FMOD_THREAD_PRIORITY_CRITICAL (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 7)
194
+ /* Thread defaults */
195
+ #define FMOD_THREAD_PRIORITY_MIXER FMOD_THREAD_PRIORITY_EXTREME
196
+ #define FMOD_THREAD_PRIORITY_FEEDER FMOD_THREAD_PRIORITY_CRITICAL
197
+ #define FMOD_THREAD_PRIORITY_STREAM FMOD_THREAD_PRIORITY_VERY_HIGH
198
+ #define FMOD_THREAD_PRIORITY_FILE FMOD_THREAD_PRIORITY_HIGH
199
+ #define FMOD_THREAD_PRIORITY_NONBLOCKING FMOD_THREAD_PRIORITY_HIGH
200
+ #define FMOD_THREAD_PRIORITY_RECORD FMOD_THREAD_PRIORITY_HIGH
201
+ #define FMOD_THREAD_PRIORITY_GEOMETRY FMOD_THREAD_PRIORITY_LOW
202
+ #define FMOD_THREAD_PRIORITY_PROFILER FMOD_THREAD_PRIORITY_MEDIUM
203
+ #define FMOD_THREAD_PRIORITY_STUDIO_UPDATE FMOD_THREAD_PRIORITY_MEDIUM
204
+ #define FMOD_THREAD_PRIORITY_STUDIO_LOAD_BANK FMOD_THREAD_PRIORITY_MEDIUM
205
+ #define FMOD_THREAD_PRIORITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_PRIORITY_MEDIUM
206
+ #define FMOD_THREAD_PRIORITY_CONVOLUTION1 FMOD_THREAD_PRIORITY_VERY_HIGH
207
+ #define FMOD_THREAD_PRIORITY_CONVOLUTION2 FMOD_THREAD_PRIORITY_VERY_HIGH
208
+
209
+ typedef unsigned int FMOD_THREAD_STACK_SIZE ;
210
+ #define FMOD_THREAD_STACK_SIZE_DEFAULT 0
211
+ #define FMOD_THREAD_STACK_SIZE_MIXER (80 * 1024)
212
+ #define FMOD_THREAD_STACK_SIZE_FEEDER (16 * 1024)
213
+ #define FMOD_THREAD_STACK_SIZE_STREAM (96 * 1024)
214
+ #define FMOD_THREAD_STACK_SIZE_FILE (48 * 1024)
215
+ #define FMOD_THREAD_STACK_SIZE_NONBLOCKING (112 * 1024)
216
+ #define FMOD_THREAD_STACK_SIZE_RECORD (16 * 1024)
217
+ #define FMOD_THREAD_STACK_SIZE_GEOMETRY (48 * 1024)
218
+ #define FMOD_THREAD_STACK_SIZE_PROFILER (128 * 1024)
219
+ #define FMOD_THREAD_STACK_SIZE_STUDIO_UPDATE (96 * 1024)
220
+ #define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_BANK (96 * 1024)
221
+ #define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_SAMPLE (96 * 1024)
222
+ #define FMOD_THREAD_STACK_SIZE_CONVOLUTION1 (16 * 1024)
223
+ #define FMOD_THREAD_STACK_SIZE_CONVOLUTION2 (16 * 1024)
224
+
225
+ typedef unsigned long long FMOD_THREAD_AFFINITY ;
226
+ /* Platform agnostic thread groupings */
227
+ #define FMOD_THREAD_AFFINITY_GROUP_DEFAULT 0x8000000000000000
228
+ #define FMOD_THREAD_AFFINITY_GROUP_A 0x8000000000000001
229
+ #define FMOD_THREAD_AFFINITY_GROUP_B 0x8000000000000002
230
+ #define FMOD_THREAD_AFFINITY_GROUP_C 0x8000000000000003
231
+ /* Thread defaults */
232
+ #define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A
233
+ #define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C
234
+ #define FMOD_THREAD_AFFINITY_STREAM FMOD_THREAD_AFFINITY_GROUP_C
235
+ #define FMOD_THREAD_AFFINITY_FILE FMOD_THREAD_AFFINITY_GROUP_C
236
+ #define FMOD_THREAD_AFFINITY_NONBLOCKING FMOD_THREAD_AFFINITY_GROUP_C
237
+ #define FMOD_THREAD_AFFINITY_RECORD FMOD_THREAD_AFFINITY_GROUP_C
238
+ #define FMOD_THREAD_AFFINITY_GEOMETRY FMOD_THREAD_AFFINITY_GROUP_C
239
+ #define FMOD_THREAD_AFFINITY_PROFILER FMOD_THREAD_AFFINITY_GROUP_C
240
+ #define FMOD_THREAD_AFFINITY_STUDIO_UPDATE FMOD_THREAD_AFFINITY_GROUP_B
241
+ #define FMOD_THREAD_AFFINITY_STUDIO_LOAD_BANK FMOD_THREAD_AFFINITY_GROUP_C
242
+ #define FMOD_THREAD_AFFINITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_AFFINITY_GROUP_C
243
+ #define FMOD_THREAD_AFFINITY_CONVOLUTION1 FMOD_THREAD_AFFINITY_GROUP_C
244
+ #define FMOD_THREAD_AFFINITY_CONVOLUTION2 FMOD_THREAD_AFFINITY_GROUP_C
245
+
246
+ /* Core mask, valid up to 1 << 62 */
247
+ #define FMOD_THREAD_AFFINITY_CORE_ALL 0
248
+ #define FMOD_THREAD_AFFINITY_CORE_0 (1 << 0)
249
+ #define FMOD_THREAD_AFFINITY_CORE_1 (1 << 1)
250
+ #define FMOD_THREAD_AFFINITY_CORE_2 (1 << 2)
251
+ #define FMOD_THREAD_AFFINITY_CORE_3 (1 << 3)
252
+ #define FMOD_THREAD_AFFINITY_CORE_4 (1 << 4)
253
+ #define FMOD_THREAD_AFFINITY_CORE_5 (1 << 5)
254
+ #define FMOD_THREAD_AFFINITY_CORE_6 (1 << 6)
255
+ #define FMOD_THREAD_AFFINITY_CORE_7 (1 << 7)
256
+ #define FMOD_THREAD_AFFINITY_CORE_8 (1 << 8)
257
+ #define FMOD_THREAD_AFFINITY_CORE_9 (1 << 9)
258
+ #define FMOD_THREAD_AFFINITY_CORE_10 (1 << 10)
259
+ #define FMOD_THREAD_AFFINITY_CORE_11 (1 << 11)
260
+ #define FMOD_THREAD_AFFINITY_CORE_12 (1 << 12)
261
+ #define FMOD_THREAD_AFFINITY_CORE_13 (1 << 13)
262
+ #define FMOD_THREAD_AFFINITY_CORE_14 (1 << 14)
263
+ #define FMOD_THREAD_AFFINITY_CORE_15 (1 << 15)
264
+
183
265
/* Preset for FMOD_REVERB_PROPERTIES */
184
266
#define FMOD_PRESET_OFF { 1000, 7, 11, 5000, 100, 100, 100, 250, 0, 20, 96, -80.0f }
185
267
#define FMOD_PRESET_GENERIC { 1500, 7, 11, 5000, 83, 100, 100, 250, 0, 14500, 96, -8.0f }
@@ -212,6 +294,26 @@ typedef unsigned int FMOD_CHANNELMASK;
212
294
#define FMOD_REVERB_MAXINSTANCES 4
213
295
#define FMOD_PORT_INDEX_NONE 0xFFFFFFFFFFFFFFFF
214
296
297
+ typedef enum FMOD_THREAD_TYPE
298
+ {
299
+ FMOD_THREAD_TYPE_MIXER ,
300
+ FMOD_THREAD_TYPE_FEEDER ,
301
+ FMOD_THREAD_TYPE_STREAM ,
302
+ FMOD_THREAD_TYPE_FILE ,
303
+ FMOD_THREAD_TYPE_NONBLOCKING ,
304
+ FMOD_THREAD_TYPE_RECORD ,
305
+ FMOD_THREAD_TYPE_GEOMETRY ,
306
+ FMOD_THREAD_TYPE_PROFILER ,
307
+ FMOD_THREAD_TYPE_STUDIO_UPDATE ,
308
+ FMOD_THREAD_TYPE_STUDIO_LOAD_BANK ,
309
+ FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE ,
310
+ FMOD_THREAD_TYPE_CONVOLUTION1 ,
311
+ FMOD_THREAD_TYPE_CONVOLUTION2 ,
312
+
313
+ FMOD_THREAD_TYPE_MAX ,
314
+ FMOD_THREAD_TYPE_FORCEINT = 65536
315
+ } FMOD_THREAD_TYPE ;
316
+
215
317
typedef enum FMOD_RESULT
216
318
{
217
319
FMOD_OK ,
@@ -659,12 +761,9 @@ typedef struct FMOD_ADVANCEDSETTINGS
659
761
float distanceFilterCenterFreq ;
660
762
int reverb3Dinstance ;
661
763
int DSPBufferPoolSize ;
662
- unsigned int stackSizeStream ;
663
- unsigned int stackSizeNonBlocking ;
664
- unsigned int stackSizeMixer ;
665
764
FMOD_DSP_RESAMPLER resamplerMethod ;
666
- unsigned int commandQueueSize ;
667
765
unsigned int randomSeed ;
766
+ int maxConvolutionThreads ;
668
767
} FMOD_ADVANCEDSETTINGS ;
669
768
670
769
typedef struct FMOD_TAG
0 commit comments