1 /* 2 * Copyright (c) 2017 Derelict Developers 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the names 'Derelict', 'DerelictFmod', nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 module derelict.fmod.dsp_effects; 33 34 alias FMOD_DSP_TYPE = int; 35 enum 36 { 37 FMOD_DSP_TYPE_UNKNOWN, /* This unit was created via a non FMOD plugin so has an unknown purpose. */ 38 FMOD_DSP_TYPE_MIXER, /* This unit does nothing but take inputs and mix them together then feed the result to the soundcard unit. */ 39 FMOD_DSP_TYPE_OSCILLATOR, /* This unit generates sine/square/saw/triangle or noise tones. */ 40 FMOD_DSP_TYPE_LOWPASS, /* This unit filters sound using a high quality, resonant lowpass filter algorithm but consumes more CPU time. */ 41 FMOD_DSP_TYPE_ITLOWPASS, /* This unit filters sound using a resonant lowpass filter algorithm that is used in Impulse Tracker, but with limited cutoff range (0 to 8060hz). */ 42 FMOD_DSP_TYPE_HIGHPASS, /* This unit filters sound using a resonant highpass filter algorithm. */ 43 FMOD_DSP_TYPE_ECHO, /* This unit produces an echo on the sound and fades out at the desired rate. */ 44 FMOD_DSP_TYPE_FADER, /* This unit pans and scales the volume of a unit. */ 45 FMOD_DSP_TYPE_FLANGE, /* This unit produces a flange effect on the sound. */ 46 FMOD_DSP_TYPE_DISTORTION, /* This unit distorts the sound. */ 47 FMOD_DSP_TYPE_NORMALIZE, /* This unit normalizes or amplifies the sound to a certain level. */ 48 FMOD_DSP_TYPE_LIMITER, /* This unit limits the sound to a certain level.*/ 49 FMOD_DSP_TYPE_PARAMEQ, /* This unit attenuates or amplifies a selected frequency range. */ 50 FMOD_DSP_TYPE_PITCHSHIFT, /* This unit bends the pitch of a sound without changing the speed of playback. */ 51 FMOD_DSP_TYPE_CHORUS, /* This unit produces a chorus effect on the sound. */ 52 FMOD_DSP_TYPE_VSTPLUGIN, /* This unit allows the use of Steinberg VST plugins */ 53 FMOD_DSP_TYPE_WINAMPPLUGIN, /* This unit allows the use of Nullsoft Winamp plugins */ 54 FMOD_DSP_TYPE_ITECHO, /* This unit produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. */ 55 FMOD_DSP_TYPE_COMPRESSOR, /* This unit implements dynamic compression (linked multichannel, wideband) */ 56 FMOD_DSP_TYPE_SFXREVERB, /* This unit implements SFX reverb */ 57 FMOD_DSP_TYPE_LOWPASS_SIMPLE, /* This unit filters sound using a simple lowpass with no resonance, but has flexible cutoff and is fast. */ 58 FMOD_DSP_TYPE_DELAY, /* This unit produces different delays on individual channels of the sound. */ 59 FMOD_DSP_TYPE_TREMOLO, /* This unit produces a tremolo / chopper effect on the sound. */ 60 FMOD_DSP_TYPE_LADSPAPLUGIN, /* Unsupported / Deprecated. */ 61 FMOD_DSP_TYPE_SEND, /* This unit sends a copy of the signal to a return DSP anywhere in the DSP tree. */ 62 FMOD_DSP_TYPE_RETURN, /* This unit receives signals from a number of send DSPs. */ 63 FMOD_DSP_TYPE_HIGHPASS_SIMPLE, /* This unit filters sound using a simple highpass with no resonance, but has flexible cutoff and is fast. */ 64 FMOD_DSP_TYPE_PAN, /* This unit pans the signal, possibly upmixing or downmixing as well. */ 65 FMOD_DSP_TYPE_THREE_EQ, /* This unit is a three-band equalizer. */ 66 FMOD_DSP_TYPE_FFT, /* This unit simply analyzes the signal and provides spectrum information back through getParameter. */ 67 FMOD_DSP_TYPE_LOUDNESS_METER, /* This unit analyzes the loudness and true peak of the signal. */ 68 FMOD_DSP_TYPE_ENVELOPEFOLLOWER, /* This unit tracks the envelope of the input/sidechain signal. Format to be publicly disclosed soon. */ 69 FMOD_DSP_TYPE_CONVOLUTIONREVERB, /* This unit implements convolution reverb. */ 70 FMOD_DSP_TYPE_CHANNELMIX, /* This unit provides per signal channel gain, and output channel mapping to allow 1 multichannel signal made up of many groups of signals to map to a single output signal. */ 71 FMOD_DSP_TYPE_TRANSCEIVER, /* This unit 'sends' and 'receives' from a selection of up to 32 different slots. It is like a send/return but it uses global slots rather than returns as the destination. It also has other features. Multiple transceivers can receive from a single channel, or multiple transceivers can send to a single channel, or a combination of both. */ 72 FMOD_DSP_TYPE_OBJECTPAN, /* This unit sends the signal to a 3d object encoder like Dolby Atmos. Supports a subset of the FMOD_DSP_TYPE_PAN parameters. */ 73 FMOD_DSP_TYPE_MULTIBAND_EQ, /* This unit is a flexible five band parametric equalizer. */ 74 75 FMOD_DSP_TYPE_MAX, /* Maximum number of pre-defined DSP types. */ 76 FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ 77 } 78 79 alias FMOD_DSP_OSCILLATOR = int; 80 enum 81 { 82 FMOD_DSP_OSCILLATOR_TYPE, /* (Type:int) - Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise. */ 83 FMOD_DSP_OSCILLATOR_RATE /* (Type:float) - Frequency of the sinewave in hz. 1.0 to 22000.0. Default = 220.0. */ 84 } 85 86 alias FMOD_DSP_LOWPASS = int; 87 enum 88 { 89 FMOD_DSP_LOWPASS_CUTOFF, /* (Type:float) - Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0. */ 90 FMOD_DSP_LOWPASS_RESONANCE /* (Type:float) - Lowpass resonance Q value. 1.0 to 10.0. Default = 1.0. */ 91 } 92 93 alias FMOD_DSP_ITLOWPASS = int; 94 enum 95 { 96 FMOD_DSP_ITLOWPASS_CUTOFF, /* (Type:float) - Lowpass cutoff frequency in hz. 1.0 to 22000.0. Default = 5000.0/ */ 97 FMOD_DSP_ITLOWPASS_RESONANCE /* (Type:float) - Lowpass resonance Q value. 0.0 to 127.0. Default = 1.0. */ 98 } 99 100 alias FMOD_DSP_HIGHPASS = int; 101 enum 102 { 103 FMOD_DSP_HIGHPASS_CUTOFF, /* (Type:float) - Highpass cutoff frequency in hz. 1.0 to output 22000.0. Default = 5000.0. */ 104 FMOD_DSP_HIGHPASS_RESONANCE /* (Type:float) - Highpass resonance Q value. 1.0 to 10.0. Default = 1.0. */ 105 } 106 107 alias FMOD_DSP_ECHO = int; 108 enum 109 { 110 FMOD_DSP_ECHO_DELAY, /* (Type:float) - Echo delay in ms. 10 to 5000. Default = 500. */ 111 FMOD_DSP_ECHO_FEEDBACK, /* (Type:float) - Echo decay per delay. 0 to 100. 100.0 = No decay, 0.0 = total decay (ie simple 1 line delay). Default = 50.0. */ 112 FMOD_DSP_ECHO_DRYLEVEL, /* (Type:float) - Original sound volume in dB. -80.0 to 10.0. Default = 0. */ 113 FMOD_DSP_ECHO_WETLEVEL /* (Type:float) - Volume of echo signal to pass to output in dB. -80.0 to 10.0. Default = 0. */ 114 } 115 116 alias FMOD_DSP_FLANGE = int; 117 enum 118 { 119 FMOD_DSP_FLANGE_MIX, /* (Type:float) - Percentage of wet signal in mix. 0 to 100. Default = 50. */ 120 FMOD_DSP_FLANGE_DEPTH, /* (Type:float) - Flange depth (percentage of 40ms delay). 0.01 to 1.0. Default = 1.0. */ 121 FMOD_DSP_FLANGE_RATE /* (Type:float) - Flange speed in hz. 0.0 to 20.0. Default = 0.1. */ 122 } 123 124 alias FMOD_DSP_DISTORTION = int; 125 enum 126 { 127 FMOD_DSP_DISTORTION_LEVEL /* (Type:float) - Distortion value. 0.0 to 1.0. Default = 0.5. */ 128 } 129 130 alias FMOD_DSP_NORMALIZE = int; 131 enum 132 { 133 FMOD_DSP_NORMALIZE_FADETIME, /* (Type:float) - Time to ramp the silence to full in ms. 0.0 to 20000.0. Default = 5000.0. */ 134 FMOD_DSP_NORMALIZE_THRESHHOLD, /* (Type:float) - Lower volume range threshold to ignore. 0.0 to 1.0. Default = 0.1. Raise higher to stop amplification of very quiet signals. */ 135 FMOD_DSP_NORMALIZE_MAXAMP /* (Type:float) - Maximum amplification allowed. 1.0 to 100000.0. Default = 20.0. 1.0 = no amplifaction, higher values allow more boost. */ 136 } 137 138 alias FMOD_DSP_LIMITER = int; 139 enum 140 { 141 FMOD_DSP_LIMITER_RELEASETIME, /* (Type:float) - Time to ramp the silence to full in ms. 1.0 to 1000.0. Default = 10.0. */ 142 FMOD_DSP_LIMITER_CEILING, /* (Type:float) - Maximum level of the output signal in dB. -12.0 to 0.0. Default = 0.0. */ 143 FMOD_DSP_LIMITER_MAXIMIZERGAIN, /* (Type:float) - Maximum amplification allowed in dB. 0.0 to 12.0. Default = 0.0. 0.0 = no amplifaction, higher values allow more boost. */ 144 FMOD_DSP_LIMITER_MODE, /* (Type:float) - Channel processing mode. 0 or 1. Default = 0. 0 = Independent (limiter per channel), 1 = Linked*/ 145 } 146 147 alias FMOD_DSP_PARAMEQ = int; 148 enum 149 { 150 FMOD_DSP_PARAMEQ_CENTER, /* (Type:float) - Frequency center. 20.0 to 22000.0. Default = 8000.0. */ 151 FMOD_DSP_PARAMEQ_BANDWIDTH, /* (Type:float) - Octave range around the center frequency to filter. 0.2 to 5.0. Default = 1.0. */ 152 FMOD_DSP_PARAMEQ_GAIN /* (Type:float) - Frequency Gain in dB. -30 to 30. Default = 0. */ 153 } 154 155 alias FMOD_DSP_MULTIBAND_EQ = int; 156 enum 157 { 158 FMOD_DSP_MULTIBAND_EQ_A_FILTER, /* (Type:int) - Band A: FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE used to interpret the behavior of the remaining parameters. Default = FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB */ 159 FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, /* (Type:float) - Band A: Significant frequency in Hz, cutoff [low/high pass, low/high shelf], center [notch, peaking, band-pass], phase transition point [all-pass]. 20 to 22000. Default = 8000. */ 160 FMOD_DSP_MULTIBAND_EQ_A_Q, /* (Type:float) - Band A: Quality factor, resonance [low/high pass], bandwidth [notch, peaking, band-pass], phase transition sharpness [all-pass], unused [low/high shelf]. 0.1 to 10.0. Default = 0.707. */ 161 FMOD_DSP_MULTIBAND_EQ_A_GAIN, /* (Type:float) - Band A: Boost or attenuation in dB [peaking, high/low shelf only]. -30 to 30. Default = 0. */ 162 FMOD_DSP_MULTIBAND_EQ_B_FILTER, /* (Type:int) - Band B: See Band A. Default = FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED */ 163 FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY, /* (Type:float) - Band B: See Band A */ 164 FMOD_DSP_MULTIBAND_EQ_B_Q, /* (Type:float) - Band B: See Band A */ 165 FMOD_DSP_MULTIBAND_EQ_B_GAIN, /* (Type:float) - Band B: See Band A */ 166 FMOD_DSP_MULTIBAND_EQ_C_FILTER, /* (Type:int) - Band C: See Band A. Default = FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED */ 167 FMOD_DSP_MULTIBAND_EQ_C_FREQUENCY, /* (Type:float) - Band C: See Band A. */ 168 FMOD_DSP_MULTIBAND_EQ_C_Q, /* (Type:float) - Band C: See Band A. */ 169 FMOD_DSP_MULTIBAND_EQ_C_GAIN, /* (Type:float) - Band C: See Band A. */ 170 FMOD_DSP_MULTIBAND_EQ_D_FILTER, /* (Type:int) - Band D: See Band A. Default = FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED */ 171 FMOD_DSP_MULTIBAND_EQ_D_FREQUENCY, /* (Type:float) - Band D: See Band A. */ 172 FMOD_DSP_MULTIBAND_EQ_D_Q, /* (Type:float) - Band D: See Band A. */ 173 FMOD_DSP_MULTIBAND_EQ_D_GAIN, /* (Type:float) - Band D: See Band A. */ 174 FMOD_DSP_MULTIBAND_EQ_E_FILTER, /* (Type:int) - Band E: See Band A. Default = FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED */ 175 FMOD_DSP_MULTIBAND_EQ_E_FREQUENCY, /* (Type:float) - Band E: See Band A. */ 176 FMOD_DSP_MULTIBAND_EQ_E_Q, /* (Type:float) - Band E: See Band A. */ 177 FMOD_DSP_MULTIBAND_EQ_E_GAIN, /* (Type:float) - Band E: See Band A. */ 178 } 179 180 alias FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE = int; 181 enum 182 { 183 FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED, /* Disabled filter, no processing. */ 184 FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB, /* Resonant low-pass filter, attenuates frequencies (12dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. */ 185 FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB, /* Resonant low-pass filter, attenuates frequencies (24dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. */ 186 FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB, /* Resonant low-pass filter, attenuates frequencies (48dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. */ 187 FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB, /* Resonant low-pass filter, attenuates frequencies (12dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. */ 188 FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB, /* Resonant low-pass filter, attenuates frequencies (24dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. */ 189 FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB, /* Resonant low-pass filter, attenuates frequencies (48dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. */ 190 FMOD_DSP_MULTIBAND_EQ_FILTER_LOWSHELF, /* Low-shelf filter, boosts or attenuates frequencies (with specified gain) below a given point while allowing the rest to pass. */ 191 FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF, /* High-shelf filter, boosts or attenuates frequencies (with specified gain) above a given point while allowing the rest to pass. */ 192 FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING, /* Peaking filter, boosts or attenuates frequencies (with specified gain) at a given point (with specificed bandwidth) while allowing the rest to pass. */ 193 FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS, /* Band-pass filter, allows frequencies at a given point (with specificed bandwidth) to pass while attenuating frequencies outside this range. */ 194 FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH, /* Notch or band-reject filter, attenuates frequencies at a given point (with specificed bandwidth) while allowing frequencies outside this range to pass. */ 195 FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS, /* All-pass filter, allows all frequencies to pass, but changes the phase response at a given point (with specified sharpness). */ 196 } 197 198 alias FMOD_DSP_PITCHSHIFT = int; 199 enum 200 { 201 FMOD_DSP_PITCHSHIFT_PITCH, /* (Type:float) - Pitch value. 0.5 to 2.0. Default = 1.0. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch. */ 202 FMOD_DSP_PITCHSHIFT_FFTSIZE, /* (Type:float) - FFT window size. 256, 512, 1024, 2048, 4096. Default = 1024. Increase this to reduce 'smearing'. This effect is a warbling sound similar to when an mp3 is encoded at very low bitrates. */ 203 FMOD_DSP_PITCHSHIFT_OVERLAP, /* (Type:float) - Removed. Do not use. FMOD now uses 4 overlaps and cannot be changed. */ 204 FMOD_DSP_PITCHSHIFT_MAXCHANNELS /* (Type:float) - Maximum channels supported. 0 to 16. 0 = same as fmod's default output polyphony, 1 = mono, 2 = stereo etc. See remarks for more. Default = 0. It is suggested to leave at 0! */ 205 } 206 207 alias FMOD_DSP_CHORUS = int; 208 enum 209 { 210 FMOD_DSP_CHORUS_MIX, /* (Type:float) - Volume of original signal to pass to output. 0.0 to 100.0. Default = 50.0. */ 211 FMOD_DSP_CHORUS_RATE, /* (Type:float) - Chorus modulation rate in Hz. 0.0 to 20.0. Default = 0.8 Hz. */ 212 FMOD_DSP_CHORUS_DEPTH, /* (Type:float) - Chorus modulation depth. 0.0 to 100.0. Default = 3.0. */ 213 } 214 215 alias FMOD_DSP_ITECHO = int; 216 enum 217 { 218 FMOD_DSP_ITECHO_WETDRYMIX, /* (Type:float) - Ratio of wet (processed) signal to dry (unprocessed) signal. Must be in the range from 0.0 through 100.0 (all wet). The default value is 50. */ 219 FMOD_DSP_ITECHO_FEEDBACK, /* (Type:float) - Percentage of output fed back into input, in the range from 0.0 through 100.0. The default value is 50. */ 220 FMOD_DSP_ITECHO_LEFTDELAY, /* (Type:float) - Delay for left channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms. */ 221 FMOD_DSP_ITECHO_RIGHTDELAY, /* (Type:float) - Delay for right channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms. */ 222 FMOD_DSP_ITECHO_PANDELAY /* (Type:float) - Value that specifies whether to swap left and right delays with each successive echo. The default value is zero, meaning no swap. Possible values are defined as 0.0 (equivalent to FALSE) and 1.0 (equivalent to TRUE). CURRENTLY NOT SUPPORTED. */ 223 } 224 225 alias FMOD_DSP_COMPRESSOR = int; 226 enum 227 { 228 FMOD_DSP_COMPRESSOR_THRESHOLD, /* (Type:float) - Threshold level (dB) in the range from -80 through 0. The default value is 0. */ 229 FMOD_DSP_COMPRESSOR_RATIO, /* (Type:float) - Compression Ratio (dB/dB) in the range from 1 to 50. The default value is 2.5. */ 230 FMOD_DSP_COMPRESSOR_ATTACK, /* (Type:float) - Attack time (milliseconds), in the range from 0.1 through 1000. The default value is 20. */ 231 FMOD_DSP_COMPRESSOR_RELEASE, /* (Type:float) - Release time (milliseconds), in the range from 10 through 5000. The default value is 100 */ 232 FMOD_DSP_COMPRESSOR_GAINMAKEUP, /* (Type:float) - Make-up gain (dB) applied after limiting, in the range from 0 through 30. The default value is 0. */ 233 FMOD_DSP_COMPRESSOR_USESIDECHAIN, /* (Type:bool) - Whether to analyse the sidechain signal instead of the input signal. The default value is false */ 234 FMOD_DSP_COMPRESSOR_LINKED /* (Type:bool) - FALSE = Independent (compressor per channel), TRUE = Linked. The default value is TRUE. */ 235 } 236 237 alias FMOD_DSP_SFXREVERB = int; 238 enum 239 { 240 FMOD_DSP_SFXREVERB_DECAYTIME, /* (Type:float) - Decay Time : Reverberation decay time at low-frequencies in milliseconds. Ranges from 100.0 to 20000.0. Default is 1500. */ 241 FMOD_DSP_SFXREVERB_EARLYDELAY, /* (Type:float) - Early Delay : Delay time of first reflection in milliseconds. Ranges from 0.0 to 300.0. Default is 20. */ 242 FMOD_DSP_SFXREVERB_LATEDELAY, /* (Type:float) - Reverb Delay : Late reverberation delay time relative to first reflection in milliseconds. Ranges from 0.0 to 100.0. Default is 40. */ 243 FMOD_DSP_SFXREVERB_HFREFERENCE, /* (Type:float) - HF Reference : Reference frequency for high-frequency decay in Hz. Ranges from 20.0 to 20000.0. Default is 5000. */ 244 FMOD_DSP_SFXREVERB_HFDECAYRATIO, /* (Type:float) - Decay HF Ratio : High-frequency decay time relative to decay time in percent. Ranges from 10.0 to 100.0. Default is 50. */ 245 FMOD_DSP_SFXREVERB_DIFFUSION, /* (Type:float) - Diffusion : Reverberation diffusion (echo density) in percent. Ranges from 0.0 to 100.0. Default is 100. */ 246 FMOD_DSP_SFXREVERB_DENSITY, /* (Type:float) - Density : Reverberation density (modal density) in percent. Ranges from 0.0 to 100.0. Default is 100. */ 247 FMOD_DSP_SFXREVERB_LOWSHELFFREQUENCY, /* (Type:float) - Low Shelf Frequency : Transition frequency of low-shelf filter in Hz. Ranges from 20.0 to 1000.0. Default is 250. */ 248 FMOD_DSP_SFXREVERB_LOWSHELFGAIN, /* (Type:float) - Low Shelf Gain : Gain of low-shelf filter in dB. Ranges from -36.0 to 12.0. Default is 0. */ 249 FMOD_DSP_SFXREVERB_HIGHCUT, /* (Type:float) - High Cut : Cutoff frequency of low-pass filter in Hz. Ranges from 20.0 to 20000.0. Default is 20000. */ 250 FMOD_DSP_SFXREVERB_EARLYLATEMIX, /* (Type:float) - Early/Late Mix : Blend ratio of late reverb to early reflections in percent. Ranges from 0.0 to 100.0. Default is 50. */ 251 FMOD_DSP_SFXREVERB_WETLEVEL, /* (Type:float) - Wet Level : Reverb signal level in dB. Ranges from -80.0 to 20.0. Default is -6. */ 252 FMOD_DSP_SFXREVERB_DRYLEVEL /* (Type:float) - Dry Level : Dry signal level in dB. Ranges from -80.0 to 20.0. Default is 0. */ 253 } 254 255 alias FMOD_DSP_LOWPASS_SIMPLE = int; 256 enum 257 { 258 FMOD_DSP_LOWPASS_SIMPLE_CUTOFF /* (Type:float) - Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0 */ 259 } 260 261 alias FMOD_DSP_DELAY = int; 262 enum 263 { 264 FMOD_DSP_DELAY_CH0, /* (Type:float) - Channel #0 Delay in ms. 0 to 10000. Default = 0. */ 265 FMOD_DSP_DELAY_CH1, /* (Type:float) - Channel #1 Delay in ms. 0 to 10000. Default = 0. */ 266 FMOD_DSP_DELAY_CH2, /* (Type:float) - Channel #2 Delay in ms. 0 to 10000. Default = 0. */ 267 FMOD_DSP_DELAY_CH3, /* (Type:float) - Channel #3 Delay in ms. 0 to 10000. Default = 0. */ 268 FMOD_DSP_DELAY_CH4, /* (Type:float) - Channel #4 Delay in ms. 0 to 10000. Default = 0. */ 269 FMOD_DSP_DELAY_CH5, /* (Type:float) - Channel #5 Delay in ms. 0 to 10000. Default = 0. */ 270 FMOD_DSP_DELAY_CH6, /* (Type:float) - Channel #6 Delay in ms. 0 to 10000. Default = 0. */ 271 FMOD_DSP_DELAY_CH7, /* (Type:float) - Channel #7 Delay in ms. 0 to 10000. Default = 0. */ 272 FMOD_DSP_DELAY_CH8, /* (Type:float) - Channel #8 Delay in ms. 0 to 10000. Default = 0. */ 273 FMOD_DSP_DELAY_CH9, /* (Type:float) - Channel #9 Delay in ms. 0 to 10000. Default = 0. */ 274 FMOD_DSP_DELAY_CH10, /* (Type:float) - Channel #10 Delay in ms. 0 to 10000. Default = 0. */ 275 FMOD_DSP_DELAY_CH11, /* (Type:float) - Channel #11 Delay in ms. 0 to 10000. Default = 0. */ 276 FMOD_DSP_DELAY_CH12, /* (Type:float) - Channel #12 Delay in ms. 0 to 10000. Default = 0. */ 277 FMOD_DSP_DELAY_CH13, /* (Type:float) - Channel #13 Delay in ms. 0 to 10000. Default = 0. */ 278 FMOD_DSP_DELAY_CH14, /* (Type:float) - Channel #14 Delay in ms. 0 to 10000. Default = 0. */ 279 FMOD_DSP_DELAY_CH15, /* (Type:float) - Channel #15 Delay in ms. 0 to 10000. Default = 0. */ 280 FMOD_DSP_DELAY_MAXDELAY /* (Type:float) - Maximum delay in ms. 0 to 10000. Default = 10. */ 281 } 282 283 alias FMOD_DSP_TREMOLO = int; 284 enum 285 { 286 FMOD_DSP_TREMOLO_FREQUENCY, /* (Type:float) - LFO frequency in Hz. 0.1 to 20. Default = 5. */ 287 FMOD_DSP_TREMOLO_DEPTH, /* (Type:float) - Tremolo depth. 0 to 1. Default = 1. */ 288 FMOD_DSP_TREMOLO_SHAPE, /* (Type:float) - LFO shape morph between triangle and sine. 0 to 1. Default = 0. */ 289 FMOD_DSP_TREMOLO_SKEW, /* (Type:float) - Time-skewing of LFO cycle. -1 to 1. Default = 0. */ 290 FMOD_DSP_TREMOLO_DUTY, /* (Type:float) - LFO on-time. 0 to 1. Default = 0.5. */ 291 FMOD_DSP_TREMOLO_SQUARE, /* (Type:float) - Flatness of the LFO shape. 0 to 1. Default = 0. */ 292 FMOD_DSP_TREMOLO_PHASE, /* (Type:float) - Instantaneous LFO phase. 0 to 1. Default = 0. */ 293 FMOD_DSP_TREMOLO_SPREAD /* (Type:float) - Rotation / auto-pan effect. -1 to 1. Default = 0. */ 294 } 295 296 alias FMOD_DSP_SEND = int; 297 enum 298 { 299 FMOD_DSP_SEND_RETURNID, /* (Type:int) - ID of the Return DSP this send is connected to (integer values only). -1 indicates no connected Return DSP. Default = -1. */ 300 FMOD_DSP_SEND_LEVEL, /* (Type:float) - Send level. 0.0 to 1.0. Default = 1.0 */ 301 } 302 303 alias FMOD_DSP_RETURN = int; 304 enum 305 { 306 FMOD_DSP_RETURN_ID, /* (Type:int) - [r] ID of this Return DSP. Read-only. Default = -1*/ 307 FMOD_DSP_RETURN_INPUT_SPEAKER_MODE /* (Type:int) - [r/w] Input speaker mode of this return. Default = FMOD_SPEAKERMODE_DEFAULT.*/ 308 } 309 310 alias FMOD_DSP_HIGHPASS_SIMPLE = int; 311 enum 312 { 313 FMOD_DSP_HIGHPASS_SIMPLE_CUTOFF /* (Type:float) - Highpass cutoff frequency in hz. 10.0 to 22000.0. Default = 1000.0 */ 314 } 315 316 alias FMOD_DSP_PAN_2D_STEREO_MODE_TYPE = int; 317 enum 318 { 319 FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED, /* The parts of a stereo sound are spread around desination speakers based on FMOD_DSP_PAN_2D_EXTENT / FMOD_DSP_PAN_2D_DIRECTION */ 320 FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE /* The L/R parts of a stereo sound are rotated around a circle based on FMOD_DSP_PAN_2D_STEREO_AXIS / FMOD_DSP_PAN_2D_STEREO_SEPARATION. */ 321 } 322 323 alias FMOD_DSP_PAN_MODE_TYPE = int; 324 enum 325 { 326 FMOD_DSP_PAN_MODE_MONO, 327 FMOD_DSP_PAN_MODE_STEREO, 328 FMOD_DSP_PAN_MODE_SURROUND 329 } 330 331 alias FMOD_DSP_PAN_3D_ROLLOFF_TYPE = int; 332 enum 333 { 334 FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED, 335 FMOD_DSP_PAN_3D_ROLLOFF_LINEAR, 336 FMOD_DSP_PAN_3D_ROLLOFF_INVERSE, 337 FMOD_DSP_PAN_3D_ROLLOFF_INVERSETAPERED, 338 FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM 339 } 340 341 alias FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE = int; 342 enum 343 { 344 FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO, 345 FMOD_DSP_PAN_3D_EXTENT_MODE_USER, 346 FMOD_DSP_PAN_3D_EXTENT_MODE_OFF 347 } 348 349 alias FMOD_DSP_PAN = int; 350 enum 351 { 352 FMOD_DSP_PAN_MODE, /* (Type:int) - Panner mode. FMOD_DSP_PAN_MODE_MONO for mono down-mix, FMOD_DSP_PAN_MODE_STEREO for stereo panning or FMOD_DSP_PAN_MODE_SURROUND for surround panning. Default = FMOD_DSP_PAN_MODE_SURROUND */ 353 FMOD_DSP_PAN_2D_STEREO_POSITION, /* (Type:float) - 2D Stereo pan position. -100.0 to 100.0. Default = 0.0. */ 354 FMOD_DSP_PAN_2D_DIRECTION, /* (Type:float) - 2D Surround pan direction. Direction from center point of panning circle. -180.0 (degrees) to 180.0 (degrees). 0 = front center, -180 or +180 = rear speakers center point. Default = 0.0. */ 355 FMOD_DSP_PAN_2D_EXTENT, /* (Type:float) - 2D Surround pan extent. Distance from center point of panning circle. 0.0 (degrees) to 360.0 (degrees). Default = 360.0. */ 356 FMOD_DSP_PAN_2D_ROTATION, /* (Type:float) - 2D Surround pan rotation. -180.0 (degrees) to 180.0 (degrees). Default = 0.0. */ 357 FMOD_DSP_PAN_2D_LFE_LEVEL, /* (Type:float) - 2D Surround pan LFE level. 2D LFE level in dB. -80.0 (db) to 20.0 (db). Default = 0.0. */ 358 FMOD_DSP_PAN_2D_STEREO_MODE, /* (Type:int) - Stereo-To-Surround Mode. FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED to FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE. Default = FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE.*/ 359 FMOD_DSP_PAN_2D_STEREO_SEPARATION, /* (Type:float) - Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE mode. Separation/width of L/R parts of stereo sound. -180.0 (degrees) to +180.0 (degrees). Default = 60.0. */ 360 FMOD_DSP_PAN_2D_STEREO_AXIS, /* (Type:float) - Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE mode. Axis/rotation of L/R parts of stereo sound. -180.0 (degrees) to +180.0 (degrees). Default = 0.0. */ 361 FMOD_DSP_PAN_ENABLED_SPEAKERS, /* (Type:int) - Speakers Enabled. Bitmask for each speaker from 0 to 32 to be considered by panner. Use to disable speakers from being panned to. 0 to 0xFFF. Default = 0xFFF (All on). */ 362 FMOD_DSP_PAN_3D_POSITION, /* (Type:data) - 3D Position. data of type FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI */ 363 FMOD_DSP_PAN_3D_ROLLOFF, /* (Type:int) - 3D Rolloff. FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED to FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM. Default = FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED. */ 364 FMOD_DSP_PAN_3D_MIN_DISTANCE, /* (Type:float) - 3D Min Distance. 0.0 to 1e+19f. Default = 1.0. */ 365 FMOD_DSP_PAN_3D_MAX_DISTANCE, /* (Type:float) - 3D Max Distance. 0.0 to 1e+19f. Default = 20.0. */ 366 FMOD_DSP_PAN_3D_EXTENT_MODE, /* (Type:int) - 3D Extent Mode. FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO to FMOD_DSP_PAN_3D_EXTENT_MODE_OFF. Default = FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO. */ 367 FMOD_DSP_PAN_3D_SOUND_SIZE, /* (Type:float) - 3D Sound Size. 0.0 to 1e+19f. Default = 0.0. */ 368 FMOD_DSP_PAN_3D_MIN_EXTENT, /* (Type:float) - 3D Min Extent. 0.0 (degrees) to 360.0 (degrees). Default = 0.0. */ 369 FMOD_DSP_PAN_3D_PAN_BLEND, /* (Type:float) - 3D Pan Blend. 0.0 (fully 2D) to 1.0 (fully 3D). Default = 0.0. */ 370 FMOD_DSP_PAN_LFE_UPMIX_ENABLED, /* (Type:int) - LFE Upmix Enabled. 0 to 1. Default = 0. */ 371 FMOD_DSP_PAN_OVERALL_GAIN, /* (Type:data) - Overall gain. data of type FMOD_DSP_PARAMETER_DATA_TYPE_OVERALLGAIN */ 372 FMOD_DSP_PAN_SURROUND_SPEAKER_MODE /* (Type:int) - Surround speaker mode. Target speaker mode for surround panning. */ 373 } 374 375 alias FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE = int; 376 enum 377 { 378 FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_12DB, 379 FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_24DB, 380 FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_48DB 381 } 382 383 alias FMOD_DSP_THREE_EQ = int; 384 enum 385 { 386 FMOD_DSP_THREE_EQ_LOWGAIN, /* (Type:float) - Low frequency gain in dB. -80.0 to 10.0. Default = 0. */ 387 FMOD_DSP_THREE_EQ_MIDGAIN, /* (Type:float) - Mid frequency gain in dB. -80.0 to 10.0. Default = 0. */ 388 FMOD_DSP_THREE_EQ_HIGHGAIN, /* (Type:float) - High frequency gain in dB. -80.0 to 10.0. Default = 0. */ 389 FMOD_DSP_THREE_EQ_LOWCROSSOVER, /* (Type:float) - Low-to-mid crossover frequency in Hz. 10.0 to 22000.0. Default = 400.0. */ 390 FMOD_DSP_THREE_EQ_HIGHCROSSOVER, /* (Type:float) - Mid-to-high crossover frequency in Hz. 10.0 to 22000.0. Default = 4000.0. */ 391 FMOD_DSP_THREE_EQ_CROSSOVERSLOPE /* (Type:int) - Crossover Slope. 0 = 12dB/Octave, 1 = 24dB/Octave, 2 = 48dB/Octave. Default = 1 (24dB/Octave). */ 392 } 393 394 alias FMOD_DSP_FFT_WINDOW = int; 395 enum 396 { 397 FMOD_DSP_FFT_WINDOW_RECT, /* w[n] = 1.0 */ 398 FMOD_DSP_FFT_WINDOW_TRIANGLE, /* w[n] = TRI(2n/N) */ 399 FMOD_DSP_FFT_WINDOW_HAMMING, /* w[n] = 0.54 - (0.46 * COS(n/N) ) */ 400 FMOD_DSP_FFT_WINDOW_HANNING, /* w[n] = 0.5 * (1.0 - COS(n/N) ) */ 401 FMOD_DSP_FFT_WINDOW_BLACKMAN, /* w[n] = 0.42 - (0.5 * COS(n/N) ) + (0.08 * COS(2.0 * n/N) ) */ 402 FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS /* w[n] = 0.35875 - (0.48829 * COS(1.0 * n/N)) + (0.14128 * COS(2.0 * n/N)) - (0.01168 * COS(3.0 * n/N)) */ 403 } 404 405 alias FMOD_DSP_FFT = int; 406 enum 407 { 408 FMOD_DSP_FFT_WINDOWSIZE, /* (Type:int) - [r/w] Must be a power of 2 between 128 and 16384. 128, 256, 512, 1024, 2048, 4096, 8192, 16384 are accepted. Default = 2048. */ 409 FMOD_DSP_FFT_WINDOWTYPE, /* (Type:int) - [r/w] Refer to FMOD_DSP_FFT_WINDOW enumeration. Default = FMOD_DSP_FFT_WINDOW_HAMMING. */ 410 FMOD_DSP_FFT_SPECTRUMDATA, /* (Type:data) - [r] Returns the current spectrum values between 0 and 1 for each 'fft bin'. Cast data to FMOD_DSP_PARAMETER_DATA_TYPE_FFT. Divide the niquist rate by the window size to get the hz value per entry. */ 411 FMOD_DSP_FFT_DOMINANT_FREQ /* (Type:float) - [r] Returns the dominant frequencies for each channel. */ 412 } 413 414 alias FMOD_DSP_ENVELOPEFOLLOWER = int; 415 enum 416 { 417 FMOD_DSP_ENVELOPEFOLLOWER_ATTACK, /* (Type:float) [r/w] - Attack time (milliseconds), in the range from 0.1 through 1000. The default value is 20. */ 418 FMOD_DSP_ENVELOPEFOLLOWER_RELEASE, /* (Type:float) [r/w] - Release time (milliseconds), in the range from 10 through 5000. The default value is 100 */ 419 FMOD_DSP_ENVELOPEFOLLOWER_ENVELOPE, /* (Type:float) [r] - Current value of the envelope, in the range 0 to 1. Read-only. */ 420 FMOD_DSP_ENVELOPEFOLLOWER_USESIDECHAIN /* (Type:bool) [r/w] - Whether to analyse the sidechain signal instead of the input signal. The default value is false */ 421 } 422 423 alias FMOD_DSP_CONVOLUTION_REVERB = int; 424 enum 425 { 426 FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR, /* (Type:data) - [w] 16-bit reverb IR (short*) with an extra sample prepended to the start which specifies the number of channels. */ 427 FMOD_DSP_CONVOLUTION_REVERB_PARAM_WET, /* (Type:float) - [r/w] Volume of echo signal to pass to output in dB. -80.0 to 10.0. Default = 0. */ 428 FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY, /* (Type:float) - [r/w] Original sound volume in dB. -80.0 to 10.0. Default = 0. */ 429 FMOD_DSP_CONVOLUTION_REVERB_PARAM_LINKED /* (Type:bool) - [r/w] Linked - channels are mixed together before processing through the reverb. Default = TRUE. */ 430 } 431 432 alias FMOD_DSP_CHANNELMIX_OUTPUT = int; 433 enum 434 { 435 FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT, /* Output channel count = input channel count. Mapping: See FMOD_SPEAKER enumeration. */ 436 FMOD_DSP_CHANNELMIX_OUTPUT_ALLMONO, /* Output channel count = 1. Mapping: Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel all the way up to FMOD_MAX_CHANNEL_WIDTH channels are treated as if they were mono) */ 437 FMOD_DSP_CHANNELMIX_OUTPUT_ALLSTEREO, /* Output channel count = 2. Mapping: Left, Right, Left, Right, Left, Right, ... (each pair of channels is treated as stereo all the way up to FMOD_MAX_CHANNEL_WIDTH channels) */ 438 FMOD_DSP_CHANNELMIX_OUTPUT_ALLQUAD, /* Output channel count = 4. Mapping: Repeating pattern of Front Left, Front Right, Surround Left, Surround Right. */ 439 FMOD_DSP_CHANNELMIX_OUTPUT_ALL5POINT1, /* Output channel count = 6. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right. */ 440 FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1, /* Output channel count = 8. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right. */ 441 FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE /* Output channel count = 6. Mapping: Repeating pattern of LFE in a 5.1 output signal. */ 442 } 443 444 alias FMOD_DSP_CHANNELMIX = int; 445 enum 446 { 447 FMOD_DSP_CHANNELMIX_OUTPUTGROUPING, /* (Type:int) - Refer to FMOD_DSP_CHANNELMIX_OUTPUT enumeration. Default = FMOD_DSP_CHANNELGAIN_OUTPUT_DEFAULT. See remarks. */ 448 FMOD_DSP_CHANNELMIX_GAIN_CH0, /* (Type:float) - Channel #0 gain in dB. -80.0 to 10.0. Default = 0. */ 449 FMOD_DSP_CHANNELMIX_GAIN_CH1, /* (Type:float) - Channel #1 gain in dB. -80.0 to 10.0. Default = 0. */ 450 FMOD_DSP_CHANNELMIX_GAIN_CH2, /* (Type:float) - Channel #2 gain in dB. -80.0 to 10.0. Default = 0. */ 451 FMOD_DSP_CHANNELMIX_GAIN_CH3, /* (Type:float) - Channel #3 gain in dB. -80.0 to 10.0. Default = 0. */ 452 FMOD_DSP_CHANNELMIX_GAIN_CH4, /* (Type:float) - Channel #4 gain in dB. -80.0 to 10.0. Default = 0. */ 453 FMOD_DSP_CHANNELMIX_GAIN_CH5, /* (Type:float) - Channel #5 gain in dB. -80.0 to 10.0. Default = 0. */ 454 FMOD_DSP_CHANNELMIX_GAIN_CH6, /* (Type:float) - Channel #6 gain in dB. -80.0 to 10.0. Default = 0. */ 455 FMOD_DSP_CHANNELMIX_GAIN_CH7, /* (Type:float) - Channel #7 gain in dB. -80.0 to 10.0. Default = 0. */ 456 FMOD_DSP_CHANNELMIX_GAIN_CH8, /* (Type:float) - Channel #8 gain in dB. -80.0 to 10.0. Default = 0. */ 457 FMOD_DSP_CHANNELMIX_GAIN_CH9, /* (Type:float) - Channel #9 gain in dB. -80.0 to 10.0. Default = 0. */ 458 FMOD_DSP_CHANNELMIX_GAIN_CH10, /* (Type:float) - Channel #10 gain in dB. -80.0 to 10.0. Default = 0. */ 459 FMOD_DSP_CHANNELMIX_GAIN_CH11, /* (Type:float) - Channel #11 gain in dB. -80.0 to 10.0. Default = 0. */ 460 FMOD_DSP_CHANNELMIX_GAIN_CH12, /* (Type:float) - Channel #12 gain in dB. -80.0 to 10.0. Default = 0. */ 461 FMOD_DSP_CHANNELMIX_GAIN_CH13, /* (Type:float) - Channel #13 gain in dB. -80.0 to 10.0. Default = 0. */ 462 FMOD_DSP_CHANNELMIX_GAIN_CH14, /* (Type:float) - Channel #14 gain in dB. -80.0 to 10.0. Default = 0. */ 463 FMOD_DSP_CHANNELMIX_GAIN_CH15, /* (Type:float) - Channel #15 gain in dB. -80.0 to 10.0. Default = 0. */ 464 FMOD_DSP_CHANNELMIX_GAIN_CH16, /* (Type:float) - Channel #16 gain in dB. -80.0 to 10.0. Default = 0. */ 465 FMOD_DSP_CHANNELMIX_GAIN_CH17, /* (Type:float) - Channel #17 gain in dB. -80.0 to 10.0. Default = 0. */ 466 FMOD_DSP_CHANNELMIX_GAIN_CH18, /* (Type:float) - Channel #18 gain in dB. -80.0 to 10.0. Default = 0. */ 467 FMOD_DSP_CHANNELMIX_GAIN_CH19, /* (Type:float) - Channel #19 gain in dB. -80.0 to 10.0. Default = 0. */ 468 FMOD_DSP_CHANNELMIX_GAIN_CH20, /* (Type:float) - Channel #20 gain in dB. -80.0 to 10.0. Default = 0. */ 469 FMOD_DSP_CHANNELMIX_GAIN_CH21, /* (Type:float) - Channel #21 gain in dB. -80.0 to 10.0. Default = 0. */ 470 FMOD_DSP_CHANNELMIX_GAIN_CH22, /* (Type:float) - Channel #22 gain in dB. -80.0 to 10.0. Default = 0. */ 471 FMOD_DSP_CHANNELMIX_GAIN_CH23, /* (Type:float) - Channel #23 gain in dB. -80.0 to 10.0. Default = 0. */ 472 FMOD_DSP_CHANNELMIX_GAIN_CH24, /* (Type:float) - Channel #24 gain in dB. -80.0 to 10.0. Default = 0. */ 473 FMOD_DSP_CHANNELMIX_GAIN_CH25, /* (Type:float) - Channel #25 gain in dB. -80.0 to 10.0. Default = 0. */ 474 FMOD_DSP_CHANNELMIX_GAIN_CH26, /* (Type:float) - Channel #26 gain in dB. -80.0 to 10.0. Default = 0. */ 475 FMOD_DSP_CHANNELMIX_GAIN_CH27, /* (Type:float) - Channel #27 gain in dB. -80.0 to 10.0. Default = 0. */ 476 FMOD_DSP_CHANNELMIX_GAIN_CH28, /* (Type:float) - Channel #28 gain in dB. -80.0 to 10.0. Default = 0. */ 477 FMOD_DSP_CHANNELMIX_GAIN_CH29, /* (Type:float) - Channel #29 gain in dB. -80.0 to 10.0. Default = 0. */ 478 FMOD_DSP_CHANNELMIX_GAIN_CH30, /* (Type:float) - Channel #30 gain in dB. -80.0 to 10.0. Default = 0. */ 479 FMOD_DSP_CHANNELMIX_GAIN_CH31 /* (Type:float) - Channel #31 gain in dB. -80.0 to 10.0. Default = 0. */ 480 } 481 482 alias FMOD_DSP_TRANSCEIVER_SPEAKERMODE = int; 483 enum 484 { 485 FMOD_DSP_TRANSCEIVER_SPEAKERMODE_AUTO = -1, /* A transmitter will use whatever signal channel count coming in to the transmitter, to determine which speaker mode is allocated for the transceiver channel. */ 486 FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO = 0, /* A transmitter will always downmix to a mono channel buffer. */ 487 FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO, /* A transmitter will always upmix or downmix to a stereo channel buffer. */ 488 FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND, /* A transmitter will always upmix or downmix to a surround channel buffer. Surround is the speaker mode of the system above stereo, so could be quad/surround/5.1/7.1. */ 489 } 490 491 alias FMOD_DSP_TRANSCEIVER = int; 492 enum 493 { 494 FMOD_DSP_TRANSCEIVER_TRANSMIT, /* (Type:bool) - [r/w] - FALSE = Transceiver is a 'receiver' (like a return) and accepts data from a channel. TRUE = Transceiver is a 'transmitter' (like a send). Default = FALSE. */ 495 FMOD_DSP_TRANSCEIVER_GAIN, /* (Type:float) - [r/w] - Gain to receive or transmit at in dB. -80.0 to 10.0. Default = 0. */ 496 FMOD_DSP_TRANSCEIVER_CHANNEL, /* (Type:int) - [r/w] - Integer to select current global slot, shared by all Transceivers, that can be transmitted to or received from. 0 to 31. Default = 0.*/ 497 FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE /* (Type:int) - [r/w] - Speaker mode (transmitter mode only). Specifies either 0 (Auto) Default = 0.*/ 498 } 499 500 alias FMOD_DSP_OBJECTPAN = int; 501 enum 502 { 503 FMOD_DSP_OBJECTPAN_3D_POSITION, /* (Type:data) - 3D Position. data of type FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI */ 504 FMOD_DSP_OBJECTPAN_3D_ROLLOFF, /* (Type:int) - 3D Rolloff. FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED to FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM. Default = FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED. */ 505 FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE, /* (Type:float) - 3D Min Distance. 0.0 to 1e+19f. Default = 1.0. */ 506 FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE, /* (Type:float) - 3D Max Distance. 0.0 to 1e+19f. Default = 20.0. */ 507 FMOD_DSP_OBJECTPAN_3D_EXTENT_MODE, /* (Type:int) - 3D Extent Mode. FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO to FMOD_DSP_PAN_3D_EXTENT_MODE_OFF. Default = FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO. */ 508 FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE, /* (Type:float) - 3D Sound Size. 0.0 to 1e+19f. Default = 0.0. */ 509 FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT, /* (Type:float) - 3D Min Extent. 0.0 (degrees) to 360.0 (degrees). Default = 0.0. */ 510 FMOD_DSP_OBJECTPAN_OVERALL_GAIN, /* (Type:data) - Overall gain. For information only, not set by user. Data of type FMOD_DSP_PARAMETER_DATA_TYPE_OVERALLGAIN to provide to FMOD, to allow FMOD to know the DSP is scaling the signal for virtualization purposes. */ 511 FMOD_DSP_OBJECTPAN_OUTPUTGAIN /* (Type:float) - Output gain level. 0.0 to 1.0 linear scale. For the user to scale the output of the object panner's signal. */ 512 }