OSDN Git Service

#32713 初コミット。SVNrev567時点での、ファイルはbranch/140707(ReBuild XGVersion)から移行したもの。
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / SlimDXc_Jun2010(VC++2008) / source / directsound / FlangerEffect.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 namespace SlimDX
25 {
26         namespace DirectSound
27         {
28                 /// <summary>
29                 /// The SoundEffectFlanger object is used to set and retrieve effect parameters on a buffer that supports flange.
30                 /// </summary>
31                 /// <unmanaged>IDirectSoundFXFlanger</unmanaged>
32                 public ref class FlangerEffect : public ComObject
33                 {
34                         COMOBJECT(IDirectSoundFXFlanger, FlangerEffect);
35
36                 public:
37                         /// <summary>
38                         /// Number of milliseconds the input is delayed before it is played back. The default value is 2 ms.
39                         /// </summary>
40                         property float Delay
41                         {
42                                 float get();
43                                 void set( float value );
44                         }
45
46                         /// <summary>
47                         /// Percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point. The default value is 100.
48                         /// </summary>
49                         property float Depth
50                         {
51                                 float get();
52                                 void set( float value );
53                         }
54
55                         /// <summary>
56                         /// Percentage of output signal to feed back into the effect's input. The default value is -50.
57                         /// </summary>
58                         property float Feedback
59                         {
60                                 float get();
61                                 void set( float value );
62                         }
63
64                         /// <summary>
65                         /// Frequency of the LFO. The default value is 0.25.
66                         /// </summary>
67                         property float Frequency
68                         {
69                                 float get();
70                                 void set( float value );
71                         }
72
73                         /// <summary>
74                         /// Phase differential between left and right LFOs.
75                         /// </summary>
76                         property int Phase
77                         {
78                                 int get();
79                                 void set( int value );
80                         }
81
82                         /// <summary>
83                         /// Waveform shape of the LFO. By default, the waveform is a sine.
84                         /// </summary>
85                         property int Waveform
86                         {
87                                 int get();
88                                 void set( int value );
89                         }
90
91                         /// <summary>
92                         /// Ratio of wet (processed) signal to dry (unprocessed) signal. The default value is 50.
93                         /// </summary>
94                         property float WetDryMix
95                         {
96                                 float get();
97                                 void set( float value );
98                         }
99
100                         /// <summary>
101                         /// Default number of milliseconds the input is delayed before it is played back.
102                         /// </summary>
103                         literal float DelayDefault = 2.0f;
104
105                         /// <summary>
106                         /// Maximum number of milliseconds the input is delayed before it is played back.
107                         /// </summary>
108                         literal float DelayMax = DSFXFLANGER_DELAY_MAX;
109
110                         /// <summary>
111                         /// Minimum number of milliseconds the input is delayed before it is played back.
112                         /// </summary>
113                         literal float DelayMin = DSFXFLANGER_DELAY_MIN;
114
115                         /// <summary>
116                         /// Default percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point.
117                         /// </summary>
118                         literal float DepthDefault = 100.0f;
119
120                         /// <summary>
121                         /// Maximum percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point.
122                         /// </summary>
123                         literal float DepthMax = DSFXFLANGER_DEPTH_MAX;
124
125                         /// <summary>
126                         /// Minimum percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point.
127                         /// </summary>
128                         literal float DepthMin = DSFXFLANGER_DEPTH_MIN;
129
130                         /// <summary>
131                         /// Default percentage of output signal to feed back into the effect's input.
132                         /// </summary>
133                         literal float FeedbackDefault = -50.0f;
134
135                         /// <summary>
136                         /// Maximum percentage of output signal to feed back into the effect's input.
137                         /// </summary>
138                         literal float FeedbackMax = DSFXFLANGER_FEEDBACK_MAX;
139
140                         /// <summary>
141                         /// Minimum percentage of output signal to feed back into the effect's input.
142                         /// </summary>
143                         literal float FeedbackMin = DSFXFLANGER_FEEDBACK_MIN;
144
145                         /// <summary>
146                         /// Default frequency of the LFO(low-frequency oscillator).
147                         /// </summary>
148                         literal float FrequencyDefault = 0.25f;
149
150                         /// <summary>
151                         /// Maximum frequency of the LFO(low-frequency oscillator).
152                         /// </summary>
153                         literal float FrequencyMax = DSFXFLANGER_FREQUENCY_MAX;
154
155                         /// <summary>
156                         /// Minimum frequency of the LFO(low-frequency oscillator).
157                         /// </summary>
158                         literal float FrequencyMin = DSFXFLANGER_FREQUENCY_MIN;
159
160                         /// <summary>
161                         /// Default phase differential between left and right LFOs.
162                         /// </summary>
163                         literal int   PhaseDefault = DSFXFLANGER_PHASE_ZERO;
164
165                         /// <summary>
166                         /// Maximum phase differential between left and right LFOs.
167                         /// </summary>
168                         literal int   PhaseMax = DSFXFLANGER_PHASE_MAX;
169
170                         /// <summary>
171                         /// Minimum phase differential between left and right LFOs.
172                         /// </summary>
173                         literal int   PhaseMin = DSFXFLANGER_PHASE_MIN;
174
175                         /// <summary>
176                         /// Negative 180 phase differential between left and right LFOs.
177                         /// </summary>
178                         literal int   PhaseNegative180 = DSFXFLANGER_PHASE_NEG_180;
179
180                         /// <summary>
181                         /// Negative 90 phase differential between left and right LFOs.
182                         /// </summary>
183                         literal int   PhaseNegative90 = DSFXFLANGER_PHASE_NEG_90;
184
185                         /// <summary>
186                         /// Zero phase differential between left and right LFOs.
187                         /// </summary>
188                         literal int       PhaseZero = DSFXFLANGER_PHASE_ZERO;
189
190                         /// <summary>
191                         /// Positive 180 phase differential between left and right LFOs.
192                         /// </summary>
193                         literal int   Phase180 = DSFXFLANGER_PHASE_180;
194
195                         /// <summary>
196                         /// Positive 90 phase differential between left and right LFOs.
197                         /// </summary>
198                         literal int   Phase90 = DSFXFLANGER_PHASE_90;
199
200                         /// <summary>
201                         /// Default waveform shape of the LFO. By default, the waveform is a sine.
202                         /// </summary>
203                         literal int   WaveformDefault = DSFXFLANGER_WAVE_SIN;
204
205                         /// <summary>
206                         /// Triangular waveform shape of the LFO. By default, the waveform is a sine.
207                         /// </summary>
208                         literal int   WaveformTriangle = DSFXFLANGER_WAVE_TRIANGLE;
209
210                         /// <summary>
211                         /// Sine waveform shape of the LFO. By default, the waveform is a sine.
212                         /// </summary>
213                         literal int   WaveformSin = DSFXFLANGER_WAVE_SIN;
214
215                         /// <summary>
216                         /// Default ratio of wet (processed) signal to dry (unprocessed) signal.
217                         /// </summary>
218                         literal float WetDryMixDefault = 50.0f;
219
220                         /// <summary>
221                         /// Maximum ratio of wet (processed) signal to dry (unprocessed) signal.
222                         /// </summary>
223                         literal float WetDryMixMax = DSFXFLANGER_WETDRYMIX_MAX;
224
225                         /// <summary>
226                         /// Minimum ratio of wet (processed) signal to dry (unprocessed) signal.
227                         /// </summary>
228                         literal float WetDryMixMin = DSFXFLANGER_WETDRYMIX_MIN;
229                 };
230         }
231 }