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