2 * Copyright (c) 2007-2010 SlimDX Group
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
31 /// The SoundEffectI3DL2Reverb object is used to set and retrieve effect parameters on a buffer that supports I3DL2 (Interactive 3D Audio Level 2) reverberation effects.
33 /// <unmanaged>IDirectSoundFXI3DL2Reverb</unmanaged>
34 public ref class I3DL2Reverb : public ComObject
36 COMOBJECT(IDirectSoundFXI3DL2Reverb, I3DL2Reverb);
40 /// Attenuation of the room effect, in millibels (mB).
45 void set( int value );
49 /// Attenuation of the room high-frequency effect, in mB.
54 void set( int value );
58 /// Rolloff factor for the reflected signals.
60 property float RoomRolloffFactor
63 void set( float value );
67 /// Decay time, in seconds.
69 property float DecayTime
72 void set( float value );
76 /// Ratio of the decay time at high frequencies to the decay time at low frequencies.
78 property float DecayHFRatio
81 void set( float value );
85 /// Attenuation of early reflections relative to Room, in mB.
87 property int Reflections
90 void set( int value );
94 /// Delay time of the first reflection relative to the direct path, in seconds.
96 property float ReflectionsDelay
99 void set( float value );
103 /// Attenuation of late reverberation relative to Room, in mB.
108 void set( int value );
112 /// Time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
114 property float ReverbDelay
117 void set( float value );
121 /// Echo density in the late reverberation decay, in percent.
123 property float Diffusion
126 void set( float value );
130 /// Modal density in the late reverberation decay, in percent.
132 property float Density
135 void set( float value );
139 /// Reference high frequency, in hertz.
141 property float HFReference
144 void set( float value );
148 /// Gets or sets the quality of the environmental reverberation effect.
153 void set( int value );
157 /// Gets or sets the standard reverberation parameters of a buffer.
159 property I3DL2ReverbPreset Preset
161 I3DL2ReverbPreset get();
162 void set( I3DL2ReverbPreset value );
166 /// Default attenuation of the room effect, in millibels (mB).
168 literal int RoomDefault = DSFX_I3DL2REVERB_ROOM_DEFAULT;
171 /// Maximum attenuation of the room effect, in millibels (mB).
173 literal int RoomMax = DSFX_I3DL2REVERB_ROOM_MAX;
176 /// Minimum attenuation of the room effect, in millibels (mB).
178 literal int RoomMin = DSFX_I3DL2REVERB_ROOM_MIN;
181 /// Default attenuation of the room high-frequency effect, in mB.
183 literal int RoomHFDefault = DSFX_I3DL2REVERB_ROOMHF_DEFAULT;
186 /// Maximum attenuation of the room high-frequency effect, in mB.
188 literal int RoomHFMax = DSFX_I3DL2REVERB_ROOMHF_MAX;
191 /// Minimum attenuation of the room high-frequency effect, in mB.
193 literal int RoomHFMin = DSFX_I3DL2REVERB_ROOMHF_MIN;
196 /// Default rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
198 literal float RoomRolloffFactorDefault = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT;
201 /// Maximum rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
203 literal float RoomRolloffFactorMax = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX;
206 /// Minimum rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
208 literal float RoomRolloffFactorMin = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN;
211 /// Default decay time, in seconds.
213 literal float DecayTimeDefault = DSFX_I3DL2REVERB_DECAYTIME_DEFAULT;
216 /// Maximum decay time, in seconds.
218 literal float DecayTimeMax = DSFX_I3DL2REVERB_DECAYTIME_MAX;
221 /// Minimum decay time, in seconds.
223 literal float DecayTimeMin = DSFX_I3DL2REVERB_DECAYTIME_MIN;
226 /// Default ratio of the decay time at high frequencies to the decay time at low frequencies.
228 literal float DecayHFRatioDefault = DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT;
231 /// Maximum ratio of the decay time at high frequencies to the decay time at low frequencies.
233 literal float DecayHFRatioMax = DSFX_I3DL2REVERB_DECAYHFRATIO_MAX;
236 /// Minimum ratio of the decay time at high frequencies to the decay time at low frequencies.
238 literal float DecayHFRatioMin = DSFX_I3DL2REVERB_DECAYHFRATIO_MIN;
241 /// Default attenuation of early reflections relative to Room, in mB.
243 literal int ReflectionsDefault = DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT;
246 /// Maximum attenuation of early reflections relative to Room, in mB.
248 literal int ReflectionsMax = DSFX_I3DL2REVERB_REFLECTIONS_MAX;
251 /// Minimum attenuation of early reflections relative to Room, in mB.
253 literal int ReflectionsMin = DSFX_I3DL2REVERB_REFLECTIONS_MIN;
256 /// Default delay time of the first reflection relative to the direct path, in seconds.
258 literal float ReflectionsDelayDefault = DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT;
261 /// Maximum delay time of the first reflection relative to the direct path, in seconds.
263 literal float ReflectionsDelayMax = DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX;
266 /// Minimum delay time of the first reflection relative to the direct path, in seconds.
268 literal float ReflectionsDelayMin = DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN;
271 /// Default attenuation of late reverberation relative to Room, in mB.
273 literal int ReverbDefault = DSFX_I3DL2REVERB_REVERB_DEFAULT;
276 /// Maximum attenuation of late reverberation relative to Room, in mB.
278 literal int ReverbMax = DSFX_I3DL2REVERB_REVERB_MAX;
281 /// Minimum attenuation of late reverberation relative to Room, in mB.
283 literal int ReverbMin = DSFX_I3DL2REVERB_REVERB_MIN;
286 /// Default time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
288 literal float ReverbDelayDefault = DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT;
291 /// Maximum time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
293 literal float ReverbDelayMax = DSFX_I3DL2REVERB_REVERBDELAY_MAX;
296 /// Minimum time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
298 literal float ReverbDelayMin = DSFX_I3DL2REVERB_REVERBDELAY_MIN;
301 /// Default modal density in the late reverberation decay, in percent.
303 literal float DensityDefault = DSFX_I3DL2REVERB_DENSITY_DEFAULT;
306 /// Maximum modal density in the late reverberation decay, in percent.
308 literal float DensityMax = DSFX_I3DL2REVERB_DENSITY_MAX;
311 /// Minimum modal density in the late reverberation decay, in percent.
313 literal float DensityMin = DSFX_I3DL2REVERB_DENSITY_MIN;
316 /// Default echo density in the late reverberation decay, in percent.
318 literal float DiffusionDefault = DSFX_I3DL2REVERB_DIFFUSION_DEFAULT;
321 /// Maximum echo density in the late reverberation decay, in percent.
323 literal float DiffusionMax = DSFX_I3DL2REVERB_DIFFUSION_MAX;
326 /// Minimum echo density in the late reverberation decay, in percent.
328 literal float DiffusionMin = DSFX_I3DL2REVERB_DIFFUSION_MIN;
331 /// Default reference high frequency, in hertz.
333 literal float HFReferenceDefault = DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT;
336 /// Maximum reference high frequency, in hertz.
338 literal float HFReferenceMax = DSFX_I3DL2REVERB_HFREFERENCE_MAX;
341 /// Minimum reference high frequency, in hertz.
343 literal float HFReferenceMin = DSFX_I3DL2REVERB_HFREFERENCE_MIN;