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 | ||
