summary refs log tree commit diff stats
path: root/vendor/fmod/inc/fmod_dsp.cs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fmod/inc/fmod_dsp.cs')
-rw-r--r--vendor/fmod/inc/fmod_dsp.cs897
1 files changed, 897 insertions, 0 deletions
diff --git a/vendor/fmod/inc/fmod_dsp.cs b/vendor/fmod/inc/fmod_dsp.cs new file mode 100644 index 0000000..92ad06d --- /dev/null +++ b/vendor/fmod/inc/fmod_dsp.cs
@@ -0,0 +1,897 @@
1/* ======================================================================================== */
2/* FMOD Core API - DSP header file. */
3/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2021. */
4/* */
5/* Use this header if you are wanting to develop your own DSP plugin to use with FMODs */
6/* dsp system. With this header you can make your own DSP plugin that FMOD can */
7/* register and use. See the documentation and examples on how to make a working plugin. */
8/* */
9/* For more detail visit: */
10/* https://fmod.com/resources/documentation-api?version=2.0&page=plugin-api-dsp.html */
11/* =========================================================================================*/
12
13using System;
14using System.Text;
15using System.Runtime.InteropServices;
16
17namespace FMOD
18{
19 [StructLayout(LayoutKind.Sequential)]
20 public struct DSP_BUFFER_ARRAY
21 {
22 public int numbuffers;
23 public int[] buffernumchannels;
24 public CHANNELMASK[] bufferchannelmask;
25 public IntPtr[] buffers;
26 public SPEAKERMODE speakermode;
27 }
28
29 public enum DSP_PROCESS_OPERATION
30 {
31 PROCESS_PERFORM = 0,
32 PROCESS_QUERY
33 }
34
35 [StructLayout(LayoutKind.Sequential)]
36 public struct COMPLEX
37 {
38 public float real;
39 public float imag;
40 }
41
42 public enum DSP_PAN_SURROUND_FLAGS
43 {
44 DEFAULT = 0,
45 ROTATION_NOT_BIASED = 1,
46 }
47
48
49 /*
50 DSP callbacks
51 */
52 public delegate RESULT DSP_CREATECALLBACK (ref DSP_STATE dsp_state);
53 public delegate RESULT DSP_RELEASECALLBACK (ref DSP_STATE dsp_state);
54 public delegate RESULT DSP_RESETCALLBACK (ref DSP_STATE dsp_state);
55 public delegate RESULT DSP_SETPOSITIONCALLBACK (ref DSP_STATE dsp_state, uint pos);
56 public delegate RESULT DSP_READCALLBACK (ref DSP_STATE dsp_state, IntPtr inbuffer, IntPtr outbuffer, uint length, int inchannels, ref int outchannels);
57 public delegate RESULT DSP_SHOULDIPROCESS_CALLBACK (ref DSP_STATE dsp_state, bool inputsidle, uint length, CHANNELMASK inmask, int inchannels, SPEAKERMODE speakermode);
58 public delegate RESULT DSP_PROCESS_CALLBACK (ref DSP_STATE dsp_state, uint length, ref DSP_BUFFER_ARRAY inbufferarray, ref DSP_BUFFER_ARRAY outbufferarray, bool inputsidle, DSP_PROCESS_OPERATION op);
59 public delegate RESULT DSP_SETPARAM_FLOAT_CALLBACK (ref DSP_STATE dsp_state, int index, float value);
60 public delegate RESULT DSP_SETPARAM_INT_CALLBACK (ref DSP_STATE dsp_state, int index, int value);
61 public delegate RESULT DSP_SETPARAM_BOOL_CALLBACK (ref DSP_STATE dsp_state, int index, bool value);
62 public delegate RESULT DSP_SETPARAM_DATA_CALLBACK (ref DSP_STATE dsp_state, int index, IntPtr data, uint length);
63 public delegate RESULT DSP_GETPARAM_FLOAT_CALLBACK (ref DSP_STATE dsp_state, int index, ref float value, IntPtr valuestr);
64 public delegate RESULT DSP_GETPARAM_INT_CALLBACK (ref DSP_STATE dsp_state, int index, ref int value, IntPtr valuestr);
65 public delegate RESULT DSP_GETPARAM_BOOL_CALLBACK (ref DSP_STATE dsp_state, int index, ref bool value, IntPtr valuestr);
66 public delegate RESULT DSP_GETPARAM_DATA_CALLBACK (ref DSP_STATE dsp_state, int index, ref IntPtr data, ref uint length, IntPtr valuestr);
67 public delegate RESULT DSP_SYSTEM_REGISTER_CALLBACK (ref DSP_STATE dsp_state);
68 public delegate RESULT DSP_SYSTEM_DEREGISTER_CALLBACK (ref DSP_STATE dsp_state);
69 public delegate RESULT DSP_SYSTEM_MIX_CALLBACK (ref DSP_STATE dsp_state, int stage);
70
71
72 /*
73 DSP functions
74 */
75 public delegate IntPtr DSP_ALLOC_FUNC (uint size, MEMORY_TYPE type, IntPtr sourcestr);
76 public delegate IntPtr DSP_REALLOC_FUNC (IntPtr ptr, uint size, MEMORY_TYPE type, IntPtr sourcestr);
77 public delegate void DSP_FREE_FUNC (IntPtr ptr, MEMORY_TYPE type, IntPtr sourcestr);
78 public delegate void DSP_LOG_FUNC (DEBUG_FLAGS level, IntPtr file, int line, IntPtr function, IntPtr format);
79 public delegate RESULT DSP_GETSAMPLERATE_FUNC (ref DSP_STATE dsp_state, ref int rate);
80 public delegate RESULT DSP_GETBLOCKSIZE_FUNC (ref DSP_STATE dsp_state, ref uint blocksize);
81 public delegate RESULT DSP_GETSPEAKERMODE_FUNC (ref DSP_STATE dsp_state, ref int speakermode_mixer, ref int speakermode_output);
82 public delegate RESULT DSP_GETCLOCK_FUNC (ref DSP_STATE dsp_state, out ulong clock, out uint offset, out uint length);
83 public delegate RESULT DSP_GETLISTENERATTRIBUTES_FUNC (ref DSP_STATE dsp_state, ref int numlisteners, IntPtr attributes);
84 public delegate RESULT DSP_GETUSERDATA_FUNC (ref DSP_STATE dsp_state, out IntPtr userdata);
85 public delegate RESULT DSP_DFT_FFTREAL_FUNC (ref DSP_STATE dsp_state, int size, IntPtr signal, IntPtr dft, IntPtr window, int signalhop);
86 public delegate RESULT DSP_DFT_IFFTREAL_FUNC (ref DSP_STATE dsp_state, int size, IntPtr dft, IntPtr signal, IntPtr window, int signalhop);
87 public delegate RESULT DSP_PAN_SUMMONOMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, float lowFrequencyGain, float overallGain, IntPtr matrix);
88 public delegate RESULT DSP_PAN_SUMSTEREOMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, float pan, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix);
89 public delegate RESULT DSP_PAN_SUMSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix, DSP_PAN_SURROUND_FLAGS flags);
90 public delegate RESULT DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix);
91 public delegate RESULT DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix);
92 public delegate RESULT DSP_PAN_GETROLLOFFGAIN_FUNC (ref DSP_STATE dsp_state, DSP_PAN_3D_ROLLOFF_TYPE rolloff, float distance, float mindistance, float maxdistance, out float gain);
93
94
95 public enum DSP_TYPE : int
96 {
97 UNKNOWN,
98 MIXER,
99 OSCILLATOR,
100 LOWPASS,
101 ITLOWPASS,
102 HIGHPASS,
103 ECHO,
104 FADER,
105 FLANGE,
106 DISTORTION,
107 NORMALIZE,
108 LIMITER,
109 PARAMEQ,
110 PITCHSHIFT,
111 CHORUS,
112 VSTPLUGIN,
113 WINAMPPLUGIN,
114 ITECHO,
115 COMPRESSOR,
116 SFXREVERB,
117 LOWPASS_SIMPLE,
118 DELAY,
119 TREMOLO,
120 LADSPAPLUGIN,
121 SEND,
122 RETURN,
123 HIGHPASS_SIMPLE,
124 PAN,
125 THREE_EQ,
126 FFT,
127 LOUDNESS_METER,
128 ENVELOPEFOLLOWER,
129 CONVOLUTIONREVERB,
130 CHANNELMIX,
131 TRANSCEIVER,
132 OBJECTPAN,
133 MULTIBAND_EQ,
134 MAX
135 }
136
137 public enum DSP_PARAMETER_TYPE
138 {
139 FLOAT = 0,
140 INT,
141 BOOL,
142 DATA,
143 MAX
144 }
145
146 public enum DSP_PARAMETER_FLOAT_MAPPING_TYPE
147 {
148 DSP_PARAMETER_FLOAT_MAPPING_TYPE_LINEAR = 0,
149 DSP_PARAMETER_FLOAT_MAPPING_TYPE_AUTO,
150 DSP_PARAMETER_FLOAT_MAPPING_TYPE_PIECEWISE_LINEAR,
151 }
152
153 [StructLayout(LayoutKind.Sequential)]
154 public struct DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR
155 {
156 public int numpoints;
157 public IntPtr pointparamvalues;
158 public IntPtr pointpositions;
159 }
160
161 [StructLayout(LayoutKind.Sequential)]
162 public struct DSP_PARAMETER_FLOAT_MAPPING
163 {
164 public DSP_PARAMETER_FLOAT_MAPPING_TYPE type;
165 public DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR piecewiselinearmapping;
166 }
167
168
169 [StructLayout(LayoutKind.Sequential)]
170 public struct DSP_PARAMETER_DESC_FLOAT
171 {
172 public float min;
173 public float max;
174 public float defaultval;
175 public DSP_PARAMETER_FLOAT_MAPPING mapping;
176 }
177
178 [StructLayout(LayoutKind.Sequential)]
179 public struct DSP_PARAMETER_DESC_INT
180 {
181 public int min;
182 public int max;
183 public int defaultval;
184 public bool goestoinf;
185 public IntPtr valuenames;
186 }
187
188 [StructLayout(LayoutKind.Sequential)]
189 public struct DSP_PARAMETER_DESC_BOOL
190 {
191 public bool defaultval;
192 public IntPtr valuenames;
193 }
194
195 [StructLayout(LayoutKind.Sequential)]
196 public struct DSP_PARAMETER_DESC_DATA
197 {
198 public int datatype;
199 }
200
201 [StructLayout(LayoutKind.Explicit)]
202 public struct DSP_PARAMETER_DESC_UNION
203 {
204 [FieldOffset(0)]
205 public DSP_PARAMETER_DESC_FLOAT floatdesc;
206 [FieldOffset(0)]
207 public DSP_PARAMETER_DESC_INT intdesc;
208 [FieldOffset(0)]
209 public DSP_PARAMETER_DESC_BOOL booldesc;
210 [FieldOffset(0)]
211 public DSP_PARAMETER_DESC_DATA datadesc;
212 }
213
214 [StructLayout(LayoutKind.Sequential)]
215 public struct DSP_PARAMETER_DESC
216 {
217 public DSP_PARAMETER_TYPE type;
218 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
219 public byte[] name;
220 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
221 public byte[] label;
222 public string description;
223
224 public DSP_PARAMETER_DESC_UNION desc;
225 }
226
227 public enum DSP_PARAMETER_DATA_TYPE
228 {
229 DSP_PARAMETER_DATA_TYPE_USER = 0,
230 DSP_PARAMETER_DATA_TYPE_OVERALLGAIN = -1,
231 DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2,
232 DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3,
233 DSP_PARAMETER_DATA_TYPE_FFT = -4,
234 DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5,
235 DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6
236 }
237
238 [StructLayout(LayoutKind.Sequential)]
239 public struct DSP_PARAMETER_OVERALLGAIN
240 {
241 public float linear_gain;
242 public float linear_gain_additive;
243 }
244
245 [StructLayout(LayoutKind.Sequential)]
246 public struct DSP_PARAMETER_3DATTRIBUTES
247 {
248 public ATTRIBUTES_3D relative;
249 public ATTRIBUTES_3D absolute;
250 }
251
252 [StructLayout(LayoutKind.Sequential)]
253 public struct DSP_PARAMETER_3DATTRIBUTES_MULTI
254 {
255 public int numlisteners;
256 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
257 public ATTRIBUTES_3D[] relative;
258 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
259 public float[] weight;
260 public ATTRIBUTES_3D absolute;
261 }
262
263 [StructLayout(LayoutKind.Sequential)]
264 public struct DSP_PARAMETER_SIDECHAIN
265 {
266 public int sidechainenable;
267 }
268
269 [StructLayout(LayoutKind.Sequential)]
270 public struct DSP_PARAMETER_FFT
271 {
272 public int length;
273 public int numchannels;
274
275 [MarshalAs(UnmanagedType.ByValArray,SizeConst=32)]
276 private IntPtr[] spectrum_internal;
277
278 public float[][] spectrum
279 {
280 get
281 {
282 var buffer = new float[numchannels][];
283
284 for (int i = 0; i < numchannels; ++i)
285 {
286 buffer[i] = new float[length];
287 Marshal.Copy(spectrum_internal[i], buffer[i], 0, length);
288 }
289
290 return buffer;
291 }
292 }
293
294 public void getSpectrum(ref float[][] buffer)
295 {
296 int bufferLength = Math.Min(buffer.Length, numchannels);
297 for (int i = 0; i < bufferLength; ++i)
298 {
299 getSpectrum(i, ref buffer[i]);
300 }
301 }
302
303 public void getSpectrum(int channel, ref float[] buffer)
304 {
305 int bufferLength = Math.Min(buffer.Length, length);
306 Marshal.Copy(spectrum_internal[channel], buffer, 0, bufferLength);
307 }
308 }
309
310 [StructLayout(LayoutKind.Sequential)]
311 public struct DSP_LOUDNESS_METER_INFO_TYPE
312 {
313 public float momentaryloudness;
314 public float shorttermloudness;
315 public float integratedloudness;
316 public float loudness10thpercentile;
317 public float loudness95thpercentile;
318 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 66)]
319 public float[] loudnesshistogram;
320 public float maxtruepeak;
321 public float maxmomentaryloudness;
322 }
323
324 [StructLayout(LayoutKind.Sequential)]
325 public struct DSP_LOUDNESS_METER_WEIGHTING_TYPE
326 {
327 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
328 public float[] channelweight;
329 }
330
331 [StructLayout(LayoutKind.Sequential)]
332 public struct DSP_PARAMETER_ATTENUATION_RANGE
333 {
334 public float min;
335 public float max;
336 }
337
338 [StructLayout(LayoutKind.Sequential)]
339 public struct DSP_DESCRIPTION
340 {
341 public uint pluginsdkversion;
342 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
343 public byte[] name;
344 public uint version;
345 public int numinputbuffers;
346 public int numoutputbuffers;
347 public DSP_CREATECALLBACK create;
348 public DSP_RELEASECALLBACK release;
349 public DSP_RESETCALLBACK reset;
350 public DSP_READCALLBACK read;
351 public DSP_PROCESS_CALLBACK process;
352 public DSP_SETPOSITIONCALLBACK setposition;
353
354 public int numparameters;
355 public IntPtr paramdesc;
356 public DSP_SETPARAM_FLOAT_CALLBACK setparameterfloat;
357 public DSP_SETPARAM_INT_CALLBACK setparameterint;
358 public DSP_SETPARAM_BOOL_CALLBACK setparameterbool;
359 public DSP_SETPARAM_DATA_CALLBACK setparameterdata;
360 public DSP_GETPARAM_FLOAT_CALLBACK getparameterfloat;
361 public DSP_GETPARAM_INT_CALLBACK getparameterint;
362 public DSP_GETPARAM_BOOL_CALLBACK getparameterbool;
363 public DSP_GETPARAM_DATA_CALLBACK getparameterdata;
364 public DSP_SHOULDIPROCESS_CALLBACK shouldiprocess;
365 public IntPtr userdata;
366
367 public DSP_SYSTEM_REGISTER_CALLBACK sys_register;
368 public DSP_SYSTEM_DEREGISTER_CALLBACK sys_deregister;
369 public DSP_SYSTEM_MIX_CALLBACK sys_mix;
370 }
371
372 [StructLayout(LayoutKind.Sequential)]
373 public struct DSP_STATE_DFT_FUNCTIONS
374 {
375 public DSP_DFT_FFTREAL_FUNC fftreal;
376 public DSP_DFT_IFFTREAL_FUNC inversefftreal;
377 }
378
379 [StructLayout(LayoutKind.Sequential)]
380 public struct DSP_STATE_PAN_FUNCTIONS
381 {
382 public DSP_PAN_SUMMONOMATRIX_FUNC summonomatrix;
383 public DSP_PAN_SUMSTEREOMATRIX_FUNC sumstereomatrix;
384 public DSP_PAN_SUMSURROUNDMATRIX_FUNC sumsurroundmatrix;
385 public DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC summonotosurroundmatrix;
386 public DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC sumstereotosurroundmatrix;
387 public DSP_PAN_GETROLLOFFGAIN_FUNC getrolloffgain;
388 }
389
390 [StructLayout(LayoutKind.Sequential)]
391 public struct DSP_STATE_FUNCTIONS
392 {
393 public DSP_ALLOC_FUNC alloc;
394 public DSP_REALLOC_FUNC realloc;
395 public DSP_FREE_FUNC free;
396 public DSP_GETSAMPLERATE_FUNC getsamplerate;
397 public DSP_GETBLOCKSIZE_FUNC getblocksize;
398 public IntPtr dft;
399 public IntPtr pan;
400 public DSP_GETSPEAKERMODE_FUNC getspeakermode;
401 public DSP_GETCLOCK_FUNC getclock;
402 public DSP_GETLISTENERATTRIBUTES_FUNC getlistenerattributes;
403 public DSP_LOG_FUNC log;
404 public DSP_GETUSERDATA_FUNC getuserdata;
405 }
406
407 [StructLayout(LayoutKind.Sequential)]
408 public struct DSP_STATE
409 {
410 public IntPtr instance;
411 public IntPtr plugindata;
412 public uint channelmask;
413 public int source_speakermode;
414 public IntPtr sidechaindata;
415 public int sidechainchannels;
416 public IntPtr functions;
417 public int systemobject;
418 }
419
420 [StructLayout(LayoutKind.Sequential)]
421 public struct DSP_METERING_INFO
422 {
423 public int numsamples;
424 [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)]
425 public float[] peaklevel;
426 [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)]
427 public float[] rmslevel;
428 public short numchannels;
429 }
430
431 /*
432 ==============================================================================================================
433
434 FMOD built in effect parameters.
435 Use DSP::setParameter with these enums for the 'index' parameter.
436
437 ==============================================================================================================
438 */
439
440 public enum DSP_OSCILLATOR : int
441 {
442 TYPE,
443 RATE
444 }
445
446 public enum DSP_LOWPASS : int
447 {
448 CUTOFF,
449 RESONANCE
450 }
451
452 public enum DSP_ITLOWPASS : int
453 {
454 CUTOFF,
455 RESONANCE
456 }
457
458 public enum DSP_HIGHPASS : int
459 {
460 CUTOFF,
461 RESONANCE
462 }
463
464 public enum DSP_ECHO : int
465 {
466 DELAY,
467 FEEDBACK,
468 DRYLEVEL,
469 WETLEVEL
470 }
471
472 public enum DSP_FADER : int
473 {
474 GAIN,
475 OVERALL_GAIN,
476 }
477
478 public enum DSP_DELAY : int
479 {
480 CH0,
481 CH1,
482 CH2,
483 CH3,
484 CH4,
485 CH5,
486 CH6,
487 CH7,
488 CH8,
489 CH9,
490 CH10,
491 CH11,
492 CH12,
493 CH13,
494 CH14,
495 CH15,
496 MAXDELAY,
497 }
498
499 public enum DSP_FLANGE : int
500 {
501 MIX,
502 DEPTH,
503 RATE
504 }
505
506 public enum DSP_TREMOLO : int
507 {
508 FREQUENCY,
509 DEPTH,
510 SHAPE,
511 SKEW,
512 DUTY,
513 SQUARE,
514 PHASE,
515 SPREAD
516 }
517
518 public enum DSP_DISTORTION : int
519 {
520 LEVEL
521 }
522
523 public enum DSP_NORMALIZE : int
524 {
525 FADETIME,
526 THRESHOLD,
527 MAXAMP
528 }
529
530 public enum DSP_LIMITER : int
531 {
532 RELEASETIME,
533 CEILING,
534 MAXIMIZERGAIN,
535 MODE,
536 }
537
538 public enum DSP_PARAMEQ : int
539 {
540 CENTER,
541 BANDWIDTH,
542 GAIN
543 }
544
545 public enum DSP_MULTIBAND_EQ : int
546 {
547 A_FILTER,
548 A_FREQUENCY,
549 A_Q,
550 A_GAIN,
551 B_FILTER,
552 B_FREQUENCY,
553 B_Q,
554 B_GAIN,
555 C_FILTER,
556 C_FREQUENCY,
557 C_Q,
558 C_GAIN,
559 D_FILTER,
560 D_FREQUENCY,
561 D_Q,
562 D_GAIN,
563 E_FILTER,
564 E_FREQUENCY,
565 E_Q,
566 E_GAIN,
567 }
568
569 public enum DSP_MULTIBAND_EQ_FILTER_TYPE : int
570 {
571 DISABLED,
572 LOWPASS_12DB,
573 LOWPASS_24DB,
574 LOWPASS_48DB,
575 HIGHPASS_12DB,
576 HIGHPASS_24DB,
577 HIGHPASS_48DB,
578 LOWSHELF,
579 HIGHSHELF,
580 PEAKING,
581 BANDPASS,
582 NOTCH,
583 ALLPASS,
584 }
585
586 public enum DSP_PITCHSHIFT : int
587 {
588 PITCH,
589 FFTSIZE,
590 OVERLAP,
591 MAXCHANNELS
592 }
593
594 public enum DSP_CHORUS : int
595 {
596 MIX,
597 RATE,
598 DEPTH,
599 }
600
601 public enum DSP_ITECHO : int
602 {
603 WETDRYMIX,
604 FEEDBACK,
605 LEFTDELAY,
606 RIGHTDELAY,
607 PANDELAY
608 }
609
610 public enum DSP_COMPRESSOR : int
611 {
612 THRESHOLD,
613 RATIO,
614 ATTACK,
615 RELEASE,
616 GAINMAKEUP,
617 USESIDECHAIN,
618 LINKED
619 }
620
621 public enum DSP_SFXREVERB : int
622 {
623 DECAYTIME,
624 EARLYDELAY,
625 LATEDELAY,
626 HFREFERENCE,
627 HFDECAYRATIO,
628 DIFFUSION,
629 DENSITY,
630 LOWSHELFFREQUENCY,
631 LOWSHELFGAIN,
632 HIGHCUT,
633 EARLYLATEMIX,
634 WETLEVEL,
635 DRYLEVEL
636 }
637
638 public enum DSP_LOWPASS_SIMPLE : int
639 {
640 CUTOFF
641 }
642
643 public enum DSP_SEND : int
644 {
645 RETURNID,
646 LEVEL,
647 }
648
649 public enum DSP_RETURN : int
650 {
651 ID,
652 INPUT_SPEAKER_MODE
653 }
654
655 public enum DSP_HIGHPASS_SIMPLE : int
656 {
657 CUTOFF
658 }
659
660 public enum DSP_PAN_2D_STEREO_MODE_TYPE : int
661 {
662 DISTRIBUTED,
663 DISCRETE
664 }
665
666 public enum DSP_PAN_MODE_TYPE : int
667 {
668 MONO,
669 STEREO,
670 SURROUND
671 }
672
673 public enum DSP_PAN_3D_ROLLOFF_TYPE : int
674 {
675 LINEARSQUARED,
676 LINEAR,
677 INVERSE,
678 INVERSETAPERED,
679 CUSTOM
680 }
681
682 public enum DSP_PAN_3D_EXTENT_MODE_TYPE : int
683 {
684 AUTO,
685 USER,
686 OFF
687 }
688
689 public enum DSP_PAN : int
690 {
691 MODE,
692 _2D_STEREO_POSITION,
693 _2D_DIRECTION,
694 _2D_EXTENT,
695 _2D_ROTATION,
696 _2D_LFE_LEVEL,
697 _2D_STEREO_MODE,
698 _2D_STEREO_SEPARATION,
699 _2D_STEREO_AXIS,
700 ENABLED_SPEAKERS,
701 _3D_POSITION,
702 _3D_ROLLOFF,
703 _3D_MIN_DISTANCE,
704 _3D_MAX_DISTANCE,
705 _3D_EXTENT_MODE,
706 _3D_SOUND_SIZE,
707 _3D_MIN_EXTENT,
708 _3D_PAN_BLEND,
709 LFE_UPMIX_ENABLED,
710 OVERALL_GAIN,
711 SURROUND_SPEAKER_MODE,
712 _2D_HEIGHT_BLEND,
713 ATTENUATION_RANGE,
714 OVERRIDE_RANGE
715 }
716
717 public enum DSP_THREE_EQ_CROSSOVERSLOPE_TYPE : int
718 {
719 _12DB,
720 _24DB,
721 _48DB
722 }
723
724 public enum DSP_THREE_EQ : int
725 {
726 LOWGAIN,
727 MIDGAIN,
728 HIGHGAIN,
729 LOWCROSSOVER,
730 HIGHCROSSOVER,
731 CROSSOVERSLOPE
732 }
733
734 public enum DSP_FFT_WINDOW : int
735 {
736 RECT,
737 TRIANGLE,
738 HAMMING,
739 HANNING,
740 BLACKMAN,
741 BLACKMANHARRIS
742 }
743
744 public enum DSP_FFT : int
745 {
746 WINDOWSIZE,
747 WINDOWTYPE,
748 SPECTRUMDATA,
749 DOMINANT_FREQ
750 }
751
752
753 public enum DSP_LOUDNESS_METER : int
754 {
755 STATE,
756 WEIGHTING,
757 INFO
758 }
759
760
761 public enum DSP_LOUDNESS_METER_STATE_TYPE : int
762 {
763 RESET_INTEGRATED = -3,
764 RESET_MAXPEAK = -2,
765 RESET_ALL = -1,
766 PAUSED = 0,
767 ANALYZING = 1
768 }
769
770 public enum DSP_ENVELOPEFOLLOWER : int
771 {
772 ATTACK,
773 RELEASE,
774 ENVELOPE,
775 USESIDECHAIN
776 }
777
778 public enum DSP_CONVOLUTION_REVERB : int
779 {
780 IR,
781 WET,
782 DRY,
783 LINKED
784 }
785
786 public enum DSP_CHANNELMIX_OUTPUT : int
787 {
788 DEFAULT,
789 ALLMONO,
790 ALLSTEREO,
791 ALLQUAD,
792 ALL5POINT1,
793 ALL7POINT1,
794 ALLLFE,
795 ALL7POINT1POINT4
796 }
797
798 public enum DSP_CHANNELMIX : int
799 {
800 OUTPUTGROUPING,
801 GAIN_CH0,
802 GAIN_CH1,
803 GAIN_CH2,
804 GAIN_CH3,
805 GAIN_CH4,
806 GAIN_CH5,
807 GAIN_CH6,
808 GAIN_CH7,
809 GAIN_CH8,
810 GAIN_CH9,
811 GAIN_CH10,
812 GAIN_CH11,
813 GAIN_CH12,
814 GAIN_CH13,
815 GAIN_CH14,
816 GAIN_CH15,
817 GAIN_CH16,
818 GAIN_CH17,
819 GAIN_CH18,
820 GAIN_CH19,
821 GAIN_CH20,
822 GAIN_CH21,
823 GAIN_CH22,
824 GAIN_CH23,
825 GAIN_CH24,
826 GAIN_CH25,
827 GAIN_CH26,
828 GAIN_CH27,
829 GAIN_CH28,
830 GAIN_CH29,
831 GAIN_CH30,
832 GAIN_CH31,
833 OUTPUT_CH0,
834 OUTPUT_CH1,
835 OUTPUT_CH2,
836 OUTPUT_CH3,
837 OUTPUT_CH4,
838 OUTPUT_CH5,
839 OUTPUT_CH6,
840 OUTPUT_CH7,
841 OUTPUT_CH8,
842 OUTPUT_CH9,
843 OUTPUT_CH10,
844 OUTPUT_CH11,
845 OUTPUT_CH12,
846 OUTPUT_CH13,
847 OUTPUT_CH14,
848 OUTPUT_CH15,
849 OUTPUT_CH16,
850 OUTPUT_CH17,
851 OUTPUT_CH18,
852 OUTPUT_CH19,
853 OUTPUT_CH20,
854 OUTPUT_CH21,
855 OUTPUT_CH22,
856 OUTPUT_CH23,
857 OUTPUT_CH24,
858 OUTPUT_CH25,
859 OUTPUT_CH26,
860 OUTPUT_CH27,
861 OUTPUT_CH28,
862 OUTPUT_CH29,
863 OUTPUT_CH30,
864 OUTPUT_CH31,
865 }
866
867 public enum DSP_TRANSCEIVER_SPEAKERMODE : int
868 {
869 AUTO = -1,
870 MONO = 0,
871 STEREO,
872 SURROUND,
873 }
874
875 public enum DSP_TRANSCEIVER : int
876 {
877 TRANSMIT,
878 GAIN,
879 CHANNEL,
880 TRANSMITSPEAKERMODE
881 }
882
883 public enum DSP_OBJECTPAN : int
884 {
885 _3D_POSITION,
886 _3D_ROLLOFF,
887 _3D_MIN_DISTANCE,
888 _3D_MAX_DISTANCE,
889 _3D_EXTENT_MODE,
890 _3D_SOUND_SIZE,
891 _3D_MIN_EXTENT,
892 OVERALL_GAIN,
893 OUTPUTGAIN,
894 ATTENUATION_RANGE,
895 OVERRIDE_RANGE
896 }
897}