1 /*---------------------------------------------------------------------------*
2   Project: AUX effects for Revolution AX
3   File:    axfx_presets.h
4 
5   Copyright (C)2006 Nintendo  All Rights Reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Log: axfx_presets.h,v $
14   Revision 1.1  06/08/2006 05:58:46  aka
15   Imported new AXFX made by Kawamura-san (EAD).
16 
17   $NoKeywords: $
18  *---------------------------------------------------------------------------*/
19 
20 #ifndef __AXFX_PRESETS_H__
21 #define __AXFX_PRESETS_H__
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 
28 /*==========================================================================*
29     presets for AXFX effects
30  *==========================================================================*/
31 
32 /*--------------------------------------------------------------------------*
33   for delay (mono, stereo, surround, DPL2)
34  *--------------------------------------------------------------------------*/
35 
36 #define AXFX_PRESET_DELAY_EXP_TYPE1(fx)             \
37     {                                               \
38         (fx)->delay       =  80.f;                  \
39         (fx)->maxDelay    = 100.f;                  \
40         (fx)->feedback    =  0.6f;                  \
41         (fx)->lpf         =  1.0f;                  \
42                                                     \
43         (fx)->busIn       = NULL;                   \
44         (fx)->busOut      = NULL;                   \
45         (fx)->outGain     = 1.0f;                   \
46         (fx)->sendGain    = 0.0f;                   \
47     }
48 
49 #define AXFX_PRESET_DELAY_EXP_TYPE2(fx)             \
50     {                                               \
51         (fx)->delay       =  40.f;                  \
52         (fx)->maxDelay    = 100.f;                  \
53         (fx)->feedback    =  0.5f;                  \
54         (fx)->lpf         =  0.4f;                  \
55                                                     \
56         (fx)->busIn       = NULL;                   \
57         (fx)->busOut      = NULL;                   \
58         (fx)->outGain     = 1.0f;                   \
59         (fx)->sendGain    = 0.0f;                   \
60     }
61 
62 #define AXFX_PRESET_DELAY_EXP_FLANGE1(fx)           \
63     {                                               \
64         (fx)->delay       =  0.1f;                  \
65         (fx)->maxDelay    = 100.f;                  \
66         (fx)->feedback    =  0.6f;                  \
67         (fx)->lpf         =  1.0f;                  \
68                                                     \
69         (fx)->busIn       = NULL;                   \
70         (fx)->busOut      = NULL;                   \
71         (fx)->outGain     = 1.0f;                   \
72         (fx)->sendGain    = 0.0f;                   \
73     }
74 
75 #define AXFX_PRESET_DELAY_EXP_FLANGE2(fx)           \
76     {                                               \
77         (fx)->delay       =  0.5f;                  \
78         (fx)->maxDelay    = 100.f;                  \
79         (fx)->feedback    =  0.6f;                  \
80         (fx)->lpf         =  0.7f;                  \
81                                                     \
82         (fx)->busIn       = NULL;                   \
83         (fx)->busOut      = NULL;                   \
84         (fx)->outGain     = 1.0f;                   \
85         (fx)->sendGain    = 0.0f;                   \
86     }
87 
88 
89 /*--------------------------------------------------------------------------*
90   for standard reverb (mono, stereo, surround, DPL2)
91  *--------------------------------------------------------------------------*/
92 
93 #define AXFX_PRESET_REVERBSTD_EXP_OLD_TYPE1(fx)                           \
94     {                                                                     \
95         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_30MS;       \
96                                                                           \
97         (fx)->preDelayTimeMax = 0.05f;                                    \
98         (fx)->preDelayTime    = 0.03f;                                    \
99                                                                           \
100         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_OLD_AXFX;   \
101         (fx)->fusedTime       = 1.5f;                                     \
102         (fx)->coloration      = 0.5f;                                     \
103         (fx)->damping         = 0.5f;                                     \
104                                                                           \
105         (fx)->earlyGain       = 0.0f;                                     \
106         (fx)->fusedGain       = 0.5f;                                     \
107                                                                           \
108         (fx)->busIn           = NULL;                                     \
109         (fx)->busOut          = NULL;                                     \
110         (fx)->outGain         = 1.0f;                                     \
111         (fx)->sendGain        = 0.0f;                                     \
112     }
113 
114 #define AXFX_PRESET_REVERBSTD_EXP_OLD_TYPE2(fx)                           \
115     {                                                                     \
116         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_40MS;       \
117                                                                           \
118         (fx)->preDelayTimeMax = 0.05f;                                    \
119         (fx)->preDelayTime    = 0.05f;                                    \
120                                                                           \
121         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_OLD_AXFX;   \
122         (fx)->fusedTime       = 3.f;                                      \
123         (fx)->coloration      = 0.5f;                                     \
124         (fx)->damping         = 0.7f;                                     \
125                                                                           \
126         (fx)->earlyGain       = 0.4f;                                     \
127         (fx)->fusedGain       = 0.5f;                                     \
128                                                                           \
129         (fx)->busIn           = NULL;                                     \
130         (fx)->busOut          = NULL;                                     \
131         (fx)->outGain         = 1.0f;                                     \
132         (fx)->sendGain        = 0.0f;                                     \
133     }
134 
135 #define AXFX_PRESET_REVERBSTD_EXP_METAL_PIPE(fx)                          \
136     {                                                                     \
137         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_5MS;        \
138                                                                           \
139         (fx)->preDelayTimeMax = 0.05f;                                    \
140         (fx)->preDelayTime    = 0.00f;                                    \
141                                                                           \
142         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_METAL_TANK; \
143         (fx)->fusedTime       = 0.5f;                                     \
144         (fx)->coloration      = 0.5f;                                     \
145         (fx)->damping         = 0.9f;                                     \
146                                                                           \
147         (fx)->earlyGain       = 0.2f;                                     \
148         (fx)->fusedGain       = 0.3f;                                     \
149                                                                           \
150         (fx)->busIn           = NULL;                                     \
151         (fx)->busOut          = NULL;                                     \
152         (fx)->outGain         = 1.0f;                                     \
153         (fx)->sendGain        = 0.0f;                                     \
154     }
155 
156 #define AXFX_PRESET_REVERBSTD_EXP_METAL_TANK(fx)                          \
157     {                                                                     \
158         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_35MS;       \
159                                                                           \
160         (fx)->preDelayTimeMax = 0.05f;                                    \
161         (fx)->preDelayTime    = 0.03f;                                    \
162                                                                           \
163         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_METAL_TANK; \
164         (fx)->fusedTime       = 3.f;                                      \
165         (fx)->coloration      = 0.5f;                                     \
166         (fx)->damping         = 0.8f;                                     \
167                                                                           \
168         (fx)->earlyGain       = 0.25f;                                    \
169         (fx)->fusedGain       = 0.3f;                                     \
170                                                                           \
171         (fx)->busIn           = NULL;                                     \
172         (fx)->busOut          = NULL;                                     \
173         (fx)->outGain         = 1.0f;                                     \
174         (fx)->sendGain        = 0.0f;                                     \
175     }
176 
177 #define AXFX_PRESET_REVERBSTD_EXP_SMALL_ROOM(fx)                          \
178     {                                                                     \
179         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_25MS;       \
180                                                                           \
181         (fx)->preDelayTimeMax = 0.05f;                                    \
182         (fx)->preDelayTime    = 0.01f;                                    \
183                                                                           \
184         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_SMALL_ROOM; \
185         (fx)->fusedTime       = 0.5f;                                     \
186         (fx)->coloration      = 0.6f;                                     \
187         (fx)->damping         = 0.4f;                                     \
188                                                                           \
189         (fx)->earlyGain       = 0.3f;                                     \
190         (fx)->fusedGain       = 0.3f;                                     \
191                                                                           \
192         (fx)->busIn           = NULL;                                     \
193         (fx)->busOut          = NULL;                                     \
194         (fx)->outGain         = 1.0f;                                     \
195         (fx)->sendGain        = 0.0f;                                     \
196     }
197 
198 #define AXFX_PRESET_REVERBSTD_EXP_MEDIUM_ROOM(fx)                         \
199     {                                                                     \
200         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_30MS;       \
201                                                                           \
202         (fx)->preDelayTimeMax = 0.05f;                                    \
203         (fx)->preDelayTime    = 0.02f;                                    \
204                                                                           \
205         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_SMALL_ROOM; \
206         (fx)->fusedTime       = 1.0f;                                     \
207         (fx)->coloration      = 0.6f;                                     \
208         (fx)->damping         = 0.4f;                                     \
209                                                                           \
210         (fx)->earlyGain       = 0.3f;                                     \
211         (fx)->fusedGain       = 0.3f;                                     \
212                                                                           \
213         (fx)->busIn           = NULL;                                     \
214         (fx)->busOut          = NULL;                                     \
215         (fx)->outGain         = 1.0f;                                     \
216         (fx)->sendGain        = 0.0f;                                     \
217     }
218 
219 #define AXFX_PRESET_REVERBSTD_EXP_LARGE_ROOM(fx)                          \
220     {                                                                     \
221         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_40MS;       \
222                                                                           \
223         (fx)->preDelayTimeMax = 0.05f;                                    \
224         (fx)->preDelayTime    = 0.03f;                                    \
225                                                                           \
226         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_LARGE_ROOM; \
227         (fx)->fusedTime       = 1.5f;                                     \
228         (fx)->coloration      = 0.6f;                                     \
229         (fx)->damping         = 0.4f;                                     \
230                                                                           \
231         (fx)->earlyGain       = 0.25f;                                    \
232         (fx)->fusedGain       = 0.35f;                                    \
233                                                                           \
234         (fx)->busIn           = NULL;                                     \
235         (fx)->busOut          = NULL;                                     \
236         (fx)->outGain         = 1.0f;                                     \
237         (fx)->sendGain        = 0.0f;                                     \
238     }
239 
240 #define AXFX_PRESET_REVERBSTD_EXP_LONG_ROOM(fx)                           \
241     {                                                                     \
242         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_20MS;       \
243                                                                           \
244         (fx)->preDelayTimeMax = 0.05f;                                    \
245         (fx)->preDelayTime    = 0.02f;                                    \
246                                                                           \
247         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_LARGE_ROOM; \
248         (fx)->fusedTime       = 2.0f;                                     \
249         (fx)->coloration      = 0.6f;                                     \
250         (fx)->damping         = 0.4f;                                     \
251                                                                           \
252         (fx)->earlyGain       = 0.3f;                                     \
253         (fx)->fusedGain       = 0.45f;                                    \
254                                                                           \
255         (fx)->busIn           = NULL;                                     \
256         (fx)->busOut          = NULL;                                     \
257         (fx)->outGain         = 1.0f;                                     \
258         (fx)->sendGain        = 0.0f;                                     \
259     }
260 
261 #define AXFX_PRESET_REVERBSTD_EXP_SMALL_HALL(fx)                          \
262     {                                                                     \
263         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_25MS;       \
264                                                                           \
265         (fx)->preDelayTimeMax = 0.05f;                                    \
266         (fx)->preDelayTime    = 0.02f;                                    \
267                                                                           \
268         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_HALL;       \
269         (fx)->fusedTime       = 2.f;                                      \
270         (fx)->coloration      = 0.6f;                                     \
271         (fx)->damping         = 0.4f;                                     \
272                                                                           \
273         (fx)->earlyGain       = 0.35f;                                    \
274         (fx)->fusedGain       = 0.45f;                                    \
275                                                                           \
276         (fx)->busIn           = NULL;                                     \
277         (fx)->busOut          = NULL;                                     \
278         (fx)->outGain         = 1.0f;                                     \
279         (fx)->sendGain        = 0.0f;                                     \
280     }
281 
282 #define AXFX_PRESET_REVERBSTD_EXP_LARGE_HALL(fx)                          \
283     {                                                                     \
284         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_35MS;       \
285                                                                           \
286         (fx)->preDelayTimeMax = 0.05f;                                    \
287         (fx)->preDelayTime    = 0.03f;                                    \
288                                                                           \
289         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_HALL;       \
290         (fx)->fusedTime       = 3.f;                                      \
291         (fx)->coloration      = 0.6f;                                     \
292         (fx)->damping         = 0.3f;                                     \
293                                                                           \
294         (fx)->earlyGain       = 0.3f;                                     \
295         (fx)->fusedGain       = 0.45f;                                    \
296                                                                           \
297         (fx)->busIn           = NULL;                                     \
298         (fx)->busOut          = NULL;                                     \
299         (fx)->outGain         = 1.0f;                                     \
300         (fx)->sendGain        = 0.0f;                                     \
301     }
302 
303 #define AXFX_PRESET_REVERBSTD_EXP_CAVERNOUS(fx)                           \
304     {                                                                     \
305         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_40MS;       \
306                                                                           \
307         (fx)->preDelayTimeMax = 0.05f;                                    \
308         (fx)->preDelayTime    = 0.05f;                                    \
309                                                                           \
310         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_CAVERNOUS;  \
311         (fx)->fusedTime       = 4.f;                                      \
312         (fx)->coloration      = 0.6f;                                     \
313         (fx)->damping         = 0.7f;                                     \
314                                                                           \
315         (fx)->earlyGain       = 0.5f;                                     \
316         (fx)->fusedGain       = 0.5f;                                     \
317                                                                           \
318         (fx)->busIn           = NULL;                                     \
319         (fx)->busOut          = NULL;                                     \
320         (fx)->outGain         = 1.0f;                                     \
321         (fx)->sendGain        = 0.0f;                                     \
322     }
323 
324 #define AXFX_PRESET_REVERBSTD_EXP_CATHEDRAL(fx)                           \
325     {                                                                     \
326         (fx)->earlyMode       = AXFX_REVERBSTD_EXP_EARLY_MODE_40MS;       \
327                                                                           \
328         (fx)->preDelayTimeMax = 0.05f;                                    \
329         (fx)->preDelayTime    = 0.05f;                                    \
330                                                                           \
331         (fx)->fusedMode       = AXFX_REVERBSTD_EXP_FUSED_MODE_CAVERNOUS;  \
332         (fx)->fusedTime       = 5.f;                                      \
333         (fx)->coloration      = 0.6f;                                     \
334         (fx)->damping         = 0.3f;                                     \
335                                                                           \
336         (fx)->earlyGain       = 0.35f;                                    \
337         (fx)->fusedGain       = 0.50f;                                    \
338                                                                           \
339         (fx)->busIn           = NULL;                                     \
340         (fx)->busOut          = NULL;                                     \
341         (fx)->outGain         = 1.0f;                                     \
342         (fx)->sendGain        = 0.0f;                                     \
343     }
344 
345 
346 /*--------------------------------------------------------------------------*
347   for high quality reverb (mono, stereo, surround, DPL2)
348  *--------------------------------------------------------------------------*/
349 
350 #define AXFX_PRESET_REVERBHI_EXP_OLD_TYPE1(fx)                            \
351     {                                                                     \
352         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_30MS;        \
353                                                                           \
354         (fx)->preDelayTimeMax = 0.05f;                                    \
355         (fx)->preDelayTime    = 0.03f;                                    \
356                                                                           \
357         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_OLD_AXFX;    \
358         (fx)->fusedTime       = 1.5f;                                     \
359         (fx)->coloration      = 0.5f;                                     \
360         (fx)->damping         = 0.5f;                                     \
361                                                                           \
362         (fx)->crosstalk       = 0.1f;                                     \
363                                                                           \
364         (fx)->earlyGain       = 0.0f;                                     \
365         (fx)->fusedGain       = 0.5f;                                     \
366                                                                           \
367         (fx)->busIn           = NULL;                                     \
368         (fx)->busOut          = NULL;                                     \
369         (fx)->outGain         = 1.0f;                                     \
370         (fx)->sendGain        = 0.0f;                                     \
371     }
372 
373 #define AXFX_PRESET_REVERBHI_EXP_OLD_TYPE2(fx)                            \
374     {                                                                     \
375         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_40MS;        \
376                                                                           \
377         (fx)->preDelayTimeMax = 0.05f;                                    \
378         (fx)->preDelayTime    = 0.05f;                                    \
379                                                                           \
380         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_OLD_AXFX;    \
381         (fx)->fusedTime       = 3.f;                                      \
382         (fx)->coloration      = 0.5f;                                     \
383         (fx)->damping         = 0.7f;                                     \
384                                                                           \
385         (fx)->crosstalk       = 0.1f;                                     \
386                                                                           \
387         (fx)->earlyGain       = 0.4f;                                     \
388         (fx)->fusedGain       = 0.5f;                                     \
389                                                                           \
390         (fx)->busIn           = NULL;                                     \
391         (fx)->busOut          = NULL;                                     \
392         (fx)->outGain         = 1.0f;                                     \
393         (fx)->sendGain        = 0.0f;                                     \
394     }
395 
396 #define AXFX_PRESET_REVERBHI_EXP_METAL_PIPE(fx)                           \
397     {                                                                     \
398         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_5MS;         \
399                                                                           \
400         (fx)->preDelayTimeMax = 0.05f;                                    \
401         (fx)->preDelayTime    = 0.00f;                                    \
402                                                                           \
403         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_METAL_TANK;  \
404         (fx)->fusedTime       = 0.5f;                                     \
405         (fx)->coloration      = 0.5f;                                     \
406         (fx)->damping         = 0.9f;                                     \
407                                                                           \
408         (fx)->crosstalk       = 0.1f;                                     \
409                                                                           \
410         (fx)->earlyGain       = 0.2f;                                     \
411         (fx)->fusedGain       = 0.3f;                                     \
412                                                                           \
413         (fx)->busIn           = NULL;                                     \
414         (fx)->busOut          = NULL;                                     \
415         (fx)->outGain         = 1.0f;                                     \
416         (fx)->sendGain        = 0.0f;                                     \
417     }
418 
419 #define AXFX_PRESET_REVERBHI_EXP_METAL_TANK(fx)                           \
420     {                                                                     \
421         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_35MS;        \
422                                                                           \
423         (fx)->preDelayTimeMax = 0.05f;                                    \
424         (fx)->preDelayTime    = 0.03f;                                    \
425                                                                           \
426         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_METAL_TANK;  \
427         (fx)->fusedTime       = 3.f;                                      \
428         (fx)->coloration      = 0.5f;                                     \
429         (fx)->damping         = 0.8f;                                     \
430                                                                           \
431         (fx)->crosstalk       = 0.1f;                                     \
432                                                                           \
433         (fx)->earlyGain       = 0.25f;                                    \
434         (fx)->fusedGain       = 0.3f;                                     \
435                                                                           \
436         (fx)->busIn           = NULL;                                     \
437         (fx)->busOut          = NULL;                                     \
438         (fx)->outGain         = 1.0f;                                     \
439         (fx)->sendGain        = 0.0f;                                     \
440     }
441 
442 #define AXFX_PRESET_REVERBHI_EXP_SMALL_ROOM(fx)                           \
443     {                                                                     \
444         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_25MS;        \
445                                                                           \
446         (fx)->preDelayTimeMax = 0.05f;                                    \
447         (fx)->preDelayTime    = 0.01f;                                    \
448                                                                           \
449         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_SMALL_ROOM;  \
450         (fx)->fusedTime       = 0.5f;                                     \
451         (fx)->coloration      = 0.6f;                                     \
452         (fx)->damping         = 0.4f;                                     \
453                                                                           \
454         (fx)->crosstalk       = 0.1f;                                     \
455                                                                           \
456         (fx)->earlyGain       = 0.3f;                                     \
457         (fx)->fusedGain       = 0.3f;                                     \
458                                                                           \
459         (fx)->busIn           = NULL;                                     \
460         (fx)->busOut          = NULL;                                     \
461         (fx)->outGain         = 1.0f;                                     \
462         (fx)->sendGain        = 0.0f;                                     \
463     }
464 
465 #define AXFX_PRESET_REVERBHI_EXP_MEDIUM_ROOM(fx)                          \
466     {                                                                     \
467         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_30MS;        \
468                                                                           \
469         (fx)->preDelayTimeMax = 0.05f;                                    \
470         (fx)->preDelayTime    = 0.02f;                                    \
471                                                                           \
472         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_SMALL_ROOM;  \
473         (fx)->fusedTime       = 1.0f;                                     \
474         (fx)->coloration      = 0.6f;                                     \
475         (fx)->damping         = 0.4f;                                     \
476                                                                           \
477         (fx)->crosstalk       = 0.1f;                                     \
478                                                                           \
479         (fx)->earlyGain       = 0.3f;                                     \
480         (fx)->fusedGain       = 0.3f;                                     \
481                                                                           \
482         (fx)->busIn           = NULL;                                     \
483         (fx)->busOut          = NULL;                                     \
484         (fx)->outGain         = 1.0f;                                     \
485         (fx)->sendGain        = 0.0f;                                     \
486     }
487 
488 #define AXFX_PRESET_REVERBHI_EXP_LARGE_ROOM(fx)                           \
489     {                                                                     \
490         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_40MS;        \
491                                                                           \
492         (fx)->preDelayTimeMax = 0.05f;                                    \
493         (fx)->preDelayTime    = 0.03f;                                    \
494                                                                           \
495         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_LARGE_ROOM;  \
496         (fx)->fusedTime       = 1.5f;                                     \
497         (fx)->coloration      = 0.6f;                                     \
498         (fx)->damping         = 0.4f;                                     \
499                                                                           \
500         (fx)->crosstalk       = 0.1f;                                     \
501                                                                           \
502         (fx)->earlyGain       = 0.25f;                                    \
503         (fx)->fusedGain       = 0.35f;                                    \
504                                                                           \
505         (fx)->busIn           = NULL;                                     \
506         (fx)->busOut          = NULL;                                     \
507         (fx)->outGain         = 1.0f;                                     \
508         (fx)->sendGain        = 0.0f;                                     \
509     }
510 
511 #define AXFX_PRESET_REVERBHI_EXP_LONG_ROOM(fx)                            \
512     {                                                                     \
513         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_20MS;        \
514                                                                           \
515         (fx)->preDelayTimeMax = 0.05f;                                    \
516         (fx)->preDelayTime    = 0.02f;                                    \
517                                                                           \
518         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_LARGE_ROOM;  \
519         (fx)->fusedTime       = 2.0f;                                     \
520         (fx)->coloration      = 0.6f;                                     \
521         (fx)->damping         = 0.4f;                                     \
522                                                                           \
523         (fx)->crosstalk       = 0.1f;                                     \
524                                                                           \
525         (fx)->earlyGain       = 0.3f;                                     \
526         (fx)->fusedGain       = 0.45f;                                    \
527                                                                           \
528         (fx)->busIn           = NULL;                                     \
529         (fx)->busOut          = NULL;                                     \
530         (fx)->outGain         = 1.0f;                                     \
531         (fx)->sendGain        = 0.0f;                                     \
532     }
533 
534 #define AXFX_PRESET_REVERBHI_EXP_SMALL_HALL(fx)                           \
535     {                                                                     \
536         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_25MS;        \
537                                                                           \
538         (fx)->preDelayTimeMax = 0.05f;                                    \
539         (fx)->preDelayTime    = 0.01f;                                    \
540                                                                           \
541         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_HALL;        \
542         (fx)->fusedTime       = 2.f;                                      \
543         (fx)->coloration      = 0.6f;                                     \
544         (fx)->damping         = 0.4f;                                     \
545                                                                           \
546         (fx)->crosstalk       = 0.1f;                                     \
547                                                                           \
548         (fx)->earlyGain       = 0.35f;                                    \
549         (fx)->fusedGain       = 0.45f;                                    \
550                                                                           \
551         (fx)->busIn           = NULL;                                     \
552         (fx)->busOut          = NULL;                                     \
553         (fx)->outGain         = 1.0f;                                     \
554         (fx)->sendGain        = 0.0f;                                     \
555     }
556 
557 #define AXFX_PRESET_REVERBHI_EXP_LARGE_HALL(fx)                           \
558     {                                                                     \
559         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_35MS;        \
560                                                                           \
561         (fx)->preDelayTimeMax = 0.05f;                                    \
562         (fx)->preDelayTime    = 0.02f;                                    \
563                                                                           \
564         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_HALL;        \
565         (fx)->fusedTime       = 3.f;                                      \
566         (fx)->coloration      = 0.6f;                                     \
567         (fx)->damping         = 0.3f;                                     \
568                                                                           \
569         (fx)->crosstalk       = 0.1f;                                     \
570                                                                           \
571         (fx)->earlyGain       = 0.3f;                                     \
572         (fx)->fusedGain       = 0.45f;                                    \
573                                                                           \
574         (fx)->busIn           = NULL;                                     \
575         (fx)->busOut          = NULL;                                     \
576         (fx)->outGain         = 1.0f;                                     \
577         (fx)->sendGain        = 0.0f;                                     \
578     }
579 
580 #define AXFX_PRESET_REVERBHI_EXP_CAVERNOUS(fx)                            \
581     {                                                                     \
582         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_40MS;        \
583                                                                           \
584         (fx)->preDelayTimeMax = 0.05f;                                    \
585         (fx)->preDelayTime    = 0.05f;                                    \
586                                                                           \
587         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_CAVERNOUS;   \
588         (fx)->fusedTime       = 4.f;                                      \
589         (fx)->coloration      = 0.6f;                                     \
590         (fx)->damping         = 0.7f;                                     \
591                                                                           \
592         (fx)->crosstalk       = 0.1f;                                     \
593                                                                           \
594         (fx)->earlyGain       = 0.5f;                                     \
595         (fx)->fusedGain       = 0.5f;                                     \
596                                                                           \
597         (fx)->busIn           = NULL;                                     \
598         (fx)->busOut          = NULL;                                     \
599         (fx)->outGain         = 1.0f;                                     \
600         (fx)->sendGain        = 0.0f;                                     \
601     }
602 
603 #define AXFX_PRESET_REVERBHI_EXP_CATHEDRAL(fx)                            \
604     {                                                                     \
605         (fx)->earlyMode       = AXFX_REVERBHI_EXP_EARLY_MODE_40MS;        \
606                                                                           \
607         (fx)->preDelayTimeMax = 0.05f;                                    \
608         (fx)->preDelayTime    = 0.05f;                                    \
609                                                                           \
610         (fx)->fusedMode       = AXFX_REVERBHI_EXP_FUSED_MODE_CAVERNOUS;   \
611         (fx)->fusedTime       = 5.f;                                      \
612         (fx)->coloration      = 0.6f;                                     \
613         (fx)->damping         = 0.3f;                                     \
614                                                                           \
615         (fx)->crosstalk       = 0.1f;                                     \
616                                                                           \
617         (fx)->earlyGain       = 0.35f;                                    \
618         (fx)->fusedGain       = 0.50f;                                    \
619                                                                           \
620         (fx)->busIn           = NULL;                                     \
621         (fx)->busOut          = NULL;                                     \
622         (fx)->outGain         = 1.0f;                                     \
623         (fx)->sendGain        = 0.0f;                                     \
624     }
625 
626 
627 /*--------------------------------------------------------------------------*
628   for chorus (mono, stereo, surround, DPL2)
629  *--------------------------------------------------------------------------*/
630 
631 #define AXFX_PRESET_CHORUS_EXP_TYPE1(fx)            \
632     {                                               \
633         (fx)->delayTime      = 20.f;                \
634         (fx)->depth          = 0.6f;                \
635         (fx)->rate           = 0.1f;                \
636         (fx)->feedback       = 0.0f;                \
637                                                     \
638         (fx)->busIn          = NULL;                \
639         (fx)->busOut         = NULL;                \
640         (fx)->outGain        = 1.0f;                \
641         (fx)->sendGain       = 0.0f;                \
642     }
643 
644 #define AXFX_PRESET_CHORUS_EXP_TYPE2(fx)            \
645     {                                               \
646         (fx)->delayTime      = 30.f;                \
647         (fx)->depth          = 0.3f;                \
648         (fx)->rate           = 0.5f;                \
649         (fx)->feedback       = 0.1f;                \
650                                                     \
651         (fx)->busIn          = NULL;                \
652         (fx)->busOut         = NULL;                \
653         (fx)->outGain        = 1.0f;                \
654         (fx)->sendGain       = 0.0f;                \
655     }
656 
657 #define AXFX_PRESET_CHORUS_EXP_TYPE3(fx)            \
658     {                                               \
659         (fx)->delayTime      = 40.f;                \
660         (fx)->depth          = 0.1f;                \
661         (fx)->rate           = 1.5f;                \
662         (fx)->feedback       = 0.0f;                \
663                                                     \
664         (fx)->busIn          = NULL;                \
665         (fx)->busOut         = NULL;                \
666         (fx)->outGain        = 1.0f;                \
667         (fx)->sendGain       = 0.0f;                \
668                                                     \
669         (fx)->busIn          = NULL;                \
670         (fx)->busOut         = NULL;                \
671         (fx)->outGain        = 1.0f;                \
672         (fx)->sendGain       = 0.0f;                \
673     }
674 
675 #define AXFX_PRESET_CHORUS_EXP_FLANGER1(fx)         \
676     {                                               \
677         (fx)->delayTime      = 0.8f;                \
678         (fx)->depth          = 0.9f;                \
679         (fx)->rate           = 0.5f;                \
680         (fx)->feedback       = 0.9f;                \
681                                                     \
682         (fx)->busIn          = NULL;                \
683         (fx)->busOut         = NULL;                \
684         (fx)->outGain        = 1.0f;                \
685         (fx)->sendGain       = 0.0f;                \
686     }
687 
688 #define AXFX_PRESET_CHORUS_EXP_FLANGER2(fx)         \
689     {                                               \
690         (fx)->delayTime      = 0.3f;                \
691         (fx)->depth          = 0.9f;                \
692         (fx)->rate           = 2.0f;                \
693         (fx)->feedback       = 0.8f;                \
694                                                     \
695         (fx)->busIn          = NULL;                \
696         (fx)->busOut         = NULL;                \
697         (fx)->outGain        = 1.0f;                \
698         (fx)->sendGain       = 0.0f;                \
699     }
700 
701 #define AXFX_PRESET_CHORUS_EXP_ECHO1(fx)            \
702     {                                               \
703         (fx)->delayTime      = 30.f;                \
704         (fx)->depth          = 0.1f;                \
705         (fx)->rate           = 0.5f;                \
706         (fx)->feedback       = 0.7f;                \
707                                                     \
708         (fx)->busIn          = NULL;                \
709         (fx)->busOut         = NULL;                \
710         (fx)->outGain        = 1.0f;                \
711         (fx)->sendGain       = 0.0f;                \
712     }
713 
714 #define AXFX_PRESET_CHORUS_EXP_ECHO2(fx)            \
715     {                                               \
716         (fx)->delayTime      = 40.f;                \
717         (fx)->depth          = 0.8f;                \
718         (fx)->rate           = 1.0f;                \
719         (fx)->feedback       = 0.8f;                \
720                                                     \
721         (fx)->busIn          = NULL;                \
722         (fx)->busOut         = NULL;                \
723         (fx)->outGain        = 1.0f;                \
724         (fx)->sendGain       = 0.0f;                \
725     }
726 
727 #define AXFX_PRESET_CHORUS_EXP_WOBBLE1(fx)          \
728     {                                               \
729         (fx)->delayTime      = 40.f;                \
730         (fx)->depth          = 0.8f;                \
731         (fx)->rate           = 1.5f;                \
732         (fx)->feedback       = 0.0f;                \
733                                                     \
734         (fx)->busIn          = NULL;                \
735         (fx)->busOut         = NULL;                \
736         (fx)->outGain        = 1.0f;                \
737         (fx)->sendGain       = 0.0f;                \
738     }
739 
740 #define AXFX_PRESET_CHORUS_EXP_WOBBLE2(fx)          \
741     {                                               \
742         (fx)->delayTime      = 50.f;                \
743         (fx)->depth          = 1.f;                 \
744         (fx)->rate           = 2.f;                 \
745         (fx)->feedback       = 0.3f;                \
746                                                     \
747         (fx)->busIn          = NULL;                \
748         (fx)->busOut         = NULL;                \
749         (fx)->outGain        = 1.0f;                \
750         (fx)->sendGain       = 0.0f;                \
751     }
752 
753 
754 #ifdef __cplusplus
755 }
756 #endif
757 
758 #endif  // __AXFX_PRESETS_H__
759