OSDN Git Service

#36897 [DTXC] MIDIインポート機能の呼び出し口を、ファイルメニュー内にも配置。
[dtxmania/dtxmania.git] / SlimDXc_Jun2010(VC++2008) / source / directsound / CompressorEffect.h
1 /*\r
2 * Copyright (c) 2007-2010 SlimDX Group\r
3\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
5 * of this software and associated documentation files (the "Software"), to deal\r
6 * in the Software without restriction, including without limitation the rights\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
8 * copies of the Software, and to permit persons to whom the Software is\r
9 * furnished to do so, subject to the following conditions:\r
10\r
11 * The above copyright notice and this permission notice shall be included in\r
12 * all copies or substantial portions of the Software.\r
13\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
20 * THE SOFTWARE.\r
21 */\r
22 #pragma once\r
23 \r
24 namespace SlimDX\r
25 {\r
26         namespace DirectSound\r
27         {\r
28                 /// <summary>\r
29                 /// The SoundEffectCompressor object is used to set and retrieve effect parameters on a buffer that supports compression.\r
30                 /// </summary>\r
31                 /// <unmanaged>IDirectSoundFXCompressor</unmanaged>\r
32                 public ref class CompressorEffect : public ComObject\r
33                 {\r
34                         COMOBJECT(IDirectSoundFXCompressor, CompressorEffect);\r
35 \r
36                 public:\r
37                         /// <summary>\r
38                         /// Time before compression reaches its full value.\r
39                         /// </summary>\r
40                         property float Attack\r
41                         {\r
42                                 float get();\r
43                                 void set( float value );\r
44                         }\r
45 \r
46                         /// <summary>\r
47                         /// Output gain of signal after compression.\r
48                         /// </summary>\r
49                         property float Gain\r
50                         {\r
51                                 float get();\r
52                                 void set( float value );\r
53                         }\r
54 \r
55                         /// <summary>\r
56                         /// Speed at which compression is stopped after input drops below Threshold.\r
57                         /// </summary>\r
58                         property float Release\r
59                         {\r
60                                 float get();\r
61                                 void set( float value );\r
62                         }\r
63 \r
64                         /// <summary>\r
65                         /// Time after Threshold is reached before attack phase is started, in milliseconds.\r
66                         /// </summary>\r
67                         property float PreDelay\r
68                         {\r
69                                 float get();\r
70                                 void set( float value );\r
71                         }\r
72 \r
73                         /// <summary>\r
74                         /// Compression ratio. The default value is 3, which means 3:1 compression.\r
75                         /// </summary>\r
76                         property float Ratio\r
77                         {\r
78                                 float get();\r
79                                 void set( float value );\r
80                         }\r
81 \r
82                         /// <summary>\r
83                         /// Point at which compression begins, in decibels.\r
84                         /// </summary>\r
85                         property float Threshold\r
86                         {\r
87                                 float get();\r
88                                 void set( float value );\r
89                         }\r
90 \r
91                         /// <summary>\r
92                         /// Default time before compression reaches its full value, in decibels (dB). The default value is 10 ms.\r
93                         /// </summary>\r
94                         literal float AttackDefault = 10.0f;\r
95 \r
96                         /// <summary>\r
97                         /// Maximum time before compression reaches its full value, in decibels (dB).\r
98                         /// </summary>\r
99                         literal float AttackMax = DSFXCOMPRESSOR_ATTACK_MAX;\r
100 \r
101                         /// <summary>\r
102                         /// Minimum time before compression reaches its full value, in decibels (dB).\r
103                         /// </summary>\r
104                         literal float AttackMin = DSFXCOMPRESSOR_ATTACK_MIN;\r
105 \r
106                         /// <summary>\r
107                         /// Default output gain of signal after compression, in decibels (dB). The default value is 0 dB. \r
108                         /// </summary>\r
109                         literal float GainDefault = 0.0f;\r
110 \r
111                         /// <summary>\r
112                         /// Maximum output gain of signal after compression, in decibels (dB). \r
113                         /// </summary>\r
114                         literal float GainMax = DSFXCOMPRESSOR_GAIN_MAX;\r
115 \r
116                         /// <summary>\r
117                         /// Minimum output gain of signal after compression, in decibels (dB). \r
118                         /// </summary>\r
119                         literal float GainMin = DSFXCOMPRESSOR_GAIN_MIN;\r
120 \r
121                         /// <summary>\r
122                         /// Default time after threshold is reached before attack phase is started, in milliseconds. The default value is 4 ms. \r
123                         /// </summary>\r
124                         literal float PreDelayDefault = 4.0f;\r
125 \r
126                         /// <summary>\r
127                         /// Maximum time after threshold is reached before attack phase is started, in milliseconds. \r
128                         /// </summary>\r
129                         literal float PreDelayMax = DSFXCOMPRESSOR_PREDELAY_MAX;\r
130 \r
131                         /// <summary>\r
132                         /// Minimum time after threshold is reached before attack phase is started, in milliseconds. \r
133                         /// </summary>\r
134                         literal float PreDelayMin = DSFXCOMPRESSOR_PREDELAY_MIN;\r
135 \r
136                         /// <summary>\r
137                         /// Default compression ratio. The default value is 3, which means 3:1 compression. \r
138                         /// </summary>\r
139                         literal float RatioDefault = 3.0f;\r
140 \r
141                         /// <summary>\r
142                         /// Maximum compression ratio.  \r
143                         /// </summary>\r
144                         literal float RatioMax = DSFXCOMPRESSOR_RATIO_MAX;\r
145 \r
146                         /// <summary>\r
147                         /// Minimum compression ratio. \r
148                         /// </summary>\r
149                         literal float RatioMin = DSFXCOMPRESSOR_RATIO_MIN;\r
150 \r
151                         /// <summary>\r
152                         /// Default speed at which compression is stopped after input drops below Threshold, in miliseconds. The default value is 200 ms.\r
153                         /// </summary>\r
154                         literal float ReleaseDefault = 200.0f;\r
155 \r
156                         /// <summary>\r
157                         /// Maximum speed at which compression is stopped after input drops below Threshold, in miliseconds. \r
158                         /// </summary>\r
159                         literal float ReleaseMax = DSFXCOMPRESSOR_RELEASE_MAX;\r
160 \r
161                         /// <summary>\r
162                         /// Minimum speed at which compression is stopped after input drops below Threshold, in miliseconds. \r
163                         /// </summary>\r
164                         literal float ReleaseMin = DSFXCOMPRESSOR_RELEASE_MIN;\r
165 \r
166                         /// <summary>\r
167                         /// Default point at which compression begins, in decibels, in decibels (dB). The default value is -20 dB.\r
168                         /// </summary>\r
169                         literal float ThresholdDefault = -20.0f;\r
170 \r
171                         /// <summary>\r
172                         /// Maximum point at which compression begins, in decibels, in decibels (dB). \r
173                         /// </summary>\r
174                         literal float ThresholdMax = DSFXCOMPRESSOR_THRESHOLD_MAX;\r
175 \r
176                         /// <summary>\r
177                         /// Minimum point at which compression begins, in decibels, in decibels (dB).\r
178                         /// </summary>\r
179                         literal float ThresholdMin = DSFXCOMPRESSOR_THRESHOLD_MIN;\r
180                 };\r
181         }\r
182 }