fmod_dsp_effects.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  1. /* ============================================================================================================= */
  2. /* FMOD Core API - Built-in effects header file. */
  3. /* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
  4. /* */
  5. /* In this header you can find parameter structures for FMOD system registered DSP effects */
  6. /* and generators. */
  7. /* */
  8. /* For more detail visit: */
  9. /* https://fmod.com/docs/2.03/api/core-api-common-dsp-effects.html#fmod_dsp_type */
  10. /* ============================================================================================================= */
  11. #ifndef _FMOD_DSP_EFFECTS_H
  12. #define _FMOD_DSP_EFFECTS_H
  13. typedef enum
  14. {
  15. FMOD_DSP_TYPE_UNKNOWN,
  16. FMOD_DSP_TYPE_MIXER,
  17. FMOD_DSP_TYPE_OSCILLATOR,
  18. FMOD_DSP_TYPE_LOWPASS,
  19. FMOD_DSP_TYPE_ITLOWPASS,
  20. FMOD_DSP_TYPE_HIGHPASS,
  21. FMOD_DSP_TYPE_ECHO,
  22. FMOD_DSP_TYPE_FADER,
  23. FMOD_DSP_TYPE_FLANGE,
  24. FMOD_DSP_TYPE_DISTORTION,
  25. FMOD_DSP_TYPE_NORMALIZE,
  26. FMOD_DSP_TYPE_LIMITER,
  27. FMOD_DSP_TYPE_PARAMEQ,
  28. FMOD_DSP_TYPE_PITCHSHIFT,
  29. FMOD_DSP_TYPE_CHORUS,
  30. FMOD_DSP_TYPE_ITECHO,
  31. FMOD_DSP_TYPE_COMPRESSOR,
  32. FMOD_DSP_TYPE_SFXREVERB,
  33. FMOD_DSP_TYPE_LOWPASS_SIMPLE,
  34. FMOD_DSP_TYPE_DELAY,
  35. FMOD_DSP_TYPE_TREMOLO,
  36. FMOD_DSP_TYPE_SEND,
  37. FMOD_DSP_TYPE_RETURN,
  38. FMOD_DSP_TYPE_HIGHPASS_SIMPLE,
  39. FMOD_DSP_TYPE_PAN,
  40. FMOD_DSP_TYPE_THREE_EQ,
  41. FMOD_DSP_TYPE_FFT,
  42. FMOD_DSP_TYPE_LOUDNESS_METER,
  43. FMOD_DSP_TYPE_CONVOLUTIONREVERB,
  44. FMOD_DSP_TYPE_CHANNELMIX,
  45. FMOD_DSP_TYPE_TRANSCEIVER,
  46. FMOD_DSP_TYPE_OBJECTPAN,
  47. FMOD_DSP_TYPE_MULTIBAND_EQ,
  48. FMOD_DSP_TYPE_MULTIBAND_DYNAMICS,
  49. FMOD_DSP_TYPE_MAX,
  50. FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */
  51. } FMOD_DSP_TYPE;
  52. /*
  53. ===================================================================================================
  54. FMOD built in effect parameters.
  55. Use DSP::setParameter with these enums for the 'index' parameter.
  56. ===================================================================================================
  57. */
  58. typedef enum
  59. {
  60. FMOD_DSP_OSCILLATOR_TYPE,
  61. FMOD_DSP_OSCILLATOR_RATE
  62. } FMOD_DSP_OSCILLATOR;
  63. typedef enum
  64. {
  65. FMOD_DSP_LOWPASS_CUTOFF,
  66. FMOD_DSP_LOWPASS_RESONANCE
  67. } FMOD_DSP_LOWPASS;
  68. typedef enum
  69. {
  70. FMOD_DSP_ITLOWPASS_CUTOFF,
  71. FMOD_DSP_ITLOWPASS_RESONANCE
  72. } FMOD_DSP_ITLOWPASS;
  73. typedef enum
  74. {
  75. FMOD_DSP_HIGHPASS_CUTOFF,
  76. FMOD_DSP_HIGHPASS_RESONANCE
  77. } FMOD_DSP_HIGHPASS;
  78. typedef enum
  79. {
  80. FMOD_DSP_ECHO_DELAY,
  81. FMOD_DSP_ECHO_FEEDBACK,
  82. FMOD_DSP_ECHO_DRYLEVEL,
  83. FMOD_DSP_ECHO_WETLEVEL,
  84. FMOD_DSP_ECHO_DELAYCHANGEMODE
  85. } FMOD_DSP_ECHO;
  86. typedef enum
  87. {
  88. FMOD_DSP_ECHO_DELAYCHANGEMODE_FADE,
  89. FMOD_DSP_ECHO_DELAYCHANGEMODE_LERP,
  90. FMOD_DSP_ECHO_DELAYCHANGEMODE_NONE
  91. } FMOD_DSP_ECHO_DELAYCHANGEMODE_TYPE;
  92. typedef enum FMOD_DSP_FADER
  93. {
  94. FMOD_DSP_FADER_GAIN,
  95. FMOD_DSP_FADER_OVERALL_GAIN,
  96. } FMOD_DSP_FADER;
  97. typedef enum
  98. {
  99. FMOD_DSP_FLANGE_MIX,
  100. FMOD_DSP_FLANGE_DEPTH,
  101. FMOD_DSP_FLANGE_RATE
  102. } FMOD_DSP_FLANGE;
  103. typedef enum
  104. {
  105. FMOD_DSP_DISTORTION_LEVEL
  106. } FMOD_DSP_DISTORTION;
  107. typedef enum
  108. {
  109. FMOD_DSP_NORMALIZE_FADETIME,
  110. FMOD_DSP_NORMALIZE_THRESHOLD,
  111. FMOD_DSP_NORMALIZE_MAXAMP
  112. } FMOD_DSP_NORMALIZE;
  113. typedef enum
  114. {
  115. FMOD_DSP_LIMITER_RELEASETIME,
  116. FMOD_DSP_LIMITER_CEILING,
  117. FMOD_DSP_LIMITER_MAXIMIZERGAIN,
  118. FMOD_DSP_LIMITER_MODE,
  119. } FMOD_DSP_LIMITER;
  120. typedef enum
  121. {
  122. FMOD_DSP_PARAMEQ_CENTER,
  123. FMOD_DSP_PARAMEQ_BANDWIDTH,
  124. FMOD_DSP_PARAMEQ_GAIN
  125. } FMOD_DSP_PARAMEQ;
  126. typedef enum FMOD_DSP_MULTIBAND_EQ
  127. {
  128. FMOD_DSP_MULTIBAND_EQ_A_FILTER,
  129. FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY,
  130. FMOD_DSP_MULTIBAND_EQ_A_Q,
  131. FMOD_DSP_MULTIBAND_EQ_A_GAIN,
  132. FMOD_DSP_MULTIBAND_EQ_B_FILTER,
  133. FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY,
  134. FMOD_DSP_MULTIBAND_EQ_B_Q,
  135. FMOD_DSP_MULTIBAND_EQ_B_GAIN,
  136. FMOD_DSP_MULTIBAND_EQ_C_FILTER,
  137. FMOD_DSP_MULTIBAND_EQ_C_FREQUENCY,
  138. FMOD_DSP_MULTIBAND_EQ_C_Q,
  139. FMOD_DSP_MULTIBAND_EQ_C_GAIN,
  140. FMOD_DSP_MULTIBAND_EQ_D_FILTER,
  141. FMOD_DSP_MULTIBAND_EQ_D_FREQUENCY,
  142. FMOD_DSP_MULTIBAND_EQ_D_Q,
  143. FMOD_DSP_MULTIBAND_EQ_D_GAIN,
  144. FMOD_DSP_MULTIBAND_EQ_E_FILTER,
  145. FMOD_DSP_MULTIBAND_EQ_E_FREQUENCY,
  146. FMOD_DSP_MULTIBAND_EQ_E_Q,
  147. FMOD_DSP_MULTIBAND_EQ_E_GAIN,
  148. } FMOD_DSP_MULTIBAND_EQ;
  149. typedef enum FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE
  150. {
  151. FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED,
  152. FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB,
  153. FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB,
  154. FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB,
  155. FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB,
  156. FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB,
  157. FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB,
  158. FMOD_DSP_MULTIBAND_EQ_FILTER_LOWSHELF,
  159. FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF,
  160. FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING,
  161. FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS,
  162. FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH,
  163. FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS,
  164. FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB,
  165. FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB,
  166. } FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE;
  167. typedef enum FMOD_DSP_MULTIBAND_DYNAMICS
  168. {
  169. FMOD_DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY,
  170. FMOD_DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY,
  171. FMOD_DSP_MULTIBAND_DYNAMICS_LINKED,
  172. FMOD_DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN,
  173. FMOD_DSP_MULTIBAND_DYNAMICS_A_MODE,
  174. FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN,
  175. FMOD_DSP_MULTIBAND_DYNAMICS_A_THRESHOLD,
  176. FMOD_DSP_MULTIBAND_DYNAMICS_A_RATIO,
  177. FMOD_DSP_MULTIBAND_DYNAMICS_A_ATTACK,
  178. FMOD_DSP_MULTIBAND_DYNAMICS_A_RELEASE,
  179. FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP,
  180. FMOD_DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA,
  181. FMOD_DSP_MULTIBAND_DYNAMICS_B_MODE,
  182. FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN,
  183. FMOD_DSP_MULTIBAND_DYNAMICS_B_THRESHOLD,
  184. FMOD_DSP_MULTIBAND_DYNAMICS_B_RATIO,
  185. FMOD_DSP_MULTIBAND_DYNAMICS_B_ATTACK,
  186. FMOD_DSP_MULTIBAND_DYNAMICS_B_RELEASE,
  187. FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP,
  188. FMOD_DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA,
  189. FMOD_DSP_MULTIBAND_DYNAMICS_C_MODE,
  190. FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN,
  191. FMOD_DSP_MULTIBAND_DYNAMICS_C_THRESHOLD,
  192. FMOD_DSP_MULTIBAND_DYNAMICS_C_RATIO,
  193. FMOD_DSP_MULTIBAND_DYNAMICS_C_ATTACK,
  194. FMOD_DSP_MULTIBAND_DYNAMICS_C_RELEASE,
  195. FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP,
  196. FMOD_DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA,
  197. } FMOD_DSP_MULTIBAND_DYNAMICS;
  198. typedef enum FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE
  199. {
  200. FMOD_DSP_MULTIBAND_DYNAMICS_MODE_DISABLED,
  201. FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP,
  202. FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN,
  203. FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP,
  204. FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN
  205. } FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE;
  206. typedef enum
  207. {
  208. FMOD_DSP_PITCHSHIFT_PITCH,
  209. FMOD_DSP_PITCHSHIFT_FFTSIZE,
  210. FMOD_DSP_PITCHSHIFT_OVERLAP,
  211. FMOD_DSP_PITCHSHIFT_MAXCHANNELS
  212. } FMOD_DSP_PITCHSHIFT;
  213. typedef enum
  214. {
  215. FMOD_DSP_CHORUS_MIX,
  216. FMOD_DSP_CHORUS_RATE,
  217. FMOD_DSP_CHORUS_DEPTH,
  218. } FMOD_DSP_CHORUS;
  219. typedef enum
  220. {
  221. FMOD_DSP_ITECHO_WETDRYMIX,
  222. FMOD_DSP_ITECHO_FEEDBACK,
  223. FMOD_DSP_ITECHO_LEFTDELAY,
  224. FMOD_DSP_ITECHO_RIGHTDELAY,
  225. FMOD_DSP_ITECHO_PANDELAY
  226. } FMOD_DSP_ITECHO;
  227. typedef enum
  228. {
  229. FMOD_DSP_COMPRESSOR_THRESHOLD,
  230. FMOD_DSP_COMPRESSOR_RATIO,
  231. FMOD_DSP_COMPRESSOR_ATTACK,
  232. FMOD_DSP_COMPRESSOR_RELEASE,
  233. FMOD_DSP_COMPRESSOR_GAINMAKEUP,
  234. FMOD_DSP_COMPRESSOR_USESIDECHAIN,
  235. FMOD_DSP_COMPRESSOR_LINKED
  236. } FMOD_DSP_COMPRESSOR;
  237. typedef enum
  238. {
  239. FMOD_DSP_SFXREVERB_DECAYTIME,
  240. FMOD_DSP_SFXREVERB_EARLYDELAY,
  241. FMOD_DSP_SFXREVERB_LATEDELAY,
  242. FMOD_DSP_SFXREVERB_HFREFERENCE,
  243. FMOD_DSP_SFXREVERB_HFDECAYRATIO,
  244. FMOD_DSP_SFXREVERB_DIFFUSION,
  245. FMOD_DSP_SFXREVERB_DENSITY,
  246. FMOD_DSP_SFXREVERB_LOWSHELFFREQUENCY,
  247. FMOD_DSP_SFXREVERB_LOWSHELFGAIN,
  248. FMOD_DSP_SFXREVERB_HIGHCUT,
  249. FMOD_DSP_SFXREVERB_EARLYLATEMIX,
  250. FMOD_DSP_SFXREVERB_WETLEVEL,
  251. FMOD_DSP_SFXREVERB_DRYLEVEL
  252. } FMOD_DSP_SFXREVERB;
  253. typedef enum
  254. {
  255. FMOD_DSP_LOWPASS_SIMPLE_CUTOFF
  256. } FMOD_DSP_LOWPASS_SIMPLE;
  257. typedef enum
  258. {
  259. FMOD_DSP_DELAY_CH0,
  260. FMOD_DSP_DELAY_CH1,
  261. FMOD_DSP_DELAY_CH2,
  262. FMOD_DSP_DELAY_CH3,
  263. FMOD_DSP_DELAY_CH4,
  264. FMOD_DSP_DELAY_CH5,
  265. FMOD_DSP_DELAY_CH6,
  266. FMOD_DSP_DELAY_CH7,
  267. FMOD_DSP_DELAY_CH8,
  268. FMOD_DSP_DELAY_CH9,
  269. FMOD_DSP_DELAY_CH10,
  270. FMOD_DSP_DELAY_CH11,
  271. FMOD_DSP_DELAY_CH12,
  272. FMOD_DSP_DELAY_CH13,
  273. FMOD_DSP_DELAY_CH14,
  274. FMOD_DSP_DELAY_CH15,
  275. FMOD_DSP_DELAY_MAXDELAY
  276. } FMOD_DSP_DELAY;
  277. typedef enum
  278. {
  279. FMOD_DSP_TREMOLO_FREQUENCY,
  280. FMOD_DSP_TREMOLO_DEPTH,
  281. FMOD_DSP_TREMOLO_SHAPE,
  282. FMOD_DSP_TREMOLO_SKEW,
  283. FMOD_DSP_TREMOLO_DUTY,
  284. FMOD_DSP_TREMOLO_SQUARE,
  285. FMOD_DSP_TREMOLO_PHASE,
  286. FMOD_DSP_TREMOLO_SPREAD
  287. } FMOD_DSP_TREMOLO;
  288. typedef enum
  289. {
  290. FMOD_DSP_SEND_RETURNID,
  291. FMOD_DSP_SEND_LEVEL,
  292. } FMOD_DSP_SEND;
  293. typedef enum
  294. {
  295. FMOD_DSP_RETURN_ID,
  296. FMOD_DSP_RETURN_INPUT_SPEAKER_MODE
  297. } FMOD_DSP_RETURN;
  298. typedef enum
  299. {
  300. FMOD_DSP_HIGHPASS_SIMPLE_CUTOFF
  301. } FMOD_DSP_HIGHPASS_SIMPLE;
  302. typedef enum
  303. {
  304. FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED,
  305. FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE
  306. } FMOD_DSP_PAN_2D_STEREO_MODE_TYPE;
  307. typedef enum
  308. {
  309. FMOD_DSP_PAN_MODE_MONO,
  310. FMOD_DSP_PAN_MODE_STEREO,
  311. FMOD_DSP_PAN_MODE_SURROUND
  312. } FMOD_DSP_PAN_MODE_TYPE;
  313. typedef enum
  314. {
  315. FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED,
  316. FMOD_DSP_PAN_3D_ROLLOFF_LINEAR,
  317. FMOD_DSP_PAN_3D_ROLLOFF_INVERSE,
  318. FMOD_DSP_PAN_3D_ROLLOFF_INVERSETAPERED,
  319. FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM
  320. } FMOD_DSP_PAN_3D_ROLLOFF_TYPE;
  321. typedef enum
  322. {
  323. FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO,
  324. FMOD_DSP_PAN_3D_EXTENT_MODE_USER,
  325. FMOD_DSP_PAN_3D_EXTENT_MODE_OFF
  326. } FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE;
  327. typedef enum
  328. {
  329. FMOD_DSP_PAN_MODE,
  330. FMOD_DSP_PAN_2D_STEREO_POSITION,
  331. FMOD_DSP_PAN_2D_DIRECTION,
  332. FMOD_DSP_PAN_2D_EXTENT,
  333. FMOD_DSP_PAN_2D_ROTATION,
  334. FMOD_DSP_PAN_2D_LFE_LEVEL,
  335. FMOD_DSP_PAN_2D_STEREO_MODE,
  336. FMOD_DSP_PAN_2D_STEREO_SEPARATION,
  337. FMOD_DSP_PAN_2D_STEREO_AXIS,
  338. FMOD_DSP_PAN_ENABLED_SPEAKERS,
  339. FMOD_DSP_PAN_3D_POSITION,
  340. FMOD_DSP_PAN_3D_ROLLOFF,
  341. FMOD_DSP_PAN_3D_MIN_DISTANCE,
  342. FMOD_DSP_PAN_3D_MAX_DISTANCE,
  343. FMOD_DSP_PAN_3D_EXTENT_MODE,
  344. FMOD_DSP_PAN_3D_SOUND_SIZE,
  345. FMOD_DSP_PAN_3D_MIN_EXTENT,
  346. FMOD_DSP_PAN_3D_PAN_BLEND,
  347. FMOD_DSP_PAN_LFE_UPMIX_ENABLED,
  348. FMOD_DSP_PAN_OVERALL_GAIN,
  349. FMOD_DSP_PAN_SURROUND_SPEAKER_MODE,
  350. FMOD_DSP_PAN_2D_HEIGHT_BLEND,
  351. FMOD_DSP_PAN_ATTENUATION_RANGE,
  352. FMOD_DSP_PAN_OVERRIDE_RANGE
  353. } FMOD_DSP_PAN;
  354. typedef enum
  355. {
  356. FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_12DB,
  357. FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_24DB,
  358. FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_48DB
  359. } FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE;
  360. typedef enum
  361. {
  362. FMOD_DSP_THREE_EQ_LOWGAIN,
  363. FMOD_DSP_THREE_EQ_MIDGAIN,
  364. FMOD_DSP_THREE_EQ_HIGHGAIN,
  365. FMOD_DSP_THREE_EQ_LOWCROSSOVER,
  366. FMOD_DSP_THREE_EQ_HIGHCROSSOVER,
  367. FMOD_DSP_THREE_EQ_CROSSOVERSLOPE
  368. } FMOD_DSP_THREE_EQ;
  369. typedef enum
  370. {
  371. FMOD_DSP_FFT_WINDOW_RECT,
  372. FMOD_DSP_FFT_WINDOW_TRIANGLE,
  373. FMOD_DSP_FFT_WINDOW_HAMMING,
  374. FMOD_DSP_FFT_WINDOW_HANNING,
  375. FMOD_DSP_FFT_WINDOW_BLACKMAN,
  376. FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
  377. } FMOD_DSP_FFT_WINDOW_TYPE;
  378. typedef enum
  379. {
  380. FMOD_DSP_FFT_DOWNMIX_NONE,
  381. FMOD_DSP_FFT_DOWNMIX_MONO,
  382. } FMOD_DSP_FFT_DOWNMIX_TYPE;
  383. typedef enum
  384. {
  385. FMOD_DSP_FFT_WINDOWSIZE,
  386. FMOD_DSP_FFT_WINDOW,
  387. FMOD_DSP_FFT_BAND_START_FREQ,
  388. FMOD_DSP_FFT_BAND_STOP_FREQ,
  389. FMOD_DSP_FFT_SPECTRUMDATA,
  390. FMOD_DSP_FFT_RMS,
  391. FMOD_DSP_FFT_SPECTRAL_CENTROID,
  392. FMOD_DSP_FFT_IMMEDIATE_MODE,
  393. FMOD_DSP_FFT_DOWNMIX,
  394. FMOD_DSP_FFT_CHANNEL,
  395. } FMOD_DSP_FFT;
  396. #define FMOD_DSP_LOUDNESS_METER_HISTOGRAM_SAMPLES 66
  397. typedef enum
  398. {
  399. FMOD_DSP_LOUDNESS_METER_STATE,
  400. FMOD_DSP_LOUDNESS_METER_WEIGHTING,
  401. FMOD_DSP_LOUDNESS_METER_INFO
  402. } FMOD_DSP_LOUDNESS_METER;
  403. typedef enum
  404. {
  405. FMOD_DSP_LOUDNESS_METER_STATE_RESET_INTEGRATED = -3,
  406. FMOD_DSP_LOUDNESS_METER_STATE_RESET_MAXPEAK = -2,
  407. FMOD_DSP_LOUDNESS_METER_STATE_RESET_ALL = -1,
  408. FMOD_DSP_LOUDNESS_METER_STATE_PAUSED = 0,
  409. FMOD_DSP_LOUDNESS_METER_STATE_ANALYZING = 1
  410. } FMOD_DSP_LOUDNESS_METER_STATE_TYPE;
  411. typedef struct FMOD_DSP_LOUDNESS_METER_INFO_TYPE
  412. {
  413. float momentaryloudness;
  414. float shorttermloudness;
  415. float integratedloudness;
  416. float loudness10thpercentile;
  417. float loudness95thpercentile;
  418. float loudnesshistogram[FMOD_DSP_LOUDNESS_METER_HISTOGRAM_SAMPLES];
  419. float maxtruepeak;
  420. float maxmomentaryloudness;
  421. } FMOD_DSP_LOUDNESS_METER_INFO_TYPE;
  422. typedef struct FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE
  423. {
  424. float channelweight[32];
  425. } FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE;
  426. typedef enum
  427. {
  428. FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR,
  429. FMOD_DSP_CONVOLUTION_REVERB_PARAM_WET,
  430. FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY,
  431. FMOD_DSP_CONVOLUTION_REVERB_PARAM_LINKED
  432. } FMOD_DSP_CONVOLUTION_REVERB;
  433. typedef enum
  434. {
  435. FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT,
  436. FMOD_DSP_CHANNELMIX_OUTPUT_ALLMONO,
  437. FMOD_DSP_CHANNELMIX_OUTPUT_ALLSTEREO,
  438. FMOD_DSP_CHANNELMIX_OUTPUT_ALLQUAD,
  439. FMOD_DSP_CHANNELMIX_OUTPUT_ALL5POINT1,
  440. FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1,
  441. FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE,
  442. FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4
  443. } FMOD_DSP_CHANNELMIX_OUTPUT;
  444. typedef enum
  445. {
  446. FMOD_DSP_CHANNELMIX_OUTPUTGROUPING,
  447. FMOD_DSP_CHANNELMIX_GAIN_CH0,
  448. FMOD_DSP_CHANNELMIX_GAIN_CH1,
  449. FMOD_DSP_CHANNELMIX_GAIN_CH2,
  450. FMOD_DSP_CHANNELMIX_GAIN_CH3,
  451. FMOD_DSP_CHANNELMIX_GAIN_CH4,
  452. FMOD_DSP_CHANNELMIX_GAIN_CH5,
  453. FMOD_DSP_CHANNELMIX_GAIN_CH6,
  454. FMOD_DSP_CHANNELMIX_GAIN_CH7,
  455. FMOD_DSP_CHANNELMIX_GAIN_CH8,
  456. FMOD_DSP_CHANNELMIX_GAIN_CH9,
  457. FMOD_DSP_CHANNELMIX_GAIN_CH10,
  458. FMOD_DSP_CHANNELMIX_GAIN_CH11,
  459. FMOD_DSP_CHANNELMIX_GAIN_CH12,
  460. FMOD_DSP_CHANNELMIX_GAIN_CH13,
  461. FMOD_DSP_CHANNELMIX_GAIN_CH14,
  462. FMOD_DSP_CHANNELMIX_GAIN_CH15,
  463. FMOD_DSP_CHANNELMIX_GAIN_CH16,
  464. FMOD_DSP_CHANNELMIX_GAIN_CH17,
  465. FMOD_DSP_CHANNELMIX_GAIN_CH18,
  466. FMOD_DSP_CHANNELMIX_GAIN_CH19,
  467. FMOD_DSP_CHANNELMIX_GAIN_CH20,
  468. FMOD_DSP_CHANNELMIX_GAIN_CH21,
  469. FMOD_DSP_CHANNELMIX_GAIN_CH22,
  470. FMOD_DSP_CHANNELMIX_GAIN_CH23,
  471. FMOD_DSP_CHANNELMIX_GAIN_CH24,
  472. FMOD_DSP_CHANNELMIX_GAIN_CH25,
  473. FMOD_DSP_CHANNELMIX_GAIN_CH26,
  474. FMOD_DSP_CHANNELMIX_GAIN_CH27,
  475. FMOD_DSP_CHANNELMIX_GAIN_CH28,
  476. FMOD_DSP_CHANNELMIX_GAIN_CH29,
  477. FMOD_DSP_CHANNELMIX_GAIN_CH30,
  478. FMOD_DSP_CHANNELMIX_GAIN_CH31,
  479. FMOD_DSP_CHANNELMIX_OUTPUT_CH0,
  480. FMOD_DSP_CHANNELMIX_OUTPUT_CH1,
  481. FMOD_DSP_CHANNELMIX_OUTPUT_CH2,
  482. FMOD_DSP_CHANNELMIX_OUTPUT_CH3,
  483. FMOD_DSP_CHANNELMIX_OUTPUT_CH4,
  484. FMOD_DSP_CHANNELMIX_OUTPUT_CH5,
  485. FMOD_DSP_CHANNELMIX_OUTPUT_CH6,
  486. FMOD_DSP_CHANNELMIX_OUTPUT_CH7,
  487. FMOD_DSP_CHANNELMIX_OUTPUT_CH8,
  488. FMOD_DSP_CHANNELMIX_OUTPUT_CH9,
  489. FMOD_DSP_CHANNELMIX_OUTPUT_CH10,
  490. FMOD_DSP_CHANNELMIX_OUTPUT_CH11,
  491. FMOD_DSP_CHANNELMIX_OUTPUT_CH12,
  492. FMOD_DSP_CHANNELMIX_OUTPUT_CH13,
  493. FMOD_DSP_CHANNELMIX_OUTPUT_CH14,
  494. FMOD_DSP_CHANNELMIX_OUTPUT_CH15,
  495. FMOD_DSP_CHANNELMIX_OUTPUT_CH16,
  496. FMOD_DSP_CHANNELMIX_OUTPUT_CH17,
  497. FMOD_DSP_CHANNELMIX_OUTPUT_CH18,
  498. FMOD_DSP_CHANNELMIX_OUTPUT_CH19,
  499. FMOD_DSP_CHANNELMIX_OUTPUT_CH20,
  500. FMOD_DSP_CHANNELMIX_OUTPUT_CH21,
  501. FMOD_DSP_CHANNELMIX_OUTPUT_CH22,
  502. FMOD_DSP_CHANNELMIX_OUTPUT_CH23,
  503. FMOD_DSP_CHANNELMIX_OUTPUT_CH24,
  504. FMOD_DSP_CHANNELMIX_OUTPUT_CH25,
  505. FMOD_DSP_CHANNELMIX_OUTPUT_CH26,
  506. FMOD_DSP_CHANNELMIX_OUTPUT_CH27,
  507. FMOD_DSP_CHANNELMIX_OUTPUT_CH28,
  508. FMOD_DSP_CHANNELMIX_OUTPUT_CH29,
  509. FMOD_DSP_CHANNELMIX_OUTPUT_CH30,
  510. FMOD_DSP_CHANNELMIX_OUTPUT_CH31
  511. } FMOD_DSP_CHANNELMIX;
  512. typedef enum
  513. {
  514. FMOD_DSP_TRANSCEIVER_SPEAKERMODE_AUTO = -1,
  515. FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO = 0,
  516. FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO,
  517. FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND,
  518. } FMOD_DSP_TRANSCEIVER_SPEAKERMODE;
  519. typedef enum
  520. {
  521. FMOD_DSP_TRANSCEIVER_TRANSMIT,
  522. FMOD_DSP_TRANSCEIVER_GAIN,
  523. FMOD_DSP_TRANSCEIVER_CHANNEL,
  524. FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE
  525. } FMOD_DSP_TRANSCEIVER;
  526. typedef enum
  527. {
  528. FMOD_DSP_OBJECTPAN_3D_POSITION,
  529. FMOD_DSP_OBJECTPAN_3D_ROLLOFF,
  530. FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE,
  531. FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE,
  532. FMOD_DSP_OBJECTPAN_3D_EXTENT_MODE,
  533. FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE,
  534. FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT,
  535. FMOD_DSP_OBJECTPAN_OVERALL_GAIN,
  536. FMOD_DSP_OBJECTPAN_OUTPUTGAIN,
  537. FMOD_DSP_OBJECTPAN_ATTENUATION_RANGE,
  538. FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE
  539. } FMOD_DSP_OBJECTPAN;
  540. #endif