OSDN Git Service

#32713 初コミット。SVNrev567時点での、ファイルはbranch/140707(ReBuild XGVersion)から移行したもの。
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / SlimDXc_Jun2010(VC++2008) / source / directsound / I3DL2Reverb.h
1 /*
2 * Copyright (c) 2007-2010 SlimDX Group
3
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:
10
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13
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
20 * THE SOFTWARE.
21 */
22 #pragma once
23
24 #include "Enums.h"
25
26 namespace SlimDX
27 {
28         namespace DirectSound
29         {
30                 /// <summary>
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.
32                 /// </summary>
33                 /// <unmanaged>IDirectSoundFXI3DL2Reverb</unmanaged>
34                 public ref class I3DL2Reverb : public ComObject
35                 {
36                         COMOBJECT(IDirectSoundFXI3DL2Reverb, I3DL2Reverb);
37
38                 public:
39                         /// <summary>
40                         /// Attenuation of the room effect, in millibels (mB).
41                         /// </summary>
42                         property int Room
43                         {
44                                 int get();
45                                 void set( int value );
46                         }
47
48                         /// <summary>
49                         /// Attenuation of the room high-frequency effect, in mB.
50                         /// </summary>
51                         property int RoomHF
52                         {
53                                 int get();
54                                 void set( int value );
55                         }
56
57                         /// <summary>
58                         /// Rolloff factor for the reflected signals.
59                         /// </summary>
60                         property float RoomRolloffFactor
61                         {
62                                 float get();
63                                 void set( float value );
64                         }
65
66                         /// <summary>
67                         /// Decay time, in seconds.
68                         /// </summary>
69                         property float DecayTime
70                         {
71                                 float get();
72                                 void set( float value );
73                         }
74
75                         /// <summary>
76                         /// Ratio of the decay time at high frequencies to the decay time at low frequencies.
77                         /// </summary>
78                         property float DecayHFRatio
79                         {
80                                 float get();
81                                 void set( float value );
82                         }
83
84                         /// <summary>
85                         /// Attenuation of early reflections relative to Room, in mB.
86                         /// </summary>
87                         property int Reflections
88                         {
89                                 int get();
90                                 void set( int value );
91                         }
92
93                         /// <summary>
94                         /// Delay time of the first reflection relative to the direct path, in seconds.
95                         /// </summary>
96                         property float ReflectionsDelay
97                         {
98                                 float get();
99                                 void set( float value );
100                         }
101
102                         /// <summary>
103                         /// Attenuation of late reverberation relative to Room, in mB.
104                         /// </summary>
105                         property int Reverb
106                         {
107                                 int get();
108                                 void set( int value );
109                         }
110
111                         /// <summary>
112                         /// Time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
113                         /// </summary>
114                         property float ReverbDelay
115                         {
116                                 float get();
117                                 void set( float value );
118                         }
119
120                         /// <summary>
121                         /// Echo density in the late reverberation decay, in percent.
122                         /// </summary>
123                         property float Diffusion
124                         {
125                                 float get();
126                                 void set( float value );
127                         }
128
129                         /// <summary>
130                         /// Modal density in the late reverberation decay, in percent.
131                         /// </summary>
132                         property float Density
133                         {
134                                 float get();
135                                 void set( float value );
136                         }
137
138                         /// <summary>
139                         /// Reference high frequency, in hertz.
140                         /// </summary>
141                         property float HFReference
142                         {
143                                 float get();
144                                 void set( float value );
145                         }
146
147                         /// <summary>
148                         /// Gets or sets the quality of the environmental reverberation effect.
149                         /// </summary>
150                         property int Quality
151                         {
152                                 int get();
153                                 void set( int value );
154                         }
155
156                         /// <summary>
157                         /// Gets or sets the standard reverberation parameters of a buffer.
158                         /// </summary>
159                         property I3DL2ReverbPreset Preset
160                         {
161                                 I3DL2ReverbPreset get();
162                                 void set( I3DL2ReverbPreset value );
163                         }
164
165                         /// <summary>
166                         /// Default attenuation of the room effect, in millibels (mB).
167                         /// </summary>
168                         literal int   RoomDefault = DSFX_I3DL2REVERB_ROOM_DEFAULT;
169
170                         /// <summary>
171                         /// Maximum attenuation of the room effect, in millibels (mB).
172                         /// </summary>
173                         literal int   RoomMax = DSFX_I3DL2REVERB_ROOM_MAX;
174
175                         /// <summary>
176                         /// Minimum attenuation of the room effect, in millibels (mB).
177                         /// </summary>
178                         literal int   RoomMin = DSFX_I3DL2REVERB_ROOM_MIN;
179
180                         /// <summary>
181                         /// Default attenuation of the room high-frequency effect, in mB.
182                         /// </summary>
183                         literal int   RoomHFDefault = DSFX_I3DL2REVERB_ROOMHF_DEFAULT;
184
185                         /// <summary>
186                         /// Maximum attenuation of the room high-frequency effect, in mB.
187                         /// </summary>
188                         literal int   RoomHFMax = DSFX_I3DL2REVERB_ROOMHF_MAX;
189
190                         /// <summary>
191                         /// Minimum attenuation of the room high-frequency effect, in mB.
192                         /// </summary>
193                         literal int   RoomHFMin = DSFX_I3DL2REVERB_ROOMHF_MIN;
194
195                         /// <summary>
196                         /// Default rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
197                         /// </summary>
198                         literal float RoomRolloffFactorDefault = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT;
199
200                         /// <summary>
201                         /// Maximum rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
202                         /// </summary>
203                         literal float RoomRolloffFactorMax = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX;
204
205                         /// <summary>
206                         /// Minimum rolloff factor for the reflected signals. The rolloff factor for the direct path is controlled by the DirectSound listener.
207                         /// </summary>
208                         literal float RoomRolloffFactorMin = DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN;
209
210                         /// <summary>
211                         /// Default decay time, in seconds.
212                         /// </summary>
213                         literal float DecayTimeDefault = DSFX_I3DL2REVERB_DECAYTIME_DEFAULT;
214
215                         /// <summary>
216                         /// Maximum decay time, in seconds.
217                         /// </summary>
218                         literal float DecayTimeMax = DSFX_I3DL2REVERB_DECAYTIME_MAX;
219
220                         /// <summary>
221                         /// Minimum decay time, in seconds.
222                         /// </summary>
223                         literal float DecayTimeMin = DSFX_I3DL2REVERB_DECAYTIME_MIN;
224
225                         /// <summary>
226                         /// Default ratio of the decay time at high frequencies to the decay time at low frequencies.
227                         /// </summary>
228                         literal float DecayHFRatioDefault = DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT;
229
230                         /// <summary>
231                         /// Maximum ratio of the decay time at high frequencies to the decay time at low frequencies.
232                         /// </summary>
233                         literal float DecayHFRatioMax = DSFX_I3DL2REVERB_DECAYHFRATIO_MAX;
234
235                         /// <summary>
236                         /// Minimum ratio of the decay time at high frequencies to the decay time at low frequencies.
237                         /// </summary>
238                         literal float DecayHFRatioMin = DSFX_I3DL2REVERB_DECAYHFRATIO_MIN;
239
240                         /// <summary>
241                         /// Default attenuation of early reflections relative to Room, in mB.
242                         /// </summary>
243                         literal int   ReflectionsDefault = DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT;
244
245                         /// <summary>
246                         /// Maximum attenuation of early reflections relative to Room, in mB.
247                         /// </summary>
248                         literal int   ReflectionsMax = DSFX_I3DL2REVERB_REFLECTIONS_MAX;
249
250                         /// <summary>
251                         /// Minimum attenuation of early reflections relative to Room, in mB.
252                         /// </summary>
253                         literal int   ReflectionsMin = DSFX_I3DL2REVERB_REFLECTIONS_MIN;
254
255                         /// <summary>
256                         /// Default delay time of the first reflection relative to the direct path, in seconds.
257                         /// </summary>
258                         literal float ReflectionsDelayDefault = DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT;
259
260                         /// <summary>
261                         /// Maximum delay time of the first reflection relative to the direct path, in seconds.
262                         /// </summary>
263                         literal float ReflectionsDelayMax = DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX;
264
265                         /// <summary>
266                         /// Minimum delay time of the first reflection relative to the direct path, in seconds.
267                         /// </summary>
268                         literal float ReflectionsDelayMin = DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN;
269
270                         /// <summary>
271                         /// Default attenuation of late reverberation relative to Room, in mB.
272                         /// </summary>
273                         literal int   ReverbDefault = DSFX_I3DL2REVERB_REVERB_DEFAULT;
274
275                         /// <summary>
276                         /// Maximum attenuation of late reverberation relative to Room, in mB.
277                         /// </summary>
278                         literal int   ReverbMax = DSFX_I3DL2REVERB_REVERB_MAX;
279
280                         /// <summary>
281                         /// Minimum attenuation of late reverberation relative to Room, in mB.
282                         /// </summary>
283                         literal int   ReverbMin = DSFX_I3DL2REVERB_REVERB_MIN;
284
285                         /// <summary>
286                         /// Default time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
287                         /// </summary>
288                         literal float ReverbDelayDefault = DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT;
289
290                         /// <summary>
291                         /// Maximum time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
292                         /// </summary>
293                         literal float ReverbDelayMax = DSFX_I3DL2REVERB_REVERBDELAY_MAX;
294
295                         /// <summary>
296                         /// Minimum time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds.
297                         /// </summary>
298                         literal float ReverbDelayMin = DSFX_I3DL2REVERB_REVERBDELAY_MIN;
299
300                         /// <summary>
301                         /// Default modal density in the late reverberation decay, in percent.
302                         /// </summary>
303                         literal float DensityDefault = DSFX_I3DL2REVERB_DENSITY_DEFAULT;
304
305                         /// <summary>
306                         /// Maximum modal density in the late reverberation decay, in percent.
307                         /// </summary>
308                         literal float DensityMax = DSFX_I3DL2REVERB_DENSITY_MAX;
309
310                         /// <summary>
311                         /// Minimum modal density in the late reverberation decay, in percent.
312                         /// </summary>
313                         literal float DensityMin = DSFX_I3DL2REVERB_DENSITY_MIN;
314
315                         /// <summary>
316                         /// Default echo density in the late reverberation decay, in percent.
317                         /// </summary>
318                         literal float DiffusionDefault = DSFX_I3DL2REVERB_DIFFUSION_DEFAULT;
319
320                         /// <summary>
321                         /// Maximum echo density in the late reverberation decay, in percent.
322                         /// </summary>
323                         literal float DiffusionMax = DSFX_I3DL2REVERB_DIFFUSION_MAX;
324
325                         /// <summary>
326                         /// Minimum echo density in the late reverberation decay, in percent.
327                         /// </summary>
328                         literal float DiffusionMin = DSFX_I3DL2REVERB_DIFFUSION_MIN;
329
330                         /// <summary>
331                         /// Default reference high frequency, in hertz.
332                         /// </summary>
333                         literal float HFReferenceDefault = DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT;
334
335                         /// <summary>
336                         /// Maximum reference high frequency, in hertz.
337                         /// </summary>
338                         literal float HFReferenceMax = DSFX_I3DL2REVERB_HFREFERENCE_MAX;
339
340                         /// <summary>
341                         /// Minimum reference high frequency, in hertz.
342                         /// </summary>
343                         literal float HFReferenceMin = DSFX_I3DL2REVERB_HFREFERENCE_MIN;
344                 };
345         }
346 }