fmod/core/
reverb_presets.rs

1// Copyright (c) 2024 Lily Lyons
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at https://mozilla.org/MPL/2.0/.
6
7use crate::ReverbProperties;
8
9impl ReverbProperties {
10    // bindgen doesn't generate these so we have to do this ourselves
11    pub const OFF: Self = Self {
12        decay_time: 1000.0,
13        early_delay: 7.0,
14        late_delay: 11.0,
15        hf_reference: 5000.0,
16        hf_decay_ratio: 100.0,
17        diffusion: 100.0,
18        density: 100.0,
19        low_shelf_frequency: 250.0,
20        low_shelf_gain: 0.0,
21        high_cut: 20.0,
22        early_late_mix: 96.0,
23        wet_level: -80.0,
24    };
25    pub const GENERIC: Self = Self {
26        decay_time: 1500.0,
27        early_delay: 7.0,
28        late_delay: 11.0,
29        hf_reference: 5000.0,
30        hf_decay_ratio: 83.0,
31        diffusion: 100.0,
32        density: 100.0,
33        low_shelf_frequency: 250.0,
34        low_shelf_gain: 0.0,
35        high_cut: 14500.0,
36        early_late_mix: 96.0,
37        wet_level: -8.0,
38    };
39    pub const PADDEDCELL: Self = Self {
40        decay_time: 170.0,
41        early_delay: 1.0,
42        late_delay: 2.0,
43        hf_reference: 5000.0,
44        hf_decay_ratio: 10.0,
45        diffusion: 100.0,
46        density: 100.0,
47        low_shelf_frequency: 250.0,
48        low_shelf_gain: 0.0,
49        high_cut: 160.0,
50        early_late_mix: 84.0,
51        wet_level: -7.8,
52    };
53    pub const ROOM: Self = Self {
54        decay_time: 400.0,
55        early_delay: 2.0,
56        late_delay: 3.0,
57        hf_reference: 5000.0,
58        hf_decay_ratio: 83.0,
59        diffusion: 100.0,
60        density: 100.0,
61        low_shelf_frequency: 250.0,
62        low_shelf_gain: 0.0,
63        high_cut: 6050.0,
64        early_late_mix: 88.0,
65        wet_level: -9.4,
66    };
67    pub const BATHROOM: Self = Self {
68        decay_time: 1500.0,
69        early_delay: 7.0,
70        late_delay: 11.0,
71        hf_reference: 5000.0,
72        hf_decay_ratio: 54.0,
73        diffusion: 100.0,
74        density: 60.0,
75        low_shelf_frequency: 250.0,
76        low_shelf_gain: 0.0,
77        high_cut: 2900.0,
78        early_late_mix: 83.0,
79        wet_level: 0.5,
80    };
81    pub const LIVINGROOM: Self = Self {
82        decay_time: 500.0,
83        early_delay: 3.0,
84        late_delay: 4.0,
85        hf_reference: 5000.0,
86        hf_decay_ratio: 10.0,
87        diffusion: 100.0,
88        density: 100.0,
89        low_shelf_frequency: 250.0,
90        low_shelf_gain: 0.0,
91        high_cut: 160.0,
92        early_late_mix: 58.0,
93        wet_level: -19.0,
94    };
95    pub const STONEROOM: Self = Self {
96        decay_time: 2300.0,
97        early_delay: 12.0,
98        late_delay: 17.0,
99        hf_reference: 5000.0,
100        hf_decay_ratio: 64.0,
101        diffusion: 100.0,
102        density: 100.0,
103        low_shelf_frequency: 250.0,
104        low_shelf_gain: 0.0,
105        high_cut: 7800.0,
106        early_late_mix: 71.0,
107        wet_level: -8.5,
108    };
109    pub const AUDITORIUM: Self = Self {
110        decay_time: 4300.0,
111        early_delay: 20.0,
112        late_delay: 30.0,
113        hf_reference: 5000.0,
114        hf_decay_ratio: 59.0,
115        diffusion: 100.0,
116        density: 100.0,
117        low_shelf_frequency: 250.0,
118        low_shelf_gain: 0.0,
119        high_cut: 5850.0,
120        early_late_mix: 64.0,
121        wet_level: -11.7,
122    };
123    pub const CONCERTHALL: Self = Self {
124        decay_time: 3900.0,
125        early_delay: 20.0,
126        late_delay: 29.0,
127        hf_reference: 5000.0,
128        hf_decay_ratio: 70.0,
129        diffusion: 100.0,
130        density: 100.0,
131        low_shelf_frequency: 250.0,
132        low_shelf_gain: 0.0,
133        high_cut: 5650.0,
134        early_late_mix: 80.0,
135        wet_level: -9.8,
136    };
137    pub const CAVE: Self = Self {
138        decay_time: 2900.0,
139        early_delay: 15.0,
140        late_delay: 22.0,
141        hf_reference: 5000.0,
142        hf_decay_ratio: 100.0,
143        diffusion: 100.0,
144        density: 100.0,
145        low_shelf_frequency: 250.0,
146        low_shelf_gain: 0.0,
147        high_cut: 20000.0,
148        early_late_mix: 59.0,
149        wet_level: -11.3,
150    };
151    pub const ARENA: Self = Self {
152        decay_time: 7200.0,
153        early_delay: 20.0,
154        late_delay: 30.0,
155        hf_reference: 5000.0,
156        hf_decay_ratio: 33.0,
157        diffusion: 100.0,
158        density: 100.0,
159        low_shelf_frequency: 250.0,
160        low_shelf_gain: 0.0,
161        high_cut: 4500.0,
162        early_late_mix: 80.0,
163        wet_level: -9.6,
164    };
165    pub const HANGAR: Self = Self {
166        decay_time: 10000.0,
167        early_delay: 20.0,
168        late_delay: 30.0,
169        hf_reference: 5000.0,
170        hf_decay_ratio: 23.0,
171        diffusion: 100.0,
172        density: 100.0,
173        low_shelf_frequency: 250.0,
174        low_shelf_gain: 0.0,
175        high_cut: 3400.0,
176        early_late_mix: 72.0,
177        wet_level: -7.4,
178    };
179    pub const CARPETTEDHALLWAY: Self = Self {
180        decay_time: 300.0,
181        early_delay: 2.0,
182        late_delay: 30.0,
183        hf_reference: 5000.0,
184        hf_decay_ratio: 10.0,
185        diffusion: 100.0,
186        density: 100.0,
187        low_shelf_frequency: 250.0,
188        low_shelf_gain: 0.0,
189        high_cut: 500.0,
190        early_late_mix: 56.0,
191        wet_level: -24.0,
192    };
193    pub const HALLWAY: Self = Self {
194        decay_time: 1500.0,
195        early_delay: 7.0,
196        late_delay: 11.0,
197        hf_reference: 5000.0,
198        hf_decay_ratio: 59.0,
199        diffusion: 100.0,
200        density: 100.0,
201        low_shelf_frequency: 250.0,
202        low_shelf_gain: 0.0,
203        high_cut: 7800.0,
204        early_late_mix: 87.0,
205        wet_level: -5.5,
206    };
207    pub const STONECORRIDOR: Self = Self {
208        decay_time: 270.0,
209        early_delay: 13.0,
210        late_delay: 20.0,
211        hf_reference: 5000.0,
212        hf_decay_ratio: 79.0,
213        diffusion: 100.0,
214        density: 100.0,
215        low_shelf_frequency: 250.0,
216        low_shelf_gain: 0.0,
217        high_cut: 9000.0,
218        early_late_mix: 86.0,
219        wet_level: -6.0,
220    };
221    pub const ALLEY: Self = Self {
222        decay_time: 1500.0,
223        early_delay: 7.0,
224        late_delay: 11.0,
225        hf_reference: 5000.0,
226        hf_decay_ratio: 86.0,
227        diffusion: 100.0,
228        density: 100.0,
229        low_shelf_frequency: 250.0,
230        low_shelf_gain: 0.0,
231        high_cut: 8300.0,
232        early_late_mix: 80.0,
233        wet_level: -9.8,
234    };
235    pub const FOREST: Self = Self {
236        decay_time: 1500.0,
237        early_delay: 162.0,
238        late_delay: 88.0,
239        hf_reference: 5000.0,
240        hf_decay_ratio: 54.0,
241        diffusion: 79.0,
242        density: 100.0,
243        low_shelf_frequency: 250.0,
244        low_shelf_gain: 0.0,
245        high_cut: 760.0,
246        early_late_mix: 94.0,
247        wet_level: -12.3,
248    };
249    pub const CITY: Self = Self {
250        decay_time: 1500.0,
251        early_delay: 7.0,
252        late_delay: 11.0,
253        hf_reference: 5000.0,
254        hf_decay_ratio: 67.0,
255        diffusion: 50.0,
256        density: 100.0,
257        low_shelf_frequency: 250.0,
258        low_shelf_gain: 0.0,
259        high_cut: 4050.0,
260        early_late_mix: 66.0,
261        wet_level: -26.0,
262    };
263    pub const MOUNTAINS: Self = Self {
264        decay_time: 1500.0,
265        early_delay: 300.0,
266        late_delay: 100.0,
267        hf_reference: 5000.0,
268        hf_decay_ratio: 21.0,
269        diffusion: 27.0,
270        density: 100.0,
271        low_shelf_frequency: 250.0,
272        low_shelf_gain: 0.0,
273        high_cut: 1220.0,
274        early_late_mix: 82.0,
275        wet_level: -24.0,
276    };
277    pub const QUARRY: Self = Self {
278        decay_time: 1500.0,
279        early_delay: 61.0,
280        late_delay: 25.0,
281        hf_reference: 5000.0,
282        hf_decay_ratio: 83.0,
283        diffusion: 100.0,
284        density: 100.0,
285        low_shelf_frequency: 250.0,
286        low_shelf_gain: 0.0,
287        high_cut: 3400.0,
288        early_late_mix: 100.0,
289        wet_level: -5.0,
290    };
291    pub const PLAIN: Self = Self {
292        decay_time: 1500.0,
293        early_delay: 179.0,
294        late_delay: 100.0,
295        hf_reference: 5000.0,
296        hf_decay_ratio: 50.0,
297        diffusion: 21.0,
298        density: 100.0,
299        low_shelf_frequency: 250.0,
300        low_shelf_gain: 0.0,
301        high_cut: 1670.0,
302        early_late_mix: 65.0,
303        wet_level: -28.0,
304    };
305    pub const PARKINGLOT: Self = Self {
306        decay_time: 1700.0,
307        early_delay: 8.0,
308        late_delay: 12.0,
309        hf_reference: 5000.0,
310        hf_decay_ratio: 100.0,
311        diffusion: 100.0,
312        density: 100.0,
313        low_shelf_frequency: 250.0,
314        low_shelf_gain: 0.0,
315        high_cut: 20000.0,
316        early_late_mix: 56.0,
317        wet_level: -19.5,
318    };
319    pub const SEWERPIPE: Self = Self {
320        decay_time: 2800.0,
321        early_delay: 14.0,
322        late_delay: 21.0,
323        hf_reference: 5000.0,
324        hf_decay_ratio: 14.0,
325        diffusion: 80.0,
326        density: 60.0,
327        low_shelf_frequency: 250.0,
328        low_shelf_gain: 0.0,
329        high_cut: 3400.0,
330        early_late_mix: 66.0,
331        wet_level: 1.2,
332    };
333    pub const UNDERWATER: Self = Self {
334        decay_time: 1500.0,
335        early_delay: 7.0,
336        late_delay: 11.0,
337        hf_reference: 5000.0,
338        hf_decay_ratio: 10.0,
339        diffusion: 100.0,
340        density: 100.0,
341        low_shelf_frequency: 250.0,
342        low_shelf_gain: 0.0,
343        high_cut: 500.0,
344        early_late_mix: 92.0,
345        wet_level: 7.0,
346    };
347}