diff --git a/.gitignore b/.gitignore index 052e29b..9e0d443 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ travis.log # Visual Studio Code .vscode/.browse.VC.db* +rusty-tags.vi diff --git a/Cargo.toml b/Cargo.toml index 6118f90..a4f49c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ears" -version = "0.8.0" +version = "0.9.0" authors = ["Jeremy Letang ", "Jan Niklas Hasse ", "Nick Browne "] license = "MIT" keywords = ["audio", "openal", "sndfile", "sound", "music"] diff --git a/src/audio_controller.rs b/src/audio_controller.rs index 2d9c5b8..d486d5e 100644 --- a/src/audio_controller.rs +++ b/src/audio_controller.rs @@ -29,13 +29,13 @@ use states::State; /// The functionnality that an Audio Source should provide. pub trait AudioController { /// Play or resume the Audio Source. - fn play(&mut self) -> (); + fn play(&mut self); /// Pause the Audio Source. - fn pause(&mut self) -> (); + fn pause(&mut self); /// Stop the Audio Source. - fn stop(&mut self) -> (); + fn stop(&mut self); /// Connect a ReverbEffect to the Source fn connect(&mut self, reverb_effect: &Option); @@ -62,7 +62,7 @@ pub trait AudioController { * # Argument * * `offset` - The frame to seek to */ - fn set_offset(&mut self, offset: i32) -> (); + fn set_offset(&mut self, offset: i32); /** * Get the current position in the Music. @@ -82,7 +82,7 @@ pub trait AudioController { * # Argument * * `volume` - The volume of the Audio Source, should be between 0.0 and 1.0 */ - fn set_volume(&mut self, volume: f32) -> (); + fn set_volume(&mut self, volume: f32); /** * Get the volume of the Audio Source. @@ -102,7 +102,7 @@ pub trait AudioController { * * `min_volume` - The new minimal volume of the Audio Source should be * between 0.0 and 1.0 */ - fn set_min_volume(&mut self, min_volume: f32) -> (); + fn set_min_volume(&mut self, min_volume: f32); /** * Get the minimal volume of the Audio Source. @@ -122,7 +122,7 @@ pub trait AudioController { * * `max_volume` - The new maximal volume of the Audio Source should be * between 0.0 and 1.0 */ - fn set_max_volume(&mut self, max_volume: f32) -> (); + fn set_max_volume(&mut self, max_volume: f32); /** * Get the maximal volume of the Audio Source. @@ -140,7 +140,7 @@ pub trait AudioController { * # Arguments * `looping` - The new looping state. */ - fn set_looping(&mut self, looping: bool) -> (); + fn set_looping(&mut self, looping: bool); /** * Check if the Audio Source is looping or not @@ -161,7 +161,7 @@ pub trait AudioController { * * `new_pitch` - The new pitch of the Audio Source in the range * [0.5 - 2.0] */ - fn set_pitch(&mut self, pitch: f32) -> (); + fn set_pitch(&mut self, pitch: f32); /** * Set the pitch of the source. @@ -180,7 +180,7 @@ pub trait AudioController { * `relative` - True to set Audio Source relative to the * listener false to set the Audio Source position absolute. */ - fn set_relative(&mut self, relative: bool) -> (); + fn set_relative(&mut self, relative: bool); /** * Is the Audio Source relative to the listener or not ? @@ -205,7 +205,7 @@ pub trait AudioController { * * `position` - A three dimensional vector of f32 containing the * position of the listener [x, y, z]. */ - fn set_position(&mut self, position: [f32; 3]) -> (); + fn set_position(&mut self, position: [f32; 3]); /** * Get the position of the Audio Source in three dimensional space. @@ -226,7 +226,7 @@ pub trait AudioController { * # Argument * `direction` - The new direction of the Audio Source. */ - fn set_direction(&mut self, direction: [f32; 3]) -> (); + fn set_direction(&mut self, direction: [f32; 3]); /** * Get the direction of the Audio Source. @@ -248,7 +248,7 @@ pub trait AudioController { * # Argument * `max_distance` - The new maximum distance in the range [0.0, +inf] */ - fn set_max_distance(&mut self, max_distance: f32) -> (); + fn set_max_distance(&mut self, max_distance: f32); /** * Get the maximum distance of the Audio Source. @@ -270,7 +270,7 @@ pub trait AudioController { * # Argument * * `ref_distance` - The new reference distance of the Audio Source. */ - fn set_reference_distance(&mut self, ref_distance: f32) -> (); + fn set_reference_distance(&mut self, ref_distance: f32); /** * Get the reference distance of the Audio Source. @@ -292,7 +292,7 @@ pub trait AudioController { * `attenuation` - The new attenuation for the Audio Source in the * range [0.0, 1.0]. */ - fn set_attenuation(&mut self, attenuation: f32) -> (); + fn set_attenuation(&mut self, attenuation: f32); /** * Get the attenuation of a Sound. @@ -325,7 +325,7 @@ pub trait AudioController { * # Argument * * `enabled` - true to enable direct channel mode, false to disable */ - fn set_direct_channel(&mut self, enabled: bool) -> (); + fn set_direct_channel(&mut self, enabled: bool); /** * Returns whether direct channel is enabled or not. diff --git a/src/audio_tags.rs b/src/audio_tags.rs index dbede12..081dd5f 100644 --- a/src/audio_tags.rs +++ b/src/audio_tags.rs @@ -79,16 +79,18 @@ pub fn empty() -> Tags { pub fn get_sound_tags(file: &SndFile) -> Tags { Tags { - title: file.get_string(Title).unwrap_or("".to_string()), - copyright: file.get_string(Copyright).unwrap_or("".to_string()), - software: file.get_string(Software).unwrap_or("".to_string()), - artist: file.get_string(Artist).unwrap_or("".to_string()), - comment: file.get_string(Comment).unwrap_or("".to_string()), - date: file.get_string(Date).unwrap_or("".to_string()), - album: file.get_string(Album).unwrap_or("".to_string()), - license: file.get_string(License).unwrap_or("".to_string()), - track_number: file.get_string(TrackNumber).unwrap_or("".to_string()), - genre: file.get_string(Genre).unwrap_or("".to_string()), + title: file.get_string(Title).unwrap_or_else(|| "".to_string()), + copyright: file.get_string(Copyright).unwrap_or_else(|| "".to_string()), + software: file.get_string(Software).unwrap_or_else(|| "".to_string()), + artist: file.get_string(Artist).unwrap_or_else(|| "".to_string()), + comment: file.get_string(Comment).unwrap_or_else(|| "".to_string()), + date: file.get_string(Date).unwrap_or_else(|| "".to_string()), + album: file.get_string(Album).unwrap_or_else(|| "".to_string()), + license: file.get_string(License).unwrap_or_else(|| "".to_string()), + track_number: file + .get_string(TrackNumber) + .unwrap_or_else(|| "".to_string()), + genre: file.get_string(Genre).unwrap_or_else(|| "".to_string()), } } diff --git a/src/init.rs b/src/init.rs index bfbe5e0..d87acd4 100644 --- a/src/init.rs +++ b/src/init.rs @@ -46,7 +46,7 @@ use record_context::RecordContext; * ``` */ pub fn init() -> Result<(), OpenAlContextError> { - return OpenAlData::check_al_context(); + OpenAlData::check_al_context() } /** @@ -64,7 +64,7 @@ pub fn init() -> Result<(), OpenAlContextError> { * ``` */ pub fn init_in() -> Result { - return OpenAlData::check_al_input_context(); + OpenAlData::check_al_input_context() } #[cfg(test)] diff --git a/src/internal.rs b/src/internal.rs index 15e6915..f46858d 100644 --- a/src/internal.rs +++ b/src/internal.rs @@ -155,7 +155,7 @@ impl OpenAlData { ffi::alcIsExtensionPresent(new_context.al_device, c_str.as_ptr()) } == ffi::ALC_FALSE { - return Err(OpenAlContextError::NoInputDevice); + Err(OpenAlContextError::NoInputDevice) } else { new_context.al_capt_device = unsafe { ffi::alcCaptureOpenDevice( @@ -166,15 +166,15 @@ impl OpenAlData { ) }; if new_context.al_capt_device == 0 { - return Err(OpenAlContextError::DefaultCaptureDeviceError); + Err(OpenAlContextError::DefaultCaptureDeviceError) } else { let cap_device = new_context.al_capt_device; - return Ok(record_context::new(cap_device)); + Ok(record_context::new(cap_device)) } } } } else { - return Err(OpenAlContextError::WrongThread); + Err(OpenAlContextError::WrongThread) } } Err(poison_error) => Err(OpenAlContextError::LockError(poison_error.to_string())), @@ -232,4 +232,10 @@ macro_rules! check_openal_context( Err(err) => { println!("{}", err); return $def_ret; } } ); + () => ( + match OpenAlData::check_al_context() { + Ok(_) => {}, + Err(err) => println!("{}", err) , + } + ); ); diff --git a/src/listener.rs b/src/listener.rs index e7c841c..e46a183 100644 --- a/src/listener.rs +++ b/src/listener.rs @@ -40,8 +40,8 @@ use openal::{al, ffi}; * listener::set_volume(0.7f32); * ``` */ -pub fn set_volume(volume: f32) -> () { - check_openal_context!(()); +pub fn set_volume(volume: f32) { + check_openal_context!(); al::alListenerf(ffi::AL_GAIN, volume); } @@ -86,8 +86,8 @@ pub fn get_volume() -> f32 { * # use ears::listener; * listener::set_position([45., 90., 35.]); */ -pub fn set_position(position: [f32; 3]) -> () { - check_openal_context!(()); +pub fn set_position(position: [f32; 3]) { + check_openal_context!(); al::alListenerfv(ffi::AL_POSITION, &position[0]); } @@ -129,7 +129,7 @@ pub fn get_position() -> [f32; 3] { * ``` */ pub fn set_orientation(orientation_at: [f32; 3], orientation_up: [f32; 3]) { - check_openal_context!(()); + check_openal_context!(); let orientation: [f32; 6] = [ orientation_at[0], orientation_at[1], @@ -174,8 +174,8 @@ pub fn get_orientation() -> ([f32; 3], [f32; 3]) { * * `velocity` - A three dimensional vector of f32 containing the velocity * of the sound [x, y, z]. */ -pub fn set_velocity(velocity: [f32; 3]) -> () { - check_openal_context!(()); +pub fn set_velocity(velocity: [f32; 3]) { + check_openal_context!(); al::alListenerfv(ffi::AL_VELOCITY, &velocity[0]); } @@ -203,7 +203,7 @@ mod test { #[test] #[ignore] - pub fn listener_set_volume() -> () { + pub fn listener_set_volume() { set_volume(0.77); assert_eq!(get_volume(), 0.77); } @@ -212,7 +212,7 @@ mod test { #[test] #[ignore] - pub fn listener_set_position() -> () { + pub fn listener_set_position() { set_position([50f32, 150f32, 234f32]); let res = get_position(); assert_eq!((res[0], res[1], res[2]), (50f32, 150f32, 234f32)) @@ -220,7 +220,7 @@ mod test { #[test] #[ignore] - pub fn listener_set_orientation() -> () { + pub fn listener_set_orientation() { set_orientation([50., 150., 234.], [277., 125., 71.]); let (s1, s2) = get_orientation(); assert_eq!(s1, [50f32, 150f32, 234f32]); diff --git a/src/music.rs b/src/music.rs index 70e0565..d03c2f0 100644 --- a/src/music.rs +++ b/src/music.rs @@ -39,7 +39,7 @@ use internal::OpenAlData; use openal::{al, ffi}; use reverb_effect::ReverbEffect; use sndfile::OpenMode::Read; -use sndfile::SeekMode::SeekSet; +use sndfile::SeekMode::Set as SeekSet; use sndfile::{SndFile, SndInfo}; use states::State; use states::State::{Initial, Paused, Playing, Stopped}; @@ -149,7 +149,7 @@ fn fill_buffer( // Modulo on new cursor position to wrap around if we're looping if is_looping { - new_cursor_position = new_cursor_position % frames; + new_cursor_position %= frames; } cursor.store(new_cursor_position, Ordering::Relaxed); @@ -249,7 +249,7 @@ impl Music { sample_to_read: 50000 * (infos.channels as i64), file_infos: infos, sample_format: format, - sound_tags: sound_tags, + sound_tags, cursor: Arc::new(AtomicI64::new(0)), state: Initial, is_looping: false, @@ -259,7 +259,7 @@ impl Music { }) } - fn process_music(&mut self) -> () { + fn process_music(&mut self) { let (chan, port) = channel(); let sample_t_r = self.sample_to_read; let sample_rate = self.file_infos.samplerate; @@ -315,7 +315,7 @@ impl Music { self.offset_sender = Some(offset_sender); let cursor = self.cursor.clone(); - let is_looping_clone = self.is_looping.clone(); + let is_looping_clone = self.is_looping; let thread = thread::Builder::new().name(String::from("ears-music")); self.thread_handle = Some( @@ -414,13 +414,12 @@ impl AudioController for Music { /** * Play or resume the Music. */ - fn play(&mut self) -> () { - check_openal_context!(()); + fn play(&mut self) { + check_openal_context!(); match self.get_state() { Paused => { al::alSourcePlay(self.al_source); - return; } _ => { if self.is_playing() { @@ -437,8 +436,8 @@ impl AudioController for Music { /** * Pause the Music. */ - fn pause(&mut self) -> () { - check_openal_context!(()); + fn pause(&mut self) { + check_openal_context!(); al::alSourcePause(self.al_source) } @@ -446,8 +445,8 @@ impl AudioController for Music { /** * Stop the Music. */ - fn stop(&mut self) -> () { - check_openal_context!(()); + fn stop(&mut self) { + check_openal_context!(); al::alSourceStop(self.al_source); } @@ -456,7 +455,7 @@ impl AudioController for Music { * Connect a ReverbEffect to the Music */ fn connect(&mut self, reverb_effect: &Option) { - check_openal_context!(()); + check_openal_context!(); match reverb_effect { Some(reverb_effect) => { @@ -487,10 +486,7 @@ impl AudioController for Music { * True if the Music is playing, false otherwise. */ fn is_playing(&self) -> bool { - match self.get_state() { - Playing => true, - _ => false, - } + matches!(self.get_state(), Playing) } /** @@ -519,7 +515,7 @@ impl AudioController for Music { * # Argument * * `offset` - The frame to seek to */ - fn set_offset(&mut self, offset: i32) -> () { + fn set_offset(&mut self, offset: i32) { match self.offset_sender { Some(ref sender) => { sender.send(offset); @@ -565,8 +561,8 @@ impl AudioController for Music { * # Argument * * `volume` - The volume of the Music, should be between 0.0 and 1.0 */ - fn set_volume(&mut self, volume: f32) -> () { - check_openal_context!(()); + fn set_volume(&mut self, volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_GAIN, volume); } @@ -595,8 +591,8 @@ impl AudioController for Music { * * `min_volume` - The new minimal volume of the Music should be * between 0.0 and 1.0 */ - fn set_min_volume(&mut self, min_volume: f32) -> () { - check_openal_context!(()); + fn set_min_volume(&mut self, min_volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MIN_GAIN, min_volume); } @@ -625,8 +621,8 @@ impl AudioController for Music { * * `max_volume` - The new maximal volume of the Music should be * between 0.0 and 1.0 */ - fn set_max_volume(&mut self, max_volume: f32) -> () { - check_openal_context!(()); + fn set_max_volume(&mut self, max_volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MAX_GAIN, max_volume); } @@ -653,7 +649,7 @@ impl AudioController for Music { * # Arguments * `looping` - The new looping state. */ - fn set_looping(&mut self, looping: bool) -> () { + fn set_looping(&mut self, looping: bool) { if let Some(ref sender) = self.looping_sender { sender.send(looping); } @@ -680,8 +676,8 @@ impl AudioController for Music { * # Argument * * `new_pitch` - The new pitch of the Music in the range [0.5 - 2.0] */ - fn set_pitch(&mut self, pitch: f32) -> () { - check_openal_context!(()); + fn set_pitch(&mut self, pitch: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_PITCH, pitch) } @@ -709,8 +705,8 @@ impl AudioController for Music { * `relative` - True to set Music relative to the listener false to set the * Music position absolute. */ - fn set_relative(&mut self, relative: bool) -> () { - check_openal_context!(()); + fn set_relative(&mut self, relative: bool) { + check_openal_context!(); match relative { true => al::alSourcei( @@ -759,8 +755,8 @@ impl AudioController for Music { * * `position` - A three dimensional vector of f32 containing the position * of the listener [x, y, z]. */ - fn set_position(&mut self, position: [f32; 3]) -> () { - check_openal_context!(()); + fn set_position(&mut self, position: [f32; 3]) { + check_openal_context!(); al::alSourcefv(self.al_source, ffi::AL_POSITION, &position[0]); } @@ -790,8 +786,8 @@ impl AudioController for Music { * # Argument * `direction` - The new direction of the Music. */ - fn set_direction(&mut self, direction: [f32; 3]) -> () { - check_openal_context!(()); + fn set_direction(&mut self, direction: [f32; 3]) { + //check_openal_context!(); al::alSourcefv(self.al_source, ffi::AL_DIRECTION, &direction[0]); } @@ -822,8 +818,8 @@ impl AudioController for Music { * # Argument * `max_distance` - The new maximum distance in the range [0.0, +inf] */ - fn set_max_distance(&mut self, max_distance: f32) -> () { - check_openal_context!(()); + fn set_max_distance(&mut self, max_distance: f32) { + //check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MAX_DISTANCE, max_distance); } @@ -854,8 +850,8 @@ impl AudioController for Music { * # Argument * * `ref_distance` - The new reference distance of the Music. */ - fn set_reference_distance(&mut self, ref_distance: f32) -> () { - check_openal_context!(()); + fn set_reference_distance(&mut self, ref_distance: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_REFERENCE_DISTANCE, ref_distance); } @@ -889,8 +885,8 @@ impl AudioController for Music { * # Arguments * `attenuation` - The new attenuation for the Music in the range [0.0, 1.0]. */ - fn set_attenuation(&mut self, attenuation: f32) -> () { - check_openal_context!(()); + fn set_attenuation(&mut self, attenuation: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_ROLLOFF_FACTOR, attenuation); } @@ -932,7 +928,7 @@ impl AudioController for Music { * # Argument * * `enabled` - true to enable direct channel mode, false to disable */ - fn set_direct_channel(&mut self, enabled: bool) -> () { + fn set_direct_channel(&mut self, enabled: bool) { if OpenAlData::direct_channel_capable() { let value = match enabled { true => ffi::AL_TRUE, @@ -985,7 +981,7 @@ impl AudioController for Music { impl Drop for Music { /// Destroy all the resources of the Music. - fn drop(&mut self) -> () { + fn drop(&mut self) { self.stop(); if let Some(handle) = self.thread_handle.take() { handle.join(); @@ -1008,14 +1004,14 @@ mod test { #[test] #[ignore] - fn music_create_OK() -> () { + fn music_create_OK() { let msc = Music::new("res/shot.wav"); assert!(msc.is_ok()); } #[test] - fn music_create_FAIL() -> () { + fn music_create_FAIL() { let msc = Music::new("toto.wav"); assert!(msc.is_err()); @@ -1023,7 +1019,7 @@ mod test { #[test] #[ignore] - fn music_play_OK() -> () { + fn music_play_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.play(); @@ -1033,7 +1029,7 @@ mod test { #[test] #[ignore] - fn music_pause_OK() -> () { + fn music_pause_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.play(); @@ -1044,7 +1040,7 @@ mod test { #[test] #[ignore] - fn music_stop_OK() -> () { + fn music_stop_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.play(); @@ -1055,7 +1051,7 @@ mod test { #[test] #[ignore] - fn music_is_playing_TRUE() -> () { + fn music_is_playing_TRUE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.play(); @@ -1065,7 +1061,7 @@ mod test { #[test] #[ignore] - fn music_is_playing_FALSE() -> () { + fn music_is_playing_FALSE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); assert_eq!(msc.is_playing(), false); @@ -1074,7 +1070,7 @@ mod test { #[test] #[ignore] - fn music_set_volume_OK() -> () { + fn music_set_volume_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_volume(0.7); @@ -1083,7 +1079,7 @@ mod test { #[test] #[ignore] - fn music_set_min_volume_OK() -> () { + fn music_set_min_volume_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_min_volume(0.1); @@ -1092,7 +1088,7 @@ mod test { #[test] #[ignore] - fn music_set_max_volume_OK() -> () { + fn music_set_max_volume_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_max_volume(0.9); @@ -1101,7 +1097,7 @@ mod test { #[test] #[ignore] - fn music_is_looping_TRUE() -> () { + fn music_is_looping_TRUE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_looping(true); @@ -1110,7 +1106,7 @@ mod test { #[test] #[ignore] - fn music_is_looping_FALSE() -> () { + fn music_is_looping_FALSE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_looping(false); @@ -1119,7 +1115,7 @@ mod test { #[test] #[ignore] - fn music_set_pitch_OK() -> () { + fn music_set_pitch_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_pitch(1.5); @@ -1128,7 +1124,7 @@ mod test { #[test] #[ignore] - fn music_set_relative_TRUE() -> () { + fn music_set_relative_TRUE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_relative(true); @@ -1137,7 +1133,7 @@ mod test { #[test] #[ignore] - fn music_set_relative_FALSE() -> () { + fn music_set_relative_FALSE() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_relative(false); @@ -1148,7 +1144,7 @@ mod test { #[test] #[ignore] - fn music_set_position_OK() -> () { + fn music_set_position_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_position([50., 150., 250.]); @@ -1158,7 +1154,7 @@ mod test { #[test] #[ignore] - fn music_set_direction_OK() -> () { + fn music_set_direction_OK() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_direction([50., 150., 250.]); @@ -1168,7 +1164,7 @@ mod test { #[test] #[ignore] - fn music_set_max_distance() -> () { + fn music_set_max_distance() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_max_distance(70.); @@ -1177,7 +1173,7 @@ mod test { #[test] #[ignore] - fn music_set_reference_distance() -> () { + fn music_set_reference_distance() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_reference_distance(70.); @@ -1186,7 +1182,7 @@ mod test { #[test] #[ignore] - fn music_set_attenuation() -> () { + fn music_set_attenuation() { let mut msc = Music::new("res/shot.wav").expect("Cannot create Music"); msc.set_attenuation(0.5f32); diff --git a/src/openal.rs b/src/openal.rs index 2c27fb4..f8e3384 100644 --- a/src/openal.rs +++ b/src/openal.rs @@ -134,33 +134,28 @@ pub mod ffi { pub fn alcCloseDevice(device: ALCdevicePtr) -> ALCboolean; /// Listener functions - pub fn alListenerf(param: i32, value: f32) -> (); - pub fn alListener3f(param: i32, value1: f32, value2: f32, value3: f32) -> (); - pub fn alGetListenerf(param: i32, value: *mut f32) -> (); - pub fn alGetListener3f( - param: f32, - value1: *mut f32, - value2: *mut f32, - value3: *mut f32, - ) -> (); - pub fn alListenerfv(param: i32, values: *const f32) -> (); - pub fn alGetListenerfv(param: i32, values: *mut f32) -> (); + pub fn alListenerf(param: i32, value: f32); + pub fn alListener3f(param: i32, value1: f32, value2: f32, value3: f32); + pub fn alGetListenerf(param: i32, value: *mut f32); + pub fn alGetListener3f(param: f32, value1: *mut f32, value2: *mut f32, value3: *mut f32); + pub fn alListenerfv(param: i32, values: *const f32); + pub fn alGetListenerfv(param: i32, values: *mut f32); /// Sources functions - pub fn alGenSources(n: i32, sources: *mut u32) -> (); - pub fn alDeleteSources(n: i32, buffers: *mut u32) -> (); - pub fn alSourcei(source: u32, param: i32, value: i32) -> (); + pub fn alGenSources(n: i32, sources: *mut u32); + pub fn alDeleteSources(n: i32, buffers: *mut u32); + pub fn alSourcei(source: u32, param: i32, value: i32); pub fn alSource3i(source: u32, param: i32, value1: i32, value2: i32, value3: i32); - pub fn alSourcef(source: u32, param: i32, value: f32) -> (); - pub fn alSourcePlay(source: u32) -> (); - pub fn alSourcePause(source: u32) -> (); - pub fn alSourceStop(source: u32) -> (); - pub fn alGetSourcei(source: u32, param: i32, value: *mut i32) -> (); - pub fn alGetSourcef(source: u32, param: i32, value: *mut f32) -> (); - pub fn alSourcefv(source: u32, param: i32, value: *const f32) -> (); - pub fn alGetSourcefv(source: u32, param: i32, value: *mut f32) -> (); - pub fn alSourceQueueBuffers(source: u32, nb: i32, buffers: *const u32) -> (); - pub fn alSourceUnqueueBuffers(source: u32, nb: i32, buffers: *mut u32) -> (); + pub fn alSourcef(source: u32, param: i32, value: f32); + pub fn alSourcePlay(source: u32); + pub fn alSourcePause(source: u32); + pub fn alSourceStop(source: u32); + pub fn alGetSourcei(source: u32, param: i32, value: *mut i32); + pub fn alGetSourcef(source: u32, param: i32, value: *mut f32); + pub fn alSourcefv(source: u32, param: i32, value: *const f32); + pub fn alGetSourcefv(source: u32, param: i32, value: *mut f32); + pub fn alSourceQueueBuffers(source: u32, nb: i32, buffers: *const u32); + pub fn alSourceUnqueueBuffers(source: u32, nb: i32, buffers: *mut u32); /// Sound capture functions pub fn alcCaptureCloseDevice(device: ALCdevicePtr) -> ALCboolean; @@ -176,12 +171,12 @@ pub mod ffi { pub fn alcCaptureSamples(devide: ALCdevicePtr, buffer: *mut c_void, sample: i32); /// Effects functions - pub fn alGenAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32) -> (); - pub fn alGenEffects(n: i32, effects: *mut u32) -> (); - pub fn alDeleteAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32) -> (); - pub fn alDeleteEffects(n: i32, effects: *mut u32) -> (); + pub fn alGenAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32); + pub fn alGenEffects(n: i32, effects: *mut u32); + pub fn alDeleteAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32); + pub fn alDeleteEffects(n: i32, effects: *mut u32); pub fn alIsAuxiliaryEffectSlot(source: u32) -> ALboolean; - pub fn alAuxiliaryEffectSloti(source: u32, param: i32, value: u32) -> (); + pub fn alAuxiliaryEffectSloti(source: u32, param: i32, value: u32); pub fn alEffecti(source: u32, param: i32, value: i32); pub fn alEffectf(source: u32, param: i32, value: f32); @@ -190,15 +185,9 @@ pub mod ffi { pub fn alcIsExtensionPresent(device: ALCdevicePtr, extension: *const c_char) -> ALCboolean; /// Buffers functions - pub fn alGenBuffers(n: i32, buffers: *mut u32) -> (); + pub fn alGenBuffers(n: i32, buffers: *mut u32); pub fn alDeleteBuffers(n: i32, buffers: *mut u32); - pub fn alBufferData( - buffer: u32, - format: i32, - data: *mut c_void, - size: i32, - freq: i32, - ) -> (); + pub fn alBufferData(buffer: u32, format: i32, data: *mut c_void, size: i32, freq: i32); /// Error pub fn alGetError() -> i32; @@ -217,31 +206,31 @@ pub mod al { use std::error::Error; use std::fmt; - pub fn alBufferData(buffer: u32, format: i32, data: *mut c_void, size: i32, freq: i32) -> () { + pub fn alBufferData(buffer: u32, format: i32, data: *mut c_void, size: i32, freq: i32) { unsafe { ffi::alBufferData(buffer, format, data, size, freq); } } - pub fn alSourceQueueBuffers(source: u32, nb: i32, buffers: *const u32) -> () { + pub fn alSourceQueueBuffers(source: u32, nb: i32, buffers: *const u32) { unsafe { ffi::alSourceQueueBuffers(source, nb, buffers); } } - pub fn alSourcePlay(source: u32) -> () { + pub fn alSourcePlay(source: u32) { unsafe { ffi::alSourcePlay(source); } } - pub fn alGetSourcei(source: u32, param: i32, value: *mut i32) -> () { + pub fn alGetSourcei(source: u32, param: i32, value: *mut i32) { unsafe { ffi::alGetSourcei(source, param, value); } } - pub fn alGetSourcef(source: u32, param: i32, value: *mut f32) -> () { + pub fn alGetSourcef(source: u32, param: i32, value: *mut f32) { unsafe { ffi::alGetSourcef(source, param, value); } @@ -255,116 +244,116 @@ pub mod al { i } - pub fn alSourcei(source: u32, param: i32, value: i32) -> () { + pub fn alSourcei(source: u32, param: i32, value: i32) { unsafe { ffi::alSourcei(source, param, value); } } - pub fn alSource3i(source: u32, param: i32, value1: i32, value2: i32, value3: i32) -> () { + pub fn alSource3i(source: u32, param: i32, value1: i32, value2: i32, value3: i32) { unsafe { ffi::alSource3i(source, param, value1, value2, value3); } } - pub fn alSourcef(source: u32, param: i32, value: f32) -> () { + pub fn alSourcef(source: u32, param: i32, value: f32) { unsafe { ffi::alSourcef(source, param, value); } } - pub fn alSourcePause(source: u32) -> () { + pub fn alSourcePause(source: u32) { unsafe { ffi::alSourcePause(source); } } - pub fn alSourceStop(source: u32) -> () { + pub fn alSourceStop(source: u32) { unsafe { ffi::alSourceStop(source); } } - pub fn alSourceUnqueueBuffers(source: u32, nb: i32, buffers: *mut u32) -> () { + pub fn alSourceUnqueueBuffers(source: u32, nb: i32, buffers: *mut u32) { unsafe { ffi::alSourceUnqueueBuffers(source, nb, buffers); } } - pub fn alGenSources(n: i32, sources: *mut u32) -> () { + pub fn alGenSources(n: i32, sources: *mut u32) { unsafe { ffi::alGenSources(n, sources); } } - pub fn alSourcefv(source: u32, param: i32, value: *const f32) -> () { + pub fn alSourcefv(source: u32, param: i32, value: *const f32) { unsafe { ffi::alSourcefv(source, param, value); } } - pub fn alGetSourcefv(source: u32, param: i32, value: *mut f32) -> () { + pub fn alGetSourcefv(source: u32, param: i32, value: *mut f32) { unsafe { ffi::alGetSourcefv(source, param, value); } } - pub fn alGenBuffers(n: i32, buffers: *mut u32) -> () { + pub fn alGenBuffers(n: i32, buffers: *mut u32) { unsafe { ffi::alGenBuffers(n, buffers); } } - pub fn alListenerf(param: i32, value: f32) -> () { + pub fn alListenerf(param: i32, value: f32) { unsafe { ffi::alListenerf(param, value); } } - pub fn alListener3f(param: i32, value1: f32, value2: f32, value3: f32) -> () { + pub fn alListener3f(param: i32, value1: f32, value2: f32, value3: f32) { unsafe { ffi::alListener3f(param, value1, value2, value3); } } - pub fn alGetListenerf(param: i32, value: *mut f32) -> () { + pub fn alGetListenerf(param: i32, value: *mut f32) { unsafe { ffi::alGetListenerf(param, value); } } - pub fn alGetListener3f(param: f32, value1: *mut f32, value2: *mut f32, value3: *mut f32) -> () { + pub fn alGetListener3f(param: f32, value1: *mut f32, value2: *mut f32, value3: *mut f32) { unsafe { ffi::alGetListener3f(param, value1, value2, value3); } } - pub fn alListenerfv(param: i32, values: *const f32) -> () { + pub fn alListenerfv(param: i32, values: *const f32) { unsafe { ffi::alListenerfv(param, values); } } - pub fn alGetListenerfv(param: i32, values: *mut f32) -> () { + pub fn alGetListenerfv(param: i32, values: *mut f32) { unsafe { ffi::alGetListenerfv(param, values); } } /// Effects functions - pub fn alGenAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32) -> () { + pub fn alGenAuxiliaryEffectSlots(n: i32, effect_slots: *mut u32) { unsafe { ffi::alGenAuxiliaryEffectSlots(n, effect_slots); } } - pub fn alGenEffects(n: i32, effects: *mut u32) -> () { + pub fn alGenEffects(n: i32, effects: *mut u32) { unsafe { ffi::alGenEffects(n, effects); } } - pub fn alAuxiliaryEffectSloti(source: u32, param: i32, value: u32) -> () { + pub fn alAuxiliaryEffectSloti(source: u32, param: i32, value: u32) { unsafe { ffi::alAuxiliaryEffectSloti(source, param, value); } @@ -432,7 +421,7 @@ pub mod al { 5 => Some(ffi::AL_FORMAT_51CHN16), 6 => Some(ffi::AL_FORMAT_61CHN16), 7 => Some(ffi::AL_FORMAT_71CHN16), - _ => return None, + _ => None, } } } diff --git a/src/presets.rs b/src/presets.rs index 99eb6d8..3f51a9a 100644 --- a/src/presets.rs +++ b/src/presets.rs @@ -147,174 +147,2847 @@ pub enum ReverbPreset { impl ReverbPreset { pub fn properties(&self) -> ReverbProperties { match self { - ReverbPreset::Generic => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.8913, 1.0000, 1.4900, 0.8300, 1.0000, 0.0500, 0.0070, [0.0000, 0.0000, 0.0000], 1.2589, 0.0110, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Paddedcell => ReverbProperties::new(0.1715, 1.0000, 0.3162, 0.0010, 1.0000, 0.1700, 0.1000, 1.0000, 0.2500, 0.0010, [0.0000, 0.0000, 0.0000], 1.2691, 0.0020, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Room => ReverbProperties::new(0.4287, 1.0000, 0.3162, 0.5929, 1.0000, 0.4000, 0.8300, 1.0000, 0.1503, 0.0020, [0.0000, 0.0000, 0.0000], 1.0629, 0.0030, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Bathroom => ReverbProperties::new(0.1715, 1.0000, 0.3162, 0.2512, 1.0000, 1.4900, 0.5400, 1.0000, 0.6531, 0.0070, [0.0000, 0.0000, 0.0000], 3.2734, 0.0110, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Livingroom => ReverbProperties::new(0.9766, 1.0000, 0.3162, 0.0010, 1.0000, 0.5000, 0.1000, 1.0000, 0.2051, 0.0030, [0.0000, 0.0000, 0.0000], 0.2805, 0.0040, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Stoneroom => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.7079, 1.0000, 2.3100, 0.6400, 1.0000, 0.4411, 0.0120, [0.0000, 0.0000, 0.0000], 1.1003, 0.0170, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Auditorium => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.5781, 1.0000, 4.3200, 0.5900, 1.0000, 0.4032, 0.0200, [0.0000, 0.0000, 0.0000], 0.7170, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Concerthall => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.5623, 1.0000, 3.9200, 0.7000, 1.0000, 0.2427, 0.0200, [0.0000, 0.0000, 0.0000], 0.9977, 0.0290, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Cave => ReverbProperties::new(1.0000, 1.0000, 0.3162, 1.0000, 1.0000, 2.9100, 1.3000, 1.0000, 0.5000, 0.0150, [0.0000, 0.0000, 0.0000], 0.7063, 0.0220, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::Arena => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.4477, 1.0000, 7.2400, 0.3300, 1.0000, 0.2612, 0.0200, [0.0000, 0.0000, 0.0000], 1.0186, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Hangar => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.3162, 1.0000, 10.0500, 0.2300, 1.0000, 0.5000, 0.0200, [0.0000, 0.0000, 0.0000], 1.2560, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Carpetedhallway => ReverbProperties::new(0.4287, 1.0000, 0.3162, 0.0100, 1.0000, 0.3000, 0.1000, 1.0000, 0.1215, 0.0020, [0.0000, 0.0000, 0.0000], 0.1531, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Hallway => ReverbProperties::new(0.3645, 1.0000, 0.3162, 0.7079, 1.0000, 1.4900, 0.5900, 1.0000, 0.2458, 0.0070, [0.0000, 0.0000, 0.0000], 1.6615, 0.0110, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Stonecorridor => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.7612, 1.0000, 2.7000, 0.7900, 1.0000, 0.2472, 0.0130, [0.0000, 0.0000, 0.0000], 1.5758, 0.0200, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Alley => ReverbProperties::new(1.0000, 0.3000, 0.3162, 0.7328, 1.0000, 1.4900, 0.8600, 1.0000, 0.2500, 0.0070, [0.0000, 0.0000, 0.0000], 0.9954, 0.0110, [0.0000, 0.0000, 0.0000], 0.1250, 0.9500, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Forest => ReverbProperties::new(1.0000, 0.3000, 0.3162, 0.0224, 1.0000, 1.4900, 0.5400, 1.0000, 0.0525, 0.1620, [0.0000, 0.0000, 0.0000], 0.7682, 0.0880, [0.0000, 0.0000, 0.0000], 0.1250, 1.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::City => ReverbProperties::new(1.0000, 0.5000, 0.3162, 0.3981, 1.0000, 1.4900, 0.6700, 1.0000, 0.0730, 0.0070, [0.0000, 0.0000, 0.0000], 0.1427, 0.0110, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Mountains => ReverbProperties::new(1.0000, 0.2700, 0.3162, 0.0562, 1.0000, 1.4900, 0.2100, 1.0000, 0.0407, 0.3000, [0.0000, 0.0000, 0.0000], 0.1919, 0.1000, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::Quarry => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.3162, 1.0000, 1.4900, 0.8300, 1.0000, 0.0000, 0.0610, [0.0000, 0.0000, 0.0000], 1.7783, 0.0250, [0.0000, 0.0000, 0.0000], 0.1250, 0.7000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Plain => ReverbProperties::new(1.0000, 0.2100, 0.3162, 0.1000, 1.0000, 1.4900, 0.5000, 1.0000, 0.0585, 0.1790, [0.0000, 0.0000, 0.0000], 0.1089, 0.1000, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Parkinglot => ReverbProperties::new(1.0000, 1.0000, 0.3162, 1.0000, 1.0000, 1.6500, 1.5000, 1.0000, 0.2082, 0.0080, [0.0000, 0.0000, 0.0000], 0.2652, 0.0120, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::Sewerpipe => ReverbProperties::new(0.3071, 0.8000, 0.3162, 0.3162, 1.0000, 2.8100, 0.1400, 1.0000, 1.6387, 0.0140, [0.0000, 0.0000, 0.0000], 3.2471, 0.0210, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Underwater => ReverbProperties::new(0.3645, 1.0000, 0.3162, 0.0100, 1.0000, 1.4900, 0.1000, 1.0000, 0.5963, 0.0070, [0.0000, 0.0000, 0.0000], 7.0795, 0.0110, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 1.1800, 0.3480, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Drugged => ReverbProperties::new(0.4287, 0.5000, 0.3162, 1.0000, 1.0000, 8.3900, 1.3900, 1.0000, 0.8760, 0.0020, [0.0000, 0.0000, 0.0000], 3.1081, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 1.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::Dizzy => ReverbProperties::new(0.3645, 0.6000, 0.3162, 0.6310, 1.0000, 17.2300, 0.5600, 1.0000, 0.1392, 0.0200, [0.0000, 0.0000, 0.0000], 0.4937, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.8100, 0.3100, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::Psychotic => ReverbProperties::new(0.0625, 0.5000, 0.3162, 0.8404, 1.0000, 7.5600, 0.9100, 1.0000, 0.4864, 0.0200, [0.0000, 0.0000, 0.0000], 2.4378, 0.0300, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 4.0000, 1.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::CastleSmallroom => ReverbProperties::new(1.0000, 0.8900, 0.3162, 0.3981, 0.1000, 1.2200, 0.8300, 0.3100, 0.8913, 0.0220, [0.0000, 0.0000, 0.0000], 1.9953, 0.0110, [0.0000, 0.0000, 0.0000], 0.1380, 0.0800, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleShortpassage => ReverbProperties::new(1.0000, 0.8900, 0.3162, 0.3162, 0.1000, 2.3200, 0.8300, 0.3100, 0.8913, 0.0070, [0.0000, 0.0000, 0.0000], 1.2589, 0.0230, [0.0000, 0.0000, 0.0000], 0.1380, 0.0800, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleMediumroom => ReverbProperties::new(1.0000, 0.9300, 0.3162, 0.2818, 0.1000, 2.0400, 0.8300, 0.4600, 0.6310, 0.0220, [0.0000, 0.0000, 0.0000], 1.5849, 0.0110, [0.0000, 0.0000, 0.0000], 0.1550, 0.0300, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleLargeroom => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.2818, 0.1259, 2.5300, 0.8300, 0.5000, 0.4467, 0.0340, [0.0000, 0.0000, 0.0000], 1.2589, 0.0160, [0.0000, 0.0000, 0.0000], 0.1850, 0.0700, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleLongpassage => ReverbProperties::new(1.0000, 0.8900, 0.3162, 0.3981, 0.1000, 3.4200, 0.8300, 0.3100, 0.8913, 0.0070, [0.0000, 0.0000, 0.0000], 1.4125, 0.0230, [0.0000, 0.0000, 0.0000], 0.1380, 0.0800, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleHall => ReverbProperties::new(1.0000, 0.8100, 0.3162, 0.2818, 0.1778, 3.1400, 0.7900, 0.6200, 0.1778, 0.0560, [0.0000, 0.0000, 0.0000], 1.1220, 0.0240, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleCupboard => ReverbProperties::new(1.0000, 0.8900, 0.3162, 0.2818, 0.1000, 0.6700, 0.8700, 0.3100, 1.4125, 0.0100, [0.0000, 0.0000, 0.0000], 3.5481, 0.0070, [0.0000, 0.0000, 0.0000], 0.1380, 0.0800, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::CastleCourtyard => ReverbProperties::new(1.0000, 0.4200, 0.3162, 0.4467, 0.1995, 2.1300, 0.6100, 0.2300, 0.2239, 0.1600, [0.0000, 0.0000, 0.0000], 0.7079, 0.0360, [0.0000, 0.0000, 0.0000], 0.2500, 0.3700, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::CastleAlcove => ReverbProperties::new(1.0000, 0.8900, 0.3162, 0.5012, 0.1000, 1.6400, 0.8700, 0.3100, 1.0000, 0.0070, [0.0000, 0.0000, 0.0000], 1.4125, 0.0340, [0.0000, 0.0000, 0.0000], 0.1380, 0.0800, 0.2500, 0.0000, 0.9943, 5168.6001, 139.5000, 0.0000, 1), - ReverbPreset::FactorySmallroom => ReverbProperties::new(0.3645, 0.8200, 0.3162, 0.7943, 0.5012, 1.7200, 0.6500, 1.3100, 0.7079, 0.0100, [0.0000, 0.0000, 0.0000], 1.7783, 0.0240, [0.0000, 0.0000, 0.0000], 0.1190, 0.0700, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryShortpassage => ReverbProperties::new(0.3645, 0.6400, 0.2512, 0.7943, 0.5012, 2.5300, 0.6500, 1.3100, 1.0000, 0.0100, [0.0000, 0.0000, 0.0000], 1.2589, 0.0380, [0.0000, 0.0000, 0.0000], 0.1350, 0.2300, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryMediumroom => ReverbProperties::new(0.4287, 0.8200, 0.2512, 0.7943, 0.5012, 2.7600, 0.6500, 1.3100, 0.2818, 0.0220, [0.0000, 0.0000, 0.0000], 1.4125, 0.0230, [0.0000, 0.0000, 0.0000], 0.1740, 0.0700, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryLargeroom => ReverbProperties::new(0.4287, 0.7500, 0.2512, 0.7079, 0.6310, 4.2400, 0.5100, 1.3100, 0.1778, 0.0390, [0.0000, 0.0000, 0.0000], 1.1220, 0.0230, [0.0000, 0.0000, 0.0000], 0.2310, 0.0700, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryLongpassage => ReverbProperties::new(0.3645, 0.6400, 0.2512, 0.7943, 0.5012, 4.0600, 0.6500, 1.3100, 1.0000, 0.0200, [0.0000, 0.0000, 0.0000], 1.2589, 0.0370, [0.0000, 0.0000, 0.0000], 0.1350, 0.2300, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryHall => ReverbProperties::new(0.4287, 0.7500, 0.3162, 0.7079, 0.6310, 7.4300, 0.5100, 1.3100, 0.0631, 0.0730, [0.0000, 0.0000, 0.0000], 0.8913, 0.0270, [0.0000, 0.0000, 0.0000], 0.2500, 0.0700, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryCupboard => ReverbProperties::new(0.3071, 0.6300, 0.2512, 0.7943, 0.5012, 0.4900, 0.6500, 1.3100, 1.2589, 0.0100, [0.0000, 0.0000, 0.0000], 1.9953, 0.0320, [0.0000, 0.0000, 0.0000], 0.1070, 0.0700, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryCourtyard => ReverbProperties::new(0.3071, 0.5700, 0.3162, 0.3162, 0.6310, 2.3200, 0.2900, 0.5600, 0.2239, 0.1400, [0.0000, 0.0000, 0.0000], 0.3981, 0.0390, [0.0000, 0.0000, 0.0000], 0.2500, 0.2900, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::FactoryAlcove => ReverbProperties::new(0.3645, 0.5900, 0.2512, 0.7943, 0.5012, 3.1400, 0.6500, 1.3100, 1.4125, 0.0100, [0.0000, 0.0000, 0.0000], 1.0000, 0.0380, [0.0000, 0.0000, 0.0000], 0.1140, 0.1000, 0.2500, 0.0000, 0.9943, 3762.6001, 362.5000, 0.0000, 1), - ReverbPreset::IcepalaceSmallroom => ReverbProperties::new(1.0000, 0.8400, 0.3162, 0.5623, 0.2818, 1.5100, 1.5300, 0.2700, 0.8913, 0.0100, [0.0000, 0.0000, 0.0000], 1.4125, 0.0110, [0.0000, 0.0000, 0.0000], 0.1640, 0.1400, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceShortpassage => ReverbProperties::new(1.0000, 0.7500, 0.3162, 0.5623, 0.2818, 1.7900, 1.4600, 0.2800, 0.5012, 0.0100, [0.0000, 0.0000, 0.0000], 1.1220, 0.0190, [0.0000, 0.0000, 0.0000], 0.1770, 0.0900, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceMediumroom => ReverbProperties::new(1.0000, 0.8700, 0.3162, 0.5623, 0.4467, 2.2200, 1.5300, 0.3200, 0.3981, 0.0390, [0.0000, 0.0000, 0.0000], 1.1220, 0.0270, [0.0000, 0.0000, 0.0000], 0.1860, 0.1200, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceLargeroom => ReverbProperties::new(1.0000, 0.8100, 0.3162, 0.5623, 0.4467, 3.1400, 1.5300, 0.3200, 0.2512, 0.0390, [0.0000, 0.0000, 0.0000], 1.0000, 0.0270, [0.0000, 0.0000, 0.0000], 0.2140, 0.1100, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceLongpassage => ReverbProperties::new(1.0000, 0.7700, 0.3162, 0.5623, 0.3981, 3.0100, 1.4600, 0.2800, 0.7943, 0.0120, [0.0000, 0.0000, 0.0000], 1.2589, 0.0250, [0.0000, 0.0000, 0.0000], 0.1860, 0.0400, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceHall => ReverbProperties::new(1.0000, 0.7600, 0.3162, 0.4467, 0.5623, 5.4900, 1.5300, 0.3800, 0.1122, 0.0540, [0.0000, 0.0000, 0.0000], 0.6310, 0.0520, [0.0000, 0.0000, 0.0000], 0.2260, 0.1100, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceCupboard => ReverbProperties::new(1.0000, 0.8300, 0.3162, 0.5012, 0.2239, 0.7600, 1.5300, 0.2600, 1.1220, 0.0120, [0.0000, 0.0000, 0.0000], 1.9953, 0.0160, [0.0000, 0.0000, 0.0000], 0.1430, 0.0800, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceCourtyard => ReverbProperties::new(1.0000, 0.5900, 0.3162, 0.2818, 0.3162, 2.0400, 1.2000, 0.3800, 0.3162, 0.1730, [0.0000, 0.0000, 0.0000], 0.3162, 0.0430, [0.0000, 0.0000, 0.0000], 0.2350, 0.4800, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::IcepalaceAlcove => ReverbProperties::new(1.0000, 0.8400, 0.3162, 0.5623, 0.2818, 2.7600, 1.4600, 0.2800, 1.1220, 0.0100, [0.0000, 0.0000, 0.0000], 0.8913, 0.0300, [0.0000, 0.0000, 0.0000], 0.1610, 0.0900, 0.2500, 0.0000, 0.9943, 12428.5000, 99.6000, 0.0000, 1), - ReverbPreset::SpacestationSmallroom => ReverbProperties::new(0.2109, 0.7000, 0.3162, 0.7079, 0.8913, 1.7200, 0.8200, 0.5500, 0.7943, 0.0070, [0.0000, 0.0000, 0.0000], 1.4125, 0.0130, [0.0000, 0.0000, 0.0000], 0.1880, 0.2600, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationShortpassage => ReverbProperties::new(0.2109, 0.8700, 0.3162, 0.6310, 0.8913, 3.5700, 0.5000, 0.5500, 1.0000, 0.0120, [0.0000, 0.0000, 0.0000], 1.1220, 0.0160, [0.0000, 0.0000, 0.0000], 0.1720, 0.2000, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationMediumroom => ReverbProperties::new(0.2109, 0.7500, 0.3162, 0.6310, 0.8913, 3.0100, 0.5000, 0.5500, 0.3981, 0.0340, [0.0000, 0.0000, 0.0000], 1.1220, 0.0350, [0.0000, 0.0000, 0.0000], 0.2090, 0.3100, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationLargeroom => ReverbProperties::new(0.3645, 0.8100, 0.3162, 0.6310, 0.8913, 3.8900, 0.3800, 0.6100, 0.3162, 0.0560, [0.0000, 0.0000, 0.0000], 0.8913, 0.0350, [0.0000, 0.0000, 0.0000], 0.2330, 0.2800, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationLongpassage => ReverbProperties::new(0.4287, 0.8200, 0.3162, 0.6310, 0.8913, 4.6200, 0.6200, 0.5500, 1.0000, 0.0120, [0.0000, 0.0000, 0.0000], 1.2589, 0.0310, [0.0000, 0.0000, 0.0000], 0.2500, 0.2300, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationHall => ReverbProperties::new(0.4287, 0.8700, 0.3162, 0.6310, 0.8913, 7.1100, 0.3800, 0.6100, 0.1778, 0.1000, [0.0000, 0.0000, 0.0000], 0.6310, 0.0470, [0.0000, 0.0000, 0.0000], 0.2500, 0.2500, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationCupboard => ReverbProperties::new(0.1715, 0.5600, 0.3162, 0.7079, 0.8913, 0.7900, 0.8100, 0.5500, 1.4125, 0.0070, [0.0000, 0.0000, 0.0000], 1.7783, 0.0180, [0.0000, 0.0000, 0.0000], 0.1810, 0.3100, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::SpacestationAlcove => ReverbProperties::new(0.2109, 0.7800, 0.3162, 0.7079, 0.8913, 1.1600, 0.8100, 0.5500, 1.4125, 0.0070, [0.0000, 0.0000, 0.0000], 1.0000, 0.0180, [0.0000, 0.0000, 0.0000], 0.1920, 0.2100, 0.2500, 0.0000, 0.9943, 3316.1001, 458.2000, 0.0000, 1), - ReverbPreset::WoodenSmallroom => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1122, 0.3162, 0.7900, 0.3200, 0.8700, 1.0000, 0.0320, [0.0000, 0.0000, 0.0000], 0.8913, 0.0290, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenShortpassage => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1259, 0.3162, 1.7500, 0.5000, 0.8700, 0.8913, 0.0120, [0.0000, 0.0000, 0.0000], 0.6310, 0.0240, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenMediumroom => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1000, 0.2818, 1.4700, 0.4200, 0.8200, 0.8913, 0.0490, [0.0000, 0.0000, 0.0000], 0.8913, 0.0290, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenLargeroom => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.0891, 0.2818, 2.6500, 0.3300, 0.8200, 0.8913, 0.0660, [0.0000, 0.0000, 0.0000], 0.7943, 0.0490, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenLongpassage => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1000, 0.3162, 1.9900, 0.4000, 0.7900, 1.0000, 0.0200, [0.0000, 0.0000, 0.0000], 0.4467, 0.0360, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenHall => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.0794, 0.2818, 3.4500, 0.3000, 0.8200, 0.8913, 0.0880, [0.0000, 0.0000, 0.0000], 0.7943, 0.0630, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenCupboard => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1413, 0.3162, 0.5600, 0.4600, 0.9100, 1.1220, 0.0120, [0.0000, 0.0000, 0.0000], 1.1220, 0.0280, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenCourtyard => ReverbProperties::new(1.0000, 0.6500, 0.3162, 0.0794, 0.3162, 1.7900, 0.3500, 0.7900, 0.5623, 0.1230, [0.0000, 0.0000, 0.0000], 0.1000, 0.0320, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::WoodenAlcove => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.1259, 0.3162, 1.2200, 0.6200, 0.9100, 1.1220, 0.0120, [0.0000, 0.0000, 0.0000], 0.7079, 0.0240, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 4705.0000, 99.6000, 0.0000, 1), - ReverbPreset::SportEmptystadium => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.4467, 0.7943, 6.2600, 0.5100, 1.1000, 0.0631, 0.1830, [0.0000, 0.0000, 0.0000], 0.3981, 0.0380, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::SportSquashcourt => ReverbProperties::new(1.0000, 0.7500, 0.3162, 0.3162, 0.7943, 2.2200, 0.9100, 1.1600, 0.4467, 0.0070, [0.0000, 0.0000, 0.0000], 0.7943, 0.0110, [0.0000, 0.0000, 0.0000], 0.1260, 0.1900, 0.2500, 0.0000, 0.9943, 7176.8999, 211.2000, 0.0000, 1), - ReverbPreset::SportSmallswimmingpool => ReverbProperties::new(1.0000, 0.7000, 0.3162, 0.7943, 0.8913, 2.7600, 1.2500, 1.1400, 0.6310, 0.0200, [0.0000, 0.0000, 0.0000], 0.7943, 0.0300, [0.0000, 0.0000, 0.0000], 0.1790, 0.1500, 0.8950, 0.1900, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::SportLargeswimmingpool => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.7943, 1.0000, 5.4900, 1.3100, 1.1400, 0.4467, 0.0390, [0.0000, 0.0000, 0.0000], 0.5012, 0.0490, [0.0000, 0.0000, 0.0000], 0.2220, 0.5500, 1.1590, 0.2100, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::SportGymnasium => ReverbProperties::new(1.0000, 0.8100, 0.3162, 0.4467, 0.8913, 3.1400, 1.0600, 1.3500, 0.3981, 0.0290, [0.0000, 0.0000, 0.0000], 0.5623, 0.0450, [0.0000, 0.0000, 0.0000], 0.1460, 0.1400, 0.2500, 0.0000, 0.9943, 7176.8999, 211.2000, 0.0000, 1), - ReverbPreset::SportFullstadium => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.0708, 0.7943, 5.2500, 0.1700, 0.8000, 0.1000, 0.1880, [0.0000, 0.0000, 0.0000], 0.2818, 0.0380, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::SportStadiumtannoy => ReverbProperties::new(1.0000, 0.7800, 0.3162, 0.5623, 0.5012, 2.5300, 0.8800, 0.6800, 0.2818, 0.2300, [0.0000, 0.0000, 0.0000], 0.5012, 0.0630, [0.0000, 0.0000, 0.0000], 0.2500, 0.2000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::PrefabWorkshop => ReverbProperties::new(0.4287, 1.0000, 0.3162, 0.1413, 0.3981, 0.7600, 1.0000, 1.0000, 1.0000, 0.0120, [0.0000, 0.0000, 0.0000], 1.1220, 0.0120, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::PrefabSchoolroom => ReverbProperties::new(0.4022, 0.6900, 0.3162, 0.6310, 0.5012, 0.9800, 0.4500, 0.1800, 1.4125, 0.0170, [0.0000, 0.0000, 0.0000], 1.4125, 0.0150, [0.0000, 0.0000, 0.0000], 0.0950, 0.1400, 0.2500, 0.0000, 0.9943, 7176.8999, 211.2000, 0.0000, 1), - ReverbPreset::PrefabPractiseroom => ReverbProperties::new(0.4022, 0.8700, 0.3162, 0.3981, 0.5012, 1.1200, 0.5600, 0.1800, 1.2589, 0.0100, [0.0000, 0.0000, 0.0000], 1.4125, 0.0110, [0.0000, 0.0000, 0.0000], 0.0950, 0.1400, 0.2500, 0.0000, 0.9943, 7176.8999, 211.2000, 0.0000, 1), - ReverbPreset::PrefabOuthouse => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.1122, 0.1585, 1.3800, 0.3800, 0.3500, 0.8913, 0.0240, [0.0000, 0.0000, -0.0000], 0.6310, 0.0440, [0.0000, 0.0000, 0.0000], 0.1210, 0.1700, 0.2500, 0.0000, 0.9943, 2854.3999, 107.5000, 0.0000, 0), - ReverbPreset::PrefabCaravan => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.0891, 0.1259, 0.4300, 1.5000, 1.0000, 1.0000, 0.0120, [0.0000, 0.0000, 0.0000], 1.9953, 0.0120, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::DomeTomb => ReverbProperties::new(1.0000, 0.7900, 0.3162, 0.3548, 0.2239, 4.1800, 0.2100, 0.1000, 0.3868, 0.0300, [0.0000, 0.0000, 0.0000], 1.6788, 0.0220, [0.0000, 0.0000, 0.0000], 0.1770, 0.1900, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 0), - ReverbPreset::PipeSmall => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.3548, 0.2239, 5.0400, 0.1000, 0.1000, 0.5012, 0.0320, [0.0000, 0.0000, 0.0000], 2.5119, 0.0150, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 1), - ReverbPreset::DomeSaintpauls => ReverbProperties::new(1.0000, 0.8700, 0.3162, 0.3548, 0.2239, 10.4800, 0.1900, 0.1000, 0.1778, 0.0900, [0.0000, 0.0000, 0.0000], 1.2589, 0.0420, [0.0000, 0.0000, 0.0000], 0.2500, 0.1200, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 1), - ReverbPreset::PipeLongthin => ReverbProperties::new(0.2560, 0.9100, 0.3162, 0.4467, 0.2818, 9.2100, 0.1800, 0.1000, 0.7079, 0.0100, [0.0000, 0.0000, 0.0000], 0.7079, 0.0220, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 0), - ReverbPreset::PipeLarge => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.3548, 0.2239, 8.4500, 0.1000, 0.1000, 0.3981, 0.0460, [0.0000, 0.0000, 0.0000], 1.5849, 0.0320, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 1), - ReverbPreset::PipeResonant => ReverbProperties::new(0.1373, 0.9100, 0.3162, 0.4467, 0.2818, 6.8100, 0.1800, 0.1000, 0.7079, 0.0100, [0.0000, 0.0000, 0.0000], 1.0000, 0.0220, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 2854.3999, 20.0000, 0.0000, 0), - ReverbPreset::OutdoorsBackyard => ReverbProperties::new(1.0000, 0.4500, 0.3162, 0.2512, 0.5012, 1.1200, 0.3400, 0.4600, 0.4467, 0.0690, [0.0000, 0.0000, -0.0000], 0.7079, 0.0230, [0.0000, 0.0000, 0.0000], 0.2180, 0.3400, 0.2500, 0.0000, 0.9943, 4399.1001, 242.9000, 0.0000, 0), - ReverbPreset::OutdoorsRollingplains => ReverbProperties::new(1.0000, 0.0000, 0.3162, 0.0112, 0.6310, 2.1300, 0.2100, 0.4600, 0.1778, 0.3000, [0.0000, 0.0000, -0.0000], 0.4467, 0.0190, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.2500, 0.0000, 0.9943, 4399.1001, 242.9000, 0.0000, 0), - ReverbPreset::OutdoorsDeepcanyon => ReverbProperties::new(1.0000, 0.7400, 0.3162, 0.1778, 0.6310, 3.8900, 0.2100, 0.4600, 0.3162, 0.2230, [0.0000, 0.0000, -0.0000], 0.3548, 0.0190, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.2500, 0.0000, 0.9943, 4399.1001, 242.9000, 0.0000, 0), - ReverbPreset::OutdoorsCreek => ReverbProperties::new(1.0000, 0.3500, 0.3162, 0.1778, 0.5012, 2.1300, 0.2100, 0.4600, 0.3981, 0.1150, [0.0000, 0.0000, -0.0000], 0.1995, 0.0310, [0.0000, 0.0000, 0.0000], 0.2180, 0.3400, 0.2500, 0.0000, 0.9943, 4399.1001, 242.9000, 0.0000, 0), - ReverbPreset::OutdoorsValley => ReverbProperties::new(1.0000, 0.2800, 0.3162, 0.0282, 0.1585, 2.8800, 0.2600, 0.3500, 0.1413, 0.2630, [0.0000, 0.0000, -0.0000], 0.3981, 0.1000, [0.0000, 0.0000, 0.0000], 0.2500, 0.3400, 0.2500, 0.0000, 0.9943, 2854.3999, 107.5000, 0.0000, 0), - ReverbPreset::MoodHeaven => ReverbProperties::new(1.0000, 0.9400, 0.3162, 0.7943, 0.4467, 5.0400, 1.1200, 0.5600, 0.2427, 0.0200, [0.0000, 0.0000, 0.0000], 1.2589, 0.0290, [0.0000, 0.0000, 0.0000], 0.2500, 0.0800, 2.7420, 0.0500, 0.9977, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::MoodHell => ReverbProperties::new(1.0000, 0.5700, 0.3162, 0.3548, 0.4467, 3.5700, 0.4900, 2.0000, 0.0000, 0.0200, [0.0000, 0.0000, 0.0000], 1.4125, 0.0300, [0.0000, 0.0000, 0.0000], 0.1100, 0.0400, 2.1090, 0.5200, 0.9943, 5000.0000, 139.5000, 0.0000, 0), - ReverbPreset::MoodMemory => ReverbProperties::new(1.0000, 0.8500, 0.3162, 0.6310, 0.3548, 4.0600, 0.8200, 0.5600, 0.0398, 0.0000, [0.0000, 0.0000, 0.0000], 1.1220, 0.0000, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.4740, 0.4500, 0.9886, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::DrivingCommentator => ReverbProperties::new(1.0000, 0.0000, 0.3162, 0.5623, 0.5012, 2.4200, 0.8800, 0.6800, 0.1995, 0.0930, [0.0000, 0.0000, 0.0000], 0.2512, 0.0170, [0.0000, 0.0000, 0.0000], 0.2500, 1.0000, 0.2500, 0.0000, 0.9886, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::DrivingPitgarage => ReverbProperties::new(0.4287, 0.5900, 0.3162, 0.7079, 0.5623, 1.7200, 0.9300, 0.8700, 0.5623, 0.0000, [0.0000, 0.0000, 0.0000], 1.2589, 0.0160, [0.0000, 0.0000, 0.0000], 0.2500, 0.1100, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 0), - ReverbPreset::DrivingIncarRacer => ReverbProperties::new(0.0832, 0.8000, 0.3162, 1.0000, 0.7943, 0.1700, 2.0000, 0.4100, 1.7783, 0.0070, [0.0000, 0.0000, 0.0000], 0.7079, 0.0150, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 10268.2002, 251.0000, 0.0000, 1), - ReverbPreset::DrivingIncarSports => ReverbProperties::new(0.0832, 0.8000, 0.3162, 0.6310, 1.0000, 0.1700, 0.7500, 0.4100, 1.0000, 0.0100, [0.0000, 0.0000, 0.0000], 0.5623, 0.0000, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 10268.2002, 251.0000, 0.0000, 1), - ReverbPreset::DrivingIncarLuxury => ReverbProperties::new(0.2560, 1.0000, 0.3162, 0.1000, 0.5012, 0.1300, 0.4100, 0.4600, 0.7943, 0.0100, [0.0000, 0.0000, 0.0000], 1.5849, 0.0100, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 10268.2002, 251.0000, 0.0000, 1), - ReverbPreset::DrivingFullgrandstand => ReverbProperties::new(1.0000, 1.0000, 0.3162, 0.2818, 0.6310, 3.0100, 1.3700, 1.2800, 0.3548, 0.0900, [0.0000, 0.0000, 0.0000], 0.1778, 0.0490, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 10420.2002, 250.0000, 0.0000, 0), - ReverbPreset::DrivingEmptygrandstand => ReverbProperties::new(1.0000, 1.0000, 0.3162, 1.0000, 0.7943, 4.6200, 1.7500, 1.4000, 0.2082, 0.0900, [0.0000, 0.0000, 0.0000], 0.2512, 0.0490, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.0000, 0.9943, 10420.2002, 250.0000, 0.0000, 0), - ReverbPreset::DrivingTunnel => ReverbProperties::new(1.0000, 0.8100, 0.3162, 0.3981, 0.8913, 3.4200, 0.9400, 1.3100, 0.7079, 0.0510, [0.0000, 0.0000, 0.0000], 0.7079, 0.0470, [0.0000, 0.0000, 0.0000], 0.2140, 0.0500, 0.2500, 0.0000, 0.9943, 5000.0000, 155.3000, 0.0000, 1), - ReverbPreset::CityStreets => ReverbProperties::new(1.0000, 0.7800, 0.3162, 0.7079, 0.8913, 1.7900, 1.1200, 0.9100, 0.2818, 0.0460, [0.0000, 0.0000, 0.0000], 0.1995, 0.0280, [0.0000, 0.0000, 0.0000], 0.2500, 0.2000, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::CitySubway => ReverbProperties::new(1.0000, 0.7400, 0.3162, 0.7079, 0.8913, 3.0100, 1.2300, 0.9100, 0.7079, 0.0460, [0.0000, 0.0000, 0.0000], 1.2589, 0.0280, [0.0000, 0.0000, 0.0000], 0.1250, 0.2100, 0.2500, 0.0000, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::CityMuseum => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.1778, 0.1778, 3.2800, 1.4000, 0.5700, 0.2512, 0.0390, [0.0000, 0.0000, -0.0000], 0.8913, 0.0340, [0.0000, 0.0000, 0.0000], 0.1300, 0.1700, 0.2500, 0.0000, 0.9943, 2854.3999, 107.5000, 0.0000, 0), - ReverbPreset::CityLibrary => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.2818, 0.0891, 2.7600, 0.8900, 0.4100, 0.3548, 0.0290, [0.0000, 0.0000, -0.0000], 0.8913, 0.0200, [0.0000, 0.0000, 0.0000], 0.1300, 0.1700, 0.2500, 0.0000, 0.9943, 2854.3999, 107.5000, 0.0000, 0), - ReverbPreset::CityUnderpass => ReverbProperties::new(1.0000, 0.8200, 0.3162, 0.4467, 0.8913, 3.5700, 1.1200, 0.9100, 0.3981, 0.0590, [0.0000, 0.0000, 0.0000], 0.8913, 0.0370, [0.0000, 0.0000, 0.0000], 0.2500, 0.1400, 0.2500, 0.0000, 0.9920, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::CityAbandoned => ReverbProperties::new(1.0000, 0.6900, 0.3162, 0.7943, 0.8913, 3.2800, 1.1700, 0.9100, 0.4467, 0.0440, [0.0000, 0.0000, 0.0000], 0.2818, 0.0240, [0.0000, 0.0000, 0.0000], 0.2500, 0.2000, 0.2500, 0.0000, 0.9966, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Dustyroom => ReverbProperties::new(0.3645, 0.5600, 0.3162, 0.7943, 0.7079, 1.7900, 0.3800, 0.2100, 0.5012, 0.0020, [0.0000, 0.0000, 0.0000], 1.2589, 0.0060, [0.0000, 0.0000, 0.0000], 0.2020, 0.0500, 0.2500, 0.0000, 0.9886, 13046.0000, 163.3000, 0.0000, 1), - ReverbPreset::Chapel => ReverbProperties::new(1.0000, 0.8400, 0.3162, 0.5623, 1.0000, 4.6200, 0.6400, 1.2300, 0.4467, 0.0320, [0.0000, 0.0000, 0.0000], 0.7943, 0.0490, [0.0000, 0.0000, 0.0000], 0.2500, 0.0000, 0.2500, 0.1100, 0.9943, 5000.0000, 250.0000, 0.0000, 1), - ReverbPreset::Smallwaterroom => ReverbProperties::new(1.0000, 0.7000, 0.3162, 0.4477, 1.0000, 1.5100, 1.2500, 1.1400, 0.8913, 0.0200, [0.0000, 0.0000, 0.0000], 1.4125, 0.0300, [0.0000, 0.0000, 0.0000], 0.1790, 0.1500, 0.8950, 0.1900, 0.9920, 5000.0000, 250.0000, 0.0000, 0), - } - } -} + ReverbPreset::Generic => ReverbProperties{ + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.8913, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.8300, + decay_lfratio: 1.0000, + reflections_gain: 0.0500, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf:0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Paddedcell => ReverbProperties{ + density: 0.1715, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0010, + gainlf: 1.0000, + decay_time: 0.1700, + decay_hfratio: 0.1000, + decay_lfratio: 1.0000, + reflections_gain: 0.2500, + reflections_delay: 0.0010, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2691, + late_reverb_delay: 0.0020, + late_reverb_pan: [0.0000,0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Room => ReverbProperties{ + density: 0.4287, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.5929, + gainlf: 1.0000, + decay_time: 0.4000, + decay_hfratio: 0.8300, + decay_lfratio: 1.0000, + reflections_gain: 0.1503, + reflections_delay: 0.0020, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0629, + late_reverb_delay: 0.0030, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Bathroom => ReverbProperties{ + density: 0.1715, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.2512, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.5400, + decay_lfratio: 1.0000, + reflections_gain: 0.6531, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 3.2734, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Livingroom => ReverbProperties{ + density: 0.9766, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0010, + gainlf: 1.0000, + decay_time: 0.5000, + decay_hfratio: 0.1000, + decay_lfratio: 1.0000, + reflections_gain: 0.2051, + reflections_delay: 0.0030, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2805, + late_reverb_delay: 0.0040, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Stoneroom => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 1.0000, + decay_time: 2.3100, + decay_hfratio: 0.6400, + decay_lfratio: 1.0000, + reflections_gain: 0.4411, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1003, + late_reverb_delay: 0.0170, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, -// This looks stupid but allows lazier copy pasting from efx-presets.h :) -impl ReverbProperties { - fn new( - density: f32, - diffusion: f32, - gain: f32, - gainhf: f32, - gainlf: f32, - decay_time: f32, - decay_hfratio: f32, - decay_lfratio: f32, - reflections_gain: f32, - reflections_delay: f32, - reflections_pan: [f32; 3], - late_reverb_gain: f32, - late_reverb_delay: f32, - late_reverb_pan: [f32; 3], - echo_time: f32, - echo_depth: f32, - modulation_time: f32, - modulation_depth: f32, - air_absorption_gainhf: f32, - hf_reference: f32, - lf_reference: f32, - room_rolloff_factor: f32, - decay_hflimit: i32, - ) -> ReverbProperties { - ReverbProperties { - density, - diffusion, - gain, - gainhf, - gainlf, - decay_time, - decay_hfratio, - decay_lfratio, - reflections_gain, - reflections_delay, - reflections_pan, - late_reverb_gain, - late_reverb_delay, - late_reverb_pan, - echo_time, - echo_depth, - modulation_time, - modulation_depth, - air_absorption_gainhf, - hf_reference, - lf_reference, - room_rolloff_factor, - decay_hflimit, - } + ReverbPreset::Auditorium => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.5781, + gainlf: 1.0000, + decay_time: 4.3200, + decay_hfratio: 0.5900, + decay_lfratio: 1.0000, + reflections_gain: 0.4032, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7170, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Concerthall => ReverbProperties{ + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 1.0000, + decay_time: 3.9200, + decay_hfratio: 0.7000, + decay_lfratio: 1.0000, + reflections_gain: 0.2427, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.9977, + late_reverb_delay: 0.0290, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Cave => ReverbProperties{ + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 1.0000, + gainlf: 1.0000, + decay_time: 2.9100, + decay_hfratio: 1.3000, + decay_lfratio: 1.0000, + reflections_gain: 0.5000, + reflections_delay: 0.0150, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7063, + late_reverb_delay: 0.0220, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0 + }, + + ReverbPreset::Arena => ReverbProperties{ + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.4477, + gainlf: 1.0000, + decay_time: 7.2400, + decay_hfratio: 0.3300, + decay_lfratio: 1.0000, + reflections_gain: 0.2612, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0186, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Hangar => ReverbProperties{ + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 1.0000, + decay_time: 10.0500, + decay_hfratio: 0.2300, + decay_lfratio: 1.0000, + reflections_gain: 0.5000, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2560, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Carpetedhallway => ReverbProperties{ + density: 0.4287, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0100, + gainlf: 1.0000, + decay_time: 0.3000, + decay_hfratio: 0.1000, + decay_lfratio: 1.0000, + reflections_gain: 0.1215, + reflections_delay: 0.0020, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1531, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::Hallway => ReverbProperties{ + density: 0.3645, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.5900, + decay_lfratio: 1.0000, + reflections_gain: 0.2458, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.6615, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + ReverbPreset::Stonecorridor => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.7612, + gainlf: 1.0000, + decay_time: 2.7000, + decay_hfratio: 0.7900, + decay_lfratio: 1.0000, + reflections_gain: 0.2472, + reflections_delay: 0.0130, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.5758, + late_reverb_delay: 0.0200, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Alley => ReverbProperties { + density: 1.0000, + diffusion: 0.3000, + gain: 0.3162, + gainhf: 0.7328, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.8600, + decay_lfratio: 1.0000, + reflections_gain: 0.2500, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.9954, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1250, + echo_depth: 0.9500, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Forest => ReverbProperties { + density: 1.0000, + diffusion: 0.3000, + gain: 0.3162, + gainhf: 0.0224, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.5400, + decay_lfratio: 1.0000, + reflections_gain: 0.0525, + reflections_delay: 0.1620, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7682, + late_reverb_delay: 0.0880, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1250, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::City => ReverbProperties { + density: 1.0000, + diffusion: 0.5000, + gain: 0.3162, + gainhf: 0.3981, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.6700, + decay_lfratio: 1.0000, + reflections_gain: 0.0730, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1427, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Mountains => ReverbProperties { + density: 1.0000, + diffusion: 0.2700, + gain: 0.3162, + gainhf: 0.0562, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.2100, + decay_lfratio: 1.0000, + reflections_gain: 0.0407, + reflections_delay: 0.3000, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1919, + late_reverb_delay: 0.1000, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::Quarry => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.8300, + decay_lfratio: 1.0000, + reflections_gain: 0.0000, + reflections_delay: 0.0610, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.7783, + late_reverb_delay: 0.0250, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1250, + echo_depth: 0.7000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Plain => ReverbProperties { + density: 1.0000, + diffusion: 0.2100, + gain: 0.3162, + gainhf: 0.1000, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.5000, + decay_lfratio: 1.0000, + reflections_gain: 0.0585, + reflections_delay: 0.1790, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1089, + late_reverb_delay: 0.1000, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Parkinglot => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 1.0000, + gainlf: 1.0000, + decay_time: 1.6500, + decay_hfratio: 1.5000, + decay_lfratio: 1.0000, + reflections_gain: 0.2082, + reflections_delay: 0.0080, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2652, + late_reverb_delay: 0.0120, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::Sewerpipe => ReverbProperties { + density: 0.3071, + diffusion: 0.8000, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 1.0000, + decay_time: 2.8100, + decay_hfratio: 0.1400, + decay_lfratio: 1.0000, + reflections_gain: 1.6387, + reflections_delay: 0.0140, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 3.2471, + late_reverb_delay: 0.0210, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Underwater => ReverbProperties { + density: 0.3645, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0100, + gainlf: 1.0000, + decay_time: 1.4900, + decay_hfratio: 0.1000, + decay_lfratio: 1.0000, + reflections_gain: 0.5963, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 7.0795, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 1.1800, + modulation_depth: 0.3480, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Drugged => ReverbProperties { + density: 0.4287, + diffusion: 0.5000, + gain: 0.3162, + gainhf: 1.0000, + gainlf: 1.0000, + decay_time: 8.3900, + decay_hfratio: 1.3900, + decay_lfratio: 1.0000, + reflections_gain: 0.8760, + reflections_delay: 0.0020, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 3.1081, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 1.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::Dizzy => ReverbProperties { + density: 0.3645, + diffusion: 0.6000, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 1.0000, + decay_time: 17.2300, + decay_hfratio: 0.5600, + decay_lfratio: 1.0000, + reflections_gain: 0.1392, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.4937, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.8100, + modulation_depth: 0.3100, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::Psychotic => ReverbProperties { + density: 0.0625, + diffusion: 0.5000, + gain: 0.3162, + gainhf: 0.8404, + gainlf: 1.0000, + decay_time: 7.5600, + decay_hfratio: 0.9100, + decay_lfratio: 1.0000, + reflections_gain: 0.4864, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 2.4378, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 4.0000, + modulation_depth: 1.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::CastleSmallroom => ReverbProperties { + density: 1.0000, + diffusion: 0.8900, + gain: 0.3162, + gainhf: 0.3981, + gainlf: 0.1000, + decay_time: 1.2200, + decay_hfratio: 0.8300, + decay_lfratio: 0.3100, + reflections_gain: 0.8913, + reflections_delay: 0.0220, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.9953, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1380, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleShortpassage => ReverbProperties { + density: 1.0000, + diffusion: 0.8900, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 0.1000, + decay_time: 2.3200, + decay_hfratio: 0.8300, + decay_lfratio: 0.3100, + reflections_gain: 0.8913, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0230, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1380, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleMediumroom => ReverbProperties { + density: 1.0000, + diffusion: 0.9300, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.1000, + decay_time: 2.0400, + decay_hfratio: 0.8300, + decay_lfratio: 0.4600, + reflections_gain: 0.6310, + reflections_delay: 0.0220, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.5849, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1550, + echo_depth: 0.0300, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleLargeroom => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.1259, + decay_time: 2.5300, + decay_hfratio: 0.8300, + decay_lfratio: 0.5000, + reflections_gain: 0.4467, + reflections_delay: 0.0340, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0160, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1850, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleLongpassage => ReverbProperties { + density: 1.0000, + diffusion: 0.8900, + gain: 0.3162, + gainhf: 0.3981, + gainlf: 0.1000, + decay_time: 3.4200, + decay_hfratio: 0.8300, + decay_lfratio: 0.3100, + reflections_gain: 0.8913, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0230, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1380, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleHall => ReverbProperties { + density: 1.0000, + diffusion: 0.8100, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.1778, + decay_time: 3.1400, + decay_hfratio: 0.7900, + decay_lfratio: 0.6200, + reflections_gain: 0.1778, + reflections_delay: 0.0560, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0240, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleCupboard => ReverbProperties { + density: 1.0000, + diffusion: 0.8900, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.1000, + decay_time: 0.6700, + decay_hfratio: 0.8700, + decay_lfratio: 0.3100, + reflections_gain: 1.4125, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 3.5481, + late_reverb_delay: 0.0070, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1380, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CastleCourtyard => ReverbProperties { + density: 1.0000, + diffusion: 0.4200, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.1995, + decay_time: 2.1300, + decay_hfratio: 0.6100, + decay_lfratio: 0.2300, + reflections_gain: 0.2239, + reflections_delay: 0.1600, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0360, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.3700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::CastleAlcove => ReverbProperties { + density: 1.0000, + diffusion: 0.8900, + gain: 0.3162, + gainhf: 0.5012, + gainlf: 0.1000, + decay_time: 1.6400, + decay_hfratio: 0.8700, + decay_lfratio: 0.3100, + reflections_gain: 1.0000, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0340, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1380, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5_168.6, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactorySmallroom => ReverbProperties { + density: 0.3645, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 1.7200, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 0.7079, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.7783, + late_reverb_delay: 0.0240, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1190, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryShortpassage => ReverbProperties { + density: 0.3645, + diffusion: 0.6400, + gain: 0.2512, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 2.5300, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 1.0000, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0380, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1350, + echo_depth: 0.2300, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryMediumroom => ReverbProperties { + density: 0.4287, + diffusion: 0.8200, + gain: 0.2512, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 2.7600, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 0.2818, + reflections_delay: 0.0220, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0230, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1740, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryLargeroom => ReverbProperties { + density: 0.4287, + diffusion: 0.7500, + gain: 0.2512, + gainhf: 0.7079, + gainlf: 0.6310, + decay_time: 4.2400, + decay_hfratio: 0.5100, + decay_lfratio: 1.3100, + reflections_gain: 0.1778, + reflections_delay: 0.0390, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0230, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2310, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryLongpassage => ReverbProperties { + density: 0.3645, + diffusion: 0.6400, + gain: 0.2512, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 4.0600, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 1.0000, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0370, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1350, + echo_depth: 0.2300, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryHall => ReverbProperties { + density: 0.4287, + diffusion: 0.7500, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.6310, + decay_time: 7.4300, + decay_hfratio: 0.5100, + decay_lfratio: 1.3100, + reflections_gain: 0.0631, + reflections_delay: 0.0730, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0270, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryCupboard => ReverbProperties { + density: 0.3071, + diffusion: 0.6300, + gain: 0.2512, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 0.4900, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 1.2589, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.9953, + late_reverb_delay: 0.0320, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1070, + echo_depth: 0.0700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryCourtyard => ReverbProperties { + density: 0.3071, + diffusion: 0.5700, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 0.6310, + decay_time: 2.3200, + decay_hfratio: 0.2900, + decay_lfratio: 0.5600, + reflections_gain: 0.2239, + reflections_delay: 0.1400, + reflections_pan: [0.0000,0.0000, 0.0000], + late_reverb_gain: 0.3981, + late_reverb_delay: 0.0390, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2900, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::FactoryAlcove => ReverbProperties { + density: 0.3645, + diffusion: 0.5900, + gain: 0.2512, + gainhf: 0.7943, + gainlf: 0.5012, + decay_time: 3.1400, + decay_hfratio: 0.6500, + decay_lfratio: 1.3100, + reflections_gain: 1.4125, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0000, + late_reverb_delay: 0.0380, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1140, + echo_depth: 0.1000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_762.6, + lf_reference: 362.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceSmallroom => ReverbProperties { + density: 1.0000, + diffusion: 0.8400, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.2818, + decay_time: 1.5100, + decay_hfratio: 1.5300, + decay_lfratio: 0.2700, + reflections_gain: 0.8913, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000,0.0000,0.0000], + echo_time: 0.1640, + echo_depth: 0.1400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceShortpassage => ReverbProperties { + density: 1.0000, + diffusion: 0.7500, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.2818, + decay_time: 1.7900, + decay_hfratio: 1.4600, + decay_lfratio: 0.2800, + reflections_gain: 0.5012, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0190, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1770, + echo_depth: 0.0900, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceMediumroom => ReverbProperties { + density: 1.0000, + diffusion: 0.8700, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.4467, + decay_time: 2.2200, + decay_hfratio: 1.5300, + decay_lfratio: 0.3200, + reflections_gain: 0.3981, + reflections_delay: 0.0390, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0270, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1860, + echo_depth: 0.1200, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceLargeroom => ReverbProperties { + density: 1.0000, + diffusion: 0.8100, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.4467, + decay_time: 3.1400, + decay_hfratio: 1.5300, + decay_lfratio: 0.3200, + reflections_gain: 0.2512, + reflections_delay: 0.0390, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0000, + late_reverb_delay: 0.0270, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2140, + echo_depth: 0.1100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceLongpassage => ReverbProperties { + density: 1.0000, + diffusion: 0.7700, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.3981, + decay_time: 3.0100, + decay_hfratio: 1.4600, + decay_lfratio: 0.2800, + reflections_gain: 0.7943, + reflections_delay: 0.0120, + reflections_pan: [0.0000,0.0000,0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0250, + late_reverb_pan: [0.0000,0.0000,0.0000], + echo_time: 0.1860, + echo_depth: 0.0400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceHall => ReverbProperties { + density: 1.0000, + diffusion: 0.7600, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.5623, + decay_time: 5.4900, + decay_hfratio: 1.5300, + decay_lfratio: 0.3800, + reflections_gain: 0.1122, + reflections_delay: 0.0540, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.6310, + late_reverb_delay: 0.0520, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2260, + echo_depth: 0.1100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceCupboard => ReverbProperties { + density: 1.0000, + diffusion: 0.8300, + gain: 0.3162, + gainhf: 0.5012, + gainlf: 0.2239, + decay_time: 0.7600, + decay_hfratio: 1.5300, + decay_lfratio: 0.2600, + reflections_gain: 1.1220, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.9953, + late_reverb_delay: 0.0160, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1430, + echo_depth: 0.0800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceCourtyard => ReverbProperties { + density: 1.0000, + diffusion: 0.5900, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.3162, + decay_time: 2.0400, + decay_hfratio: 1.2000, + decay_lfratio: 0.3800, + reflections_gain: 0.3162, + reflections_delay: 0.1730, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.3162, + late_reverb_delay: 0.0430, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2350, + echo_depth: 0.4800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::IcepalaceAlcove => ReverbProperties { + density: 1.0000, + diffusion: 0.8400, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.2818, + decay_time: 2.7600, + decay_hfratio: 1.4600, + decay_lfratio: 0.2800, + reflections_gain: 1.1220, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1610, + echo_depth: 0.0900, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 12_428.5, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationSmallroom => ReverbProperties { + density: 0.2109, + diffusion: 0.7000, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.8913, + decay_time: 1.7200, + decay_hfratio: 0.8200, + decay_lfratio: 0.5500, + reflections_gain: 0.7943, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0130, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1880, + echo_depth: 0.2600, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationShortpassage => ReverbProperties { + density: 0.2109, + diffusion: 0.8700, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.8913, + decay_time: 3.5700, + decay_hfratio: 0.5000, + decay_lfratio: 0.5500, + reflections_gain: 1.0000, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0160, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1720, + echo_depth: 0.2000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationMediumroom => ReverbProperties { + density: 0.2109, + diffusion: 0.7500, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.8913, + decay_time: 3.0100, + decay_hfratio: 0.5000, + decay_lfratio: 0.5500, + reflections_gain: 0.3981, + reflections_delay: 0.0340, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0350, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2090, + echo_depth: 0.3100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationLargeroom => ReverbProperties { + density: 0.3645, + diffusion: 0.8100, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.8913, + decay_time: 3.8900, + decay_hfratio: 0.3800, + decay_lfratio: 0.6100, + reflections_gain: 0.3162, + reflections_delay: 0.0560, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0350, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2330, + echo_depth: 0.2800, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationLongpassage => ReverbProperties { + density: 0.4287, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.8913, + decay_time: 4.6200, + decay_hfratio: 0.6200, + decay_lfratio: 0.5500, + reflections_gain: 1.0000, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0310, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2300, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationHall => ReverbProperties { + density: 0.4287, + diffusion: 0.8700, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.8913, + decay_time: 7.1100, + decay_hfratio: 0.3800, + decay_lfratio: 0.6100, + reflections_gain: 0.1778, + reflections_delay: 0.1000, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.6310, + late_reverb_delay: 0.0470, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2500, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationCupboard => ReverbProperties { + density: 0.1715, + diffusion: 0.5600, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.8913, + decay_time: 0.7900, + decay_hfratio: 0.8100, + decay_lfratio: 0.5500, + reflections_gain: 1.4125, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.7783, + late_reverb_delay: 0.0180, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1810, + echo_depth: 0.3100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SpacestationAlcove => ReverbProperties { + density: 0.2109, + diffusion: 0.7800, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.8913, + decay_time: 1.1600, + decay_hfratio: 0.8100, + decay_lfratio: 0.5500, + reflections_gain: 1.4125, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0000, + late_reverb_delay: 0.0180, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1920, + echo_depth: 0.2100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 3_316.1, + lf_reference: 458.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenSmallroom => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1122, + gainlf: 0.3162, + decay_time: 0.7900, + decay_hfratio: 0.3200, + decay_lfratio: 0.8700, + reflections_gain: 1.0000, + reflections_delay: 0.0320, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0290, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenShortpassage => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1259, + gainlf: 0.3162, + decay_time: 1.7500, + decay_hfratio: 0.5000, + decay_lfratio: 0.8700, + reflections_gain: 0.8913, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.6310, + late_reverb_delay: 0.0240, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenMediumroom => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1000, + gainlf: 0.2818, + decay_time: 1.4700, + decay_hfratio: 0.4200, + decay_lfratio: 0.8200, + reflections_gain: 0.8913, + reflections_delay: 0.0490, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0290, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenLargeroom => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0891, + gainlf: 0.2818, + decay_time: 2.6500, + decay_hfratio: 0.3300, + decay_lfratio: 0.8200, + reflections_gain: 0.8913, + reflections_delay: 0.0660, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7943, + late_reverb_delay: 0.0490, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenLongpassage => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1000, + gainlf: 0.3162, + decay_time: 1.9900, + decay_hfratio: 0.4000, + decay_lfratio: 0.7900, + reflections_gain: 1.0000, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.4467, + late_reverb_delay: 0.0360, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenHall => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0794, + gainlf: 0.2818, + decay_time: 3.4500, + decay_hfratio: 0.3000, + decay_lfratio: 0.8200, + reflections_gain: 0.8913, + reflections_delay: 0.0880, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7943, + late_reverb_delay: 0.0630, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenCupboard => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1413, + gainlf: 0.3162, + decay_time: 0.5600, + decay_hfratio: 0.4600, + decay_lfratio: 0.9100, + reflections_gain: 1.1220, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0280, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenCourtyard => ReverbProperties { + density: 1.0000, + diffusion: 0.6500, + gain: 0.3162, + gainhf: 0.0794, + gainlf: 0.3162, + decay_time: 1.7900, + decay_hfratio: 0.3500, + decay_lfratio: 0.7900, + reflections_gain: 0.5623, + reflections_delay: 0.1230, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1000, + late_reverb_delay: 0.0320, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::WoodenAlcove => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1259, + gainlf: 0.3162, + decay_time: 1.2200, + decay_hfratio: 0.6200, + decay_lfratio: 0.9100, + reflections_gain: 1.1220, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0240, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4705.0000, + lf_reference: 99.6000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SportEmptystadium => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.7943, + decay_time: 6.2600, + decay_hfratio: 0.5100, + decay_lfratio: 1.1000, + reflections_gain: 0.0631, + reflections_delay: 0.1830, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.3981, + late_reverb_delay: 0.0380, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SportSquashcourt => ReverbProperties { + density: 1.0000, + diffusion: 0.7500, + gain: 0.3162, + gainhf: 0.3162, + gainlf: 0.7943, + decay_time: 2.2200, + decay_hfratio: 0.9100, + decay_lfratio: 1.1600, + reflections_gain: 0.4467, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7943, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1260, + echo_depth: 0.1900, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 7176.9, + lf_reference: 211.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SportSmallswimmingpool => ReverbProperties { + density: 1.0000, + diffusion: 0.7000, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 0.8913, + decay_time: 2.7600, + decay_hfratio: 1.2500, + decay_lfratio: 1.1400, + reflections_gain: 0.6310, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7943, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1790, + echo_depth: 0.1500, + modulation_time: 0.8950, + modulation_depth: 0.1900, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::SportLargeswimmingpool => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 1.0000, + decay_time: 5.4900, + decay_hfratio: 1.3100, + decay_lfratio: 1.1400, + reflections_gain: 0.4467, + reflections_delay: 0.0390, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.5012, + late_reverb_delay: 0.0490, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2220, + echo_depth: 0.5500, + modulation_time: 1.1590, + modulation_depth: 0.2100, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::SportGymnasium => ReverbProperties { + density: 1.0000, + diffusion: 0.8100, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.8913, + decay_time: 3.1400, + decay_hfratio: 1.0600, + decay_lfratio: 1.3500, + reflections_gain: 0.3981, + reflections_delay: 0.0290, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.5623, + late_reverb_delay: 0.0450, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1460, + echo_depth: 0.1400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 7176.9, + lf_reference: 211.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SportFullstadium => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0708, + gainlf: 0.7943, + decay_time: 5.2500, + decay_hfratio: 0.1700, + decay_lfratio: 0.8000, + reflections_gain: 0.1000, + reflections_delay: 0.1880, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2818, + late_reverb_delay: 0.0380, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::SportStadiumtannoy => ReverbProperties { + density: 1.0000, + diffusion: 0.7800, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.5012, + decay_time: 2.5300, + decay_hfratio: 0.8800, + decay_lfratio: 0.6800, + reflections_gain: 0.2818, + reflections_delay: 0.2300, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.5012, + late_reverb_delay: 0.0630, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::PrefabWorkshop => ReverbProperties { + density: 0.4287, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1413, + gainlf: 0.3981, + decay_time: 0.7600, + decay_hfratio: 1.0000, + decay_lfratio: 1.0000, + reflections_gain: 1.0000, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0120, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::PrefabSchoolroom => ReverbProperties { + density: 0.4022, + diffusion: 0.6900, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.5012, + decay_time: 0.9800, + decay_hfratio: 0.4500, + decay_lfratio: 0.1800, + reflections_gain: 1.4125, + reflections_delay: 0.0170, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0150, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.0950, + echo_depth: 0.1400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 7176.9, + lf_reference: 211.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::PrefabPractiseroom => ReverbProperties { + density: 0.4022, + diffusion: 0.8700, + gain: 0.3162, + gainhf: 0.3981, + gainlf: 0.5012, + decay_time: 1.1200, + decay_hfratio: 0.5600, + decay_lfratio: 0.1800, + reflections_gain: 1.2589, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0110, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.0950, + echo_depth: 0.1400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 7176.9, + lf_reference: 211.2, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::PrefabOuthouse => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.1122, + gainlf: 0.1585, + decay_time: 1.3800, + decay_hfratio: 0.3800, + decay_lfratio: 0.3500, + reflections_gain: 0.8913, + reflections_delay: 0.0240, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.6310, + late_reverb_delay: 0.0440, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1210, + echo_depth: 0.1700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 107.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::PrefabCaravan => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.0891, + gainlf: 0.1259, + decay_time: 0.4300, + decay_hfratio: 1.5000, + decay_lfratio: 1.0000, + reflections_gain: 1.0000, + reflections_delay: 0.0120, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.9953, + late_reverb_delay: 0.0120, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::DomeTomb => ReverbProperties { + density: 1.0000, + diffusion: 0.7900, + gain: 0.3162, + gainhf: 0.3548, + gainlf: 0.2239, + decay_time: 4.1800, + decay_hfratio: 0.2100, + decay_lfratio: 0.1000, + reflections_gain: 0.3868, + reflections_delay: 0.0300, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.6788, + late_reverb_delay: 0.0220, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1770, + echo_depth: 0.1900, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::PipeSmall => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.3548, + gainlf: 0.2239, + decay_time: 5.0400, + decay_hfratio: 0.1000, + decay_lfratio: 0.1000, + reflections_gain: 0.5012, + reflections_delay: 0.0320, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 2.5119, + late_reverb_delay: 0.0150, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::DomeSaintpauls => ReverbProperties { + density: 1.0000, + diffusion: 0.8700, + gain: 0.3162, + gainhf: 0.3548, + gainlf: 0.2239, + decay_time: 10.4800, + decay_hfratio: 0.1900, + decay_lfratio: 0.1000, + reflections_gain: 0.1778, + reflections_delay: 0.0900, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0420, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.1200, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::PipeLongthin => ReverbProperties { + density: 0.2560, + diffusion: 0.9100, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.2818, + decay_time: 9.2100, + decay_hfratio: 0.1800, + decay_lfratio: 0.1000, + reflections_gain: 0.7079, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0220, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::PipeLarge => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.3548, + gainlf: 0.2239, + decay_time: 8.4500, + decay_hfratio: 0.1000, + decay_lfratio: 0.1000, + reflections_gain: 0.3981, + reflections_delay: 0.0460, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.5849, + late_reverb_delay: 0.0320, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::PipeResonant => ReverbProperties { + density: 0.1373, + diffusion: 0.9100, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.2818, + decay_time: 6.8100, + decay_hfratio: 0.1800, + decay_lfratio: 0.1000, + reflections_gain: 0.7079, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.0000, + late_reverb_delay: 0.0220, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 20.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::OutdoorsBackyard => ReverbProperties { + density: 1.0000, + diffusion: 0.4500, + gain: 0.3162, + gainhf: 0.2512, + gainlf: 0.5012, + decay_time: 1.1200, + decay_hfratio: 0.3400, + decay_lfratio: 0.4600, + reflections_gain: 0.4467, + reflections_delay: 0.0690, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0230, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2180, + echo_depth: 0.3400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4_399.1, + lf_reference: 242.9, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::OutdoorsRollingplains => ReverbProperties { + density: 1.0000, + diffusion: 0.0000, + gain: 0.3162, + gainhf: 0.0112, + gainlf: 0.6310, + decay_time: 2.1300, + decay_hfratio: 0.2100, + decay_lfratio: 0.4600, + reflections_gain: 0.1778, + reflections_delay: 0.3000, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.4467, + late_reverb_delay: 0.0190, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4_399.1, + lf_reference: 242.9, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::OutdoorsDeepcanyon => ReverbProperties { + density: 1.0000, + diffusion: 0.7400, + gain: 0.3162, + gainhf: 0.1778, + gainlf: 0.6310, + decay_time: 3.8900, + decay_hfratio: 0.2100, + decay_lfratio: 0.4600, + reflections_gain: 0.3162, + reflections_delay: 0.2230, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.3548, + late_reverb_delay: 0.0190, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4_399.1, + lf_reference: 242.9, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::OutdoorsCreek => ReverbProperties { + density: 1.0000, + diffusion: 0.3500, + gain: 0.3162, + gainhf: 0.1778, + gainlf: 0.5012, + decay_time: 2.1300, + decay_hfratio: 0.2100, + decay_lfratio: 0.4600, + reflections_gain: 0.3981, + reflections_delay: 0.1150, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.1995, + late_reverb_delay: 0.0310, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2180, + echo_depth: 0.3400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 4_399.1, + lf_reference: 242.9, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::OutdoorsValley => ReverbProperties { + density: 1.0000, + diffusion: 0.2800, + gain: 0.3162, + gainhf: 0.0282, + gainlf: 0.1585, + decay_time: 2.8800, + decay_hfratio: 0.2600, + decay_lfratio: 0.3500, + reflections_gain: 0.1413, + reflections_delay: 0.2630, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.3981, + late_reverb_delay: 0.1000, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.3400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 107.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::MoodHeaven => ReverbProperties { + density: 1.0000, + diffusion: 0.9400, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 0.4467, + decay_time: 5.0400, + decay_hfratio: 1.1200, + decay_lfratio: 0.5600, + reflections_gain: 0.2427, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0290, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0800, + modulation_time: 2.7420, + modulation_depth: 0.0500, + air_absorption_gainhf: 0.9977, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::MoodHell => ReverbProperties { + density: 1.0000, + diffusion: 0.5700, + gain: 0.3162, + gainhf: 0.3548, + gainlf: 0.4467, + decay_time: 3.5700, + decay_hfratio: 0.4900, + decay_lfratio: 2.0000, + reflections_gain: 0.0000, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1100, + echo_depth: 0.0400, + modulation_time: 2.1090, + modulation_depth: 0.5200, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 139.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::MoodMemory => ReverbProperties { + density: 1.0000, + diffusion: 0.8500, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 0.3548, + decay_time: 4.0600, + decay_hfratio: 0.8200, + decay_lfratio: 0.5600, + reflections_gain: 0.0398, + reflections_delay: 0.0000, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.1220, + late_reverb_delay: 0.0000, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.4740, + modulation_depth: 0.4500, + air_absorption_gainhf: 0.9886, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::DrivingCommentator => ReverbProperties { + density: 1.0000, + diffusion: 0.0000, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 0.5012, + decay_time: 2.4200, + decay_hfratio: 0.8800, + decay_lfratio: 0.6800, + reflections_gain: 0.1995, + reflections_delay: 0.0930, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2512, + late_reverb_delay: 0.0170, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 1.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9886, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::DrivingPitgarage => ReverbProperties { + density: 0.4287, + diffusion: 0.5900, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.5623, + decay_time: 1.7200, + decay_hfratio: 0.9300, + decay_lfratio: 0.8700, + reflections_gain: 0.5623, + reflections_delay: 0.0000, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0160, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.1100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::DrivingIncarRacer => ReverbProperties { + density: 0.0832, + diffusion: 0.8000, + gain: 0.3162, + gainhf: 1.0000, + gainlf: 0.7943, + decay_time: 0.1700, + decay_hfratio: 2.0000, + decay_lfratio: 0.4100, + reflections_gain: 1.7783, + reflections_delay: 0.0070, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0150, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 10_268.2, + lf_reference: 251.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::DrivingIncarSports => ReverbProperties { + density: 0.0832, + diffusion: 0.8000, + gain: 0.3162, + gainhf: 0.6310, + gainlf: 1.0000, + decay_time: 0.1700, + decay_hfratio: 0.7500, + decay_lfratio: 0.4100, + reflections_gain: 1.0000, + reflections_delay: 0.0100, + reflections_pan: [0.0000,0.0000,0.0000], + late_reverb_gain: 0.5623, + late_reverb_delay: 0.0000, + late_reverb_pan: [0.0000,0.0000,0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 10_268.2, + lf_reference: 251.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + + ReverbPreset::DrivingIncarLuxury => ReverbProperties { + density: 0.2560, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.1000, + gainlf: 0.5012, + decay_time: 0.1300, + decay_hfratio: 0.4100, + decay_lfratio: 0.4600, + reflections_gain: 0.7943, + reflections_delay: 0.0100, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.5849, + late_reverb_delay: 0.0100, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 10_268.2, + lf_reference: 251.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + + ReverbPreset::DrivingFullgrandstand => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.6310, + decay_time: 3.0100, + decay_hfratio: 1.3700, + decay_lfratio: 1.2800, + reflections_gain: 0.3548, + reflections_delay: 0.0900, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1778, + late_reverb_delay: 0.0490, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 10_420.2, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::DrivingEmptygrandstand => ReverbProperties { + density: 1.0000, + diffusion: 1.0000, + gain: 0.3162, + gainhf: 1.0000, + gainlf: 0.7943, + decay_time: 4.6200, + decay_hfratio: 1.7500, + decay_lfratio: 1.4000, + reflections_gain: 0.2082, + reflections_delay: 0.0900, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2512, + late_reverb_delay: 0.0490, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 10_420.2, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::DrivingTunnel => ReverbProperties { + density: 1.0000, + diffusion: 0.8100, + gain: 0.3162, + gainhf: 0.3981, + gainlf: 0.8913, + decay_time: 3.4200, + decay_hfratio: 0.9400, + decay_lfratio: 1.3100, + reflections_gain: 0.7079, + reflections_delay: 0.0510, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7079, + late_reverb_delay: 0.0470, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2140, + echo_depth: 0.0500, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 155.3, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::CityStreets => ReverbProperties { + density: 1.0000, + diffusion: 0.7800, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.8913, + decay_time: 1.7900, + decay_hfratio: 1.1200, + decay_lfratio: 0.9100, + reflections_gain: 0.2818, + reflections_delay: 0.0460, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.1995, + late_reverb_delay: 0.0280, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1 + }, + + ReverbPreset::CitySubway => ReverbProperties { + density: 1.0000, + diffusion: 0.7400, + gain: 0.3162, + gainhf: 0.7079, + gainlf: 0.8913, + decay_time: 3.0100, + decay_hfratio: 1.2300, + decay_lfratio: 0.9100, + reflections_gain: 0.7079, + reflections_delay: 0.0460, + reflections_pan: [0.0000,0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0280, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1250, + echo_depth: 0.2100, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CityMuseum => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.1778, + gainlf: 0.1778, + decay_time: 3.2800, + decay_hfratio: 1.4000, + decay_lfratio: 0.5700, + reflections_gain: 0.2512, + reflections_delay: 0.0390, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0340, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1300, + echo_depth: 0.1700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 107.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::CityLibrary => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.2818, + gainlf: 0.0891, + decay_time: 2.7600, + decay_hfratio: 0.8900, + decay_lfratio: 0.4100, + reflections_gain: 0.3548, + reflections_delay: 0.0290, + reflections_pan: [0.0000, 0.0000, -0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0200, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.1300, + echo_depth: 0.1700, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9943, + hf_reference: 2854.4, + lf_reference: 107.5, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + + ReverbPreset::CityUnderpass => ReverbProperties { + density: 1.0000, + diffusion: 0.8200, + gain: 0.3162, + gainhf: 0.4467, + gainlf: 0.8913, + decay_time: 3.5700, + decay_hfratio: 1.1200, + decay_lfratio: 0.9100, + reflections_gain: 0.3981, + reflections_delay: 0.0590, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.8913, + late_reverb_delay: 0.0370, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.1400, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9920, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::CityAbandoned => ReverbProperties { + density: 1.0000, + diffusion: 0.6900, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 0.8913, + decay_time: 3.2800, + decay_hfratio: 1.1700, + decay_lfratio: 0.9100, + reflections_gain: 0.4467, + reflections_delay: 0.0440, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.2818, + late_reverb_delay: 0.0240, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.2000, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9966, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Dustyroom => ReverbProperties { + density: 0.3645, + diffusion: 0.5600, + gain: 0.3162, + gainhf: 0.7943, + gainlf: 0.7079, + decay_time: 1.7900, + decay_hfratio: 0.3800, + decay_lfratio: 0.2100, + reflections_gain: 0.5012, + reflections_delay: 0.0020, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.2589, + late_reverb_delay: 0.0060, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2020, + echo_depth: 0.0500, + modulation_time: 0.2500, + modulation_depth: 0.0000, + air_absorption_gainhf: 0.9886, + hf_reference: 13046.0000, + lf_reference: 163.3, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Chapel => ReverbProperties { + density: 1.0000, + diffusion: 0.8400, + gain: 0.3162, + gainhf: 0.5623, + gainlf: 1.0000, + decay_time: 4.6200, + decay_hfratio: 0.6400, + decay_lfratio: 1.2300, + reflections_gain: 0.4467, + reflections_delay: 0.0320, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 0.7943, + late_reverb_delay: 0.0490, + late_reverb_pan: [0.0000, 0.0000, 0.0000], + echo_time: 0.2500, + echo_depth: 0.0000, + modulation_time: 0.2500, + modulation_depth: 0.1100, + air_absorption_gainhf: 0.9943, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 1}, + + ReverbPreset::Smallwaterroom => ReverbProperties { + density: 1.0000, + diffusion: 0.7000, + gain: 0.3162, + gainhf: 0.4477, + gainlf: 1.0000, + decay_time: 1.5100, + decay_hfratio: 1.2500, + decay_lfratio: 1.1400, + reflections_gain: 0.8913, + reflections_delay: 0.0200, + reflections_pan: [0.0000, 0.0000, 0.0000], + late_reverb_gain: 1.4125, + late_reverb_delay: 0.0300, + late_reverb_pan: [0.0000, 0.0000,0.0000], + echo_time: 0.1790, + echo_depth: 0.1500, + modulation_time: 0.8950, + modulation_depth: 0.1900, + air_absorption_gainhf: 0.9920, + hf_reference: 5000.0000, + lf_reference: 250.0000, + room_rolloff_factor: 0.0000, + decay_hflimit: 0}, + } + } } diff --git a/src/record_context.rs b/src/record_context.rs index 04083e3..b4263c5 100644 --- a/src/record_context.rs +++ b/src/record_context.rs @@ -28,9 +28,7 @@ pub struct RecordContext { } pub fn new(capt_device: ffi::ALCdevicePtr) -> RecordContext { - RecordContext { - capt_device: capt_device, - } + RecordContext { capt_device } } pub fn get(ctxt: RecordContext) -> ffi::ALCdevicePtr { diff --git a/src/recorder.rs b/src/recorder.rs index faa9427..408fd4a 100644 --- a/src/recorder.rs +++ b/src/recorder.rs @@ -28,7 +28,7 @@ use std::{mem, thread}; use openal::ffi; use record_context; use record_context::RecordContext; -use sndfile::FormatType::{FormatPcm16, FormatWav}; +use sndfile::FormatTypes::{FormatPcm16, FormatWav}; use sndfile::OpenMode::Write; use sndfile::{SndFile, SndInfo}; use std::intrinsics::transmute; @@ -86,7 +86,7 @@ impl Recorder { pub fn start(&mut self) { let (stop_sender, stop_receiver) = channel(); let (data_sender, data_receiver) = channel(); - let r_c = self.ctxt.clone(); + let r_c = self.ctxt; self.stop_sender = Some(stop_sender); self.data_receiver = Some(data_receiver); @@ -120,14 +120,11 @@ impl Recorder { samples.extend(tmp_buf.into_iter()); } - match stop_receiver.try_recv() { - Ok(_) => { - unsafe { - ffi::alcCaptureStop(ctxt); - } - terminate = true; + if stop_receiver.try_recv().is_ok() { + unsafe { + ffi::alcCaptureStop(ctxt); } - _ => {} + terminate = true; } } data_sender.send(samples); @@ -152,7 +149,7 @@ impl Recorder { } pub fn save_to_file(&mut self, filename: &str) -> bool { - if self.samples.len() == 0 { + if self.samples.is_empty() { false } else { let infos = Box::new(SndInfo { diff --git a/src/reverb_effect.rs b/src/reverb_effect.rs index 64c4616..4bc06f6 100644 --- a/src/reverb_effect.rs +++ b/src/reverb_effect.rs @@ -154,7 +154,7 @@ impl ReverbEffect { } fn update_slot(&mut self) { - check_openal_context!(()); + check_openal_context!(); al::alAuxiliaryEffectSloti( self.effect_slot_id, ffi::AL_EFFECTSLOT_EFFECT, @@ -163,37 +163,37 @@ impl ReverbEffect { } fn set_density(&mut self, density: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_DENSITY, density); } fn set_diffusion(&mut self, diffusion: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_DIFFUSION, diffusion); } fn set_gain(&mut self, gain: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_GAIN, gain); } fn set_gainhf(&mut self, gainhf: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_GAINHF, gainhf); } fn set_decay_time(&mut self, decay_time: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_DECAY_TIME, decay_time); } fn set_decay_hfratio(&mut self, decay_hfratio: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf(self.effect_id, ffi::AL_REVERB_DECAY_HFRATIO, decay_hfratio); } fn set_reflections_gain(&mut self, reflections_gain: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_REFLECTIONS_GAIN, @@ -202,7 +202,7 @@ impl ReverbEffect { } fn set_reflections_delay(&mut self, reflections_delay: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_REFLECTIONS_DELAY, @@ -211,7 +211,7 @@ impl ReverbEffect { } fn set_late_reverb_gain(&mut self, late_reverb_gain: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_LATE_REVERB_GAIN, @@ -220,7 +220,7 @@ impl ReverbEffect { } fn set_late_reverb_delay(&mut self, late_reverb_delay: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_LATE_REVERB_DELAY, @@ -229,7 +229,7 @@ impl ReverbEffect { } fn set_air_absorption_gainhf(&mut self, air_absorption_gainhf: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_AIR_ABSORPTION_GAINHF, @@ -238,7 +238,7 @@ impl ReverbEffect { } fn set_room_rolloff_factor(&mut self, room_rolloff_factor: f32) { - check_openal_context!(()); + check_openal_context!(); al::alEffectf( self.effect_id, ffi::AL_REVERB_ROOM_ROLLOFF_FACTOR, @@ -247,15 +247,15 @@ impl ReverbEffect { } fn set_decay_hflimit(&mut self, decay_hflimit: i32) { - check_openal_context!(()); + check_openal_context!(); al::alEffecti(self.effect_id, ffi::AL_REVERB_DECAY_HFLIMIT, decay_hflimit); } } impl Drop for ReverbEffect { // Delete the Effect Object and Auxiliary Effect Slot Object - fn drop(&mut self) -> () { - check_openal_context!(()); + fn drop(&mut self) { + check_openal_context!(); // Disconnect the effect and slot al::alAuxiliaryEffectSloti( diff --git a/src/sndfile.rs b/src/sndfile.rs index 38436ba..0e18102 100644 --- a/src/sndfile.rs +++ b/src/sndfile.rs @@ -95,7 +95,7 @@ pub enum StringSoundType { /// Types of error who can be return by API functions #[repr(C)] #[derive(Copy, Clone)] -pub enum Error { +pub enum Errors { NoError = ffi::SF_ERR_NO_ERROR as isize, UnrecognizedFormat = ffi::SF_ERR_UNRECOGNISED_FORMAT as isize, SystemError = ffi::SF_ERR_SYSTEM as isize, @@ -110,9 +110,9 @@ pub enum Error { /// * SeekEnd - The offset is set to the end of the data plus offset (multichannel) frames. #[derive(Copy, Clone)] pub enum SeekMode { - SeekSet = ffi::SEEK_SET as isize, - SeekCur = ffi::SEEK_CUR as isize, - SeekEnd = ffi::SEEK_END as isize, + Set = ffi::SEEK_SET as isize, + Cur = ffi::SEEK_CUR as isize, + End = ffi::SEEK_END as isize, } /// Enum who contains the list of the supported audio format @@ -171,7 +171,7 @@ pub enum SeekMode { /// * EndianCpu - Force CPU endian-ness #[repr(C)] #[derive(Debug, Clone, PartialOrd, PartialEq, Copy)] -pub enum FormatType { +pub enum FormatTypes { FormatWav = ffi::SF_FORMAT_WAV as isize, FormatAiff = ffi::SF_FORMAT_AIFF as isize, FormatAu = ffi::SF_FORMAT_AU as isize, @@ -228,9 +228,9 @@ pub enum FormatType { FormatTypeMask = ffi::SF_FORMAT_TYPEMASK as isize, } -impl BitOr for FormatType { - type Output = FormatType; - fn bitor(self, _rhs: FormatType) -> Self::Output { +impl BitOr for FormatTypes { + type Output = FormatTypes; + fn bitor(self, _rhs: FormatTypes) -> Self::Output { unsafe { transmute((self as i32) | (_rhs as i32)) } } //fn bitor(self, rhs: RHS) -> Self::Output; @@ -307,7 +307,7 @@ impl SndFile { } else { Ok(SndFile { handle: tmp_sndfile, - info: info, + info, }) } } @@ -340,7 +340,7 @@ impl SndFile { } else { Ok(SndFile { handle: tmp_sndfile, - info: info, + info, }) } } @@ -379,7 +379,7 @@ impl SndFile { } else { Ok(SndFile { handle: tmp_sndfile, - info: info, + info, }) } } @@ -400,7 +400,7 @@ impl SndFile { // TODO: maybe integrate some encoding crate to handle non-UTF-8 someday? pub fn get_string(&self, string_type: StringSoundType) -> Option { let c_string = unsafe { ffi::sf_get_string(self.handle, string_type as i32) }; - if c_string == ptr::null_mut() { + if c_string.is_null() { None } else { let cstr = unsafe { CStr::from_ptr(c_string as *const _) }; @@ -417,7 +417,7 @@ impl SndFile { * * Return NoError on success, an other error code otherwise */ - pub fn set_string(&mut self, string_type: StringSoundType, string: String) -> Error { + pub fn set_string(&mut self, string_type: StringSoundType, string: String) -> Errors { //let c_string = CString::new(string).unwrap(); unsafe { ffi::sf_set_string(self.handle, string_type as i32, string.as_ptr() as *mut _) } } @@ -430,7 +430,7 @@ impl SndFile { * * Return true if the struct is valid, false otherwise. */ - pub fn check_format<'r>(info: &'r mut SndInfo) -> bool { + pub fn check_format(info: &mut SndInfo) -> bool { match unsafe { ffi::sf_format_check(info) } { ffi::SF_TRUE => true, ffi::SF_FALSE => false, @@ -446,7 +446,7 @@ impl SndFile { * * Return NoError if destruction success, an other error code otherwise. */ - pub fn close(&self) -> Error { + pub fn close(&self) -> Errors { unsafe { ffi::sf_close(self.handle) } } @@ -455,7 +455,7 @@ impl SndFile { * function to force the writing of all file cache buffers to disk. * If the file is opened Read no action is taken. */ - pub fn write_sync(&mut self) -> () { + pub fn write_sync(&mut self) { unsafe { ffi::sf_write_sync(self.handle) } } @@ -676,7 +676,7 @@ impl SndFile { * * Return the last error as a variant of the enum Error. */ - pub fn error(&self) -> Error { + pub fn error(&self) -> Errors { unsafe { ffi::sf_error(self.handle) } } @@ -699,7 +699,7 @@ impl SndFile { * * Return an owned str containing the error. */ - pub fn error_number(error_num: Error) -> String { + pub fn error_number(error_num: Errors) -> String { unsafe { from_utf8(CStr::from_ptr(ffi::sf_error_number(error_num as i32) as *const _).to_bytes()) .unwrap() diff --git a/src/sndfile_ffi.rs b/src/sndfile_ffi.rs index 71254ca..c6cb8d6 100644 --- a/src/sndfile_ffi.rs +++ b/src/sndfile_ffi.rs @@ -21,7 +21,7 @@ #![allow(dead_code, non_camel_case_types)] -use super::{Error, SndInfo}; +use super::{Errors, SndInfo}; use libc::{c_char, c_void, intptr_t}; pub type SF_MODE = i32; @@ -171,7 +171,7 @@ pub const SF_FORMAT_SUBMASK: FORMAT_TYPE = 0x0000FFFF; pub const SF_FORMAT_TYPEMASK: FORMAT_TYPE = 0x0FFF0000; pub const SF_FORMAT_ENDMASK: FORMAT_TYPE = 0x30000000; -pub type SNDFILE = c_void; +pub type SNDFILEvoid = c_void; pub type SNDFILEhandle = intptr_t; #[repr(C)] @@ -192,17 +192,18 @@ extern "C" { pub fn sf_format_check(info: *mut SndInfo) -> SF_BOOL; pub fn sf_seek(sndfile: SNDFILEhandle, frames: i64, whence: i32) -> i64; - pub fn sf_command(sndfile: SNDFILEhandle, cmd: i32, data: *mut c_void, datasize: i32) -> Error; + pub fn sf_command(sndfile: SNDFILEhandle, cmd: i32, data: *mut c_void, datasize: i32) + -> Errors; - pub fn sf_error(sndfile: SNDFILEhandle) -> Error; + pub fn sf_error(sndfile: SNDFILEhandle) -> Errors; pub fn sf_strerror(sndfile: SNDFILEhandle) -> *mut c_char; pub fn sf_error_number(errnum: i32) -> *mut c_char; - pub fn sf_perror(sndfile: SNDFILEhandle) -> Error; + pub fn sf_perror(sndfile: SNDFILEhandle) -> Errors; pub fn sf_error_str(sndfile: SNDFILEhandle, string: *mut c_char, len: i64); - pub fn sf_close(sndfile: SNDFILEhandle) -> Error; - pub fn sf_write_sync(sndfile: SNDFILEhandle) -> (); + pub fn sf_close(sndfile: SNDFILEhandle) -> Errors; + pub fn sf_write_sync(sndfile: SNDFILEhandle); pub fn sf_read_short(sndfile: SNDFILEhandle, ptr: *mut i16, items: i64) -> i64; pub fn sf_read_int(sndfile: SNDFILEhandle, ptr: *mut i32, items: i64) -> i64; @@ -228,6 +229,6 @@ extern "C" { pub fn sf_write_raw(sndfile: SNDFILEhandle, ptr: *mut c_void, bytes: i64) -> i64; pub fn sf_get_string(sndfile: SNDFILEhandle, str_type: i32) -> *mut c_char; - pub fn sf_set_string(sndfile: SNDFILEhandle, str_type: i32, string: *mut c_char) -> Error; + pub fn sf_set_string(sndfile: SNDFILEhandle, str_type: i32, string: *mut c_char) -> Errors; } diff --git a/src/sound.rs b/src/sound.rs index 993ea67..f337a69 100644 --- a/src/sound.rs +++ b/src/sound.rs @@ -141,7 +141,7 @@ impl Sound { Ok(Sound { al_source: source_id, - sound_data: sound_data, + sound_data, }) } @@ -184,7 +184,7 @@ impl Sound { * ``` */ pub fn set_datas(&mut self, sound_data: Rc>) { - check_openal_context!(()); + check_openal_context!(); if self.is_playing() { return; @@ -215,7 +215,7 @@ impl Sound { * Range 0.0 to 10.0 */ pub fn set_air_absorption_factor(&mut self, factor: f32) { - check_openal_context!(()); + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_AIR_ABSORPTION_FACTOR, factor); } @@ -242,8 +242,8 @@ impl Sound { * * `velocity` - A three dimensional vector of f32 containing the velocity * of the sound [x, y, z]. */ - pub fn set_velocity(&mut self, velocity: [f32; 3]) -> () { - check_openal_context!(()); + pub fn set_velocity(&mut self, velocity: [f32; 3]) { + check_openal_context!(); al::alSourcefv(self.al_source, ffi::AL_VELOCITY, &velocity[0]); } @@ -272,7 +272,7 @@ impl AudioTags for Sound { * A borrowed pointer to the internal struct SoundTags */ fn get_tags(&self) -> Tags { - (*self.sound_data).borrow().get_tags().clone() + (*self.sound_data).borrow().get_tags() } } @@ -291,8 +291,8 @@ impl AudioController for Sound { * } * ``` */ - fn play(&mut self) -> () { - check_openal_context!(()); + fn play(&mut self) { + check_openal_context!(); al::alSourcePlay(self.al_source); @@ -318,8 +318,8 @@ impl AudioController for Sound { * } * ``` */ - fn pause(&mut self) -> () { - check_openal_context!(()); + fn pause(&mut self) { + check_openal_context!(); al::alSourcePause(self.al_source) } @@ -340,8 +340,8 @@ impl AudioController for Sound { * } * ``` */ - fn stop(&mut self) -> () { - check_openal_context!(()); + fn stop(&mut self) { + check_openal_context!(); al::alSourceStop(self.al_source) } @@ -362,7 +362,7 @@ impl AudioController for Sound { * ``` */ fn connect(&mut self, reverb_effect: &Option) { - check_openal_context!(()); + check_openal_context!(); match reverb_effect { Some(reverb_effect) => { @@ -409,10 +409,7 @@ impl AudioController for Sound { * ``` */ fn is_playing(&self) -> bool { - match self.get_state() { - Playing => true, - _ => false, - } + matches!(self.get_state(), Playing) } /** @@ -449,7 +446,7 @@ impl AudioController for Sound { ffi::AL_PLAYING => Playing, ffi::AL_PAUSED => Paused, ffi::AL_STOPPED => Stopped, - _ => panic!(format!("AL_SOURCE_STATE == {}", state)), + _ => panic!("AL_SOURCE_STATE == {}", state), } } @@ -459,8 +456,8 @@ impl AudioController for Sound { * # Argument * * `offset` - The time at which to seek, in seconds */ - fn set_offset(&mut self, offset: i32) -> () { - check_openal_context!(()); + fn set_offset(&mut self, offset: i32) { + check_openal_context!(); al::alSourcei(self.al_source, ffi::AL_SAMPLE_OFFSET, offset); } @@ -489,8 +486,8 @@ impl AudioController for Sound { * # Argument * * `volume` - The volume of the Sound, should be between 0.0 and 1.0 */ - fn set_volume(&mut self, volume: f32) -> () { - check_openal_context!(()); + fn set_volume(&mut self, volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_GAIN, volume); } @@ -519,8 +516,8 @@ impl AudioController for Sound { * * `min_volume` - The new minimal volume of the Sound should be between * 0.0 and 1.0 */ - fn set_min_volume(&mut self, min_volume: f32) -> () { - check_openal_context!(()); + fn set_min_volume(&mut self, min_volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MIN_GAIN, min_volume); } @@ -549,8 +546,8 @@ impl AudioController for Sound { * * `max_volume` - The new maximal volume of the Sound should be between * 0.0 and 1.0 */ - fn set_max_volume(&mut self, max_volume: f32) -> () { - check_openal_context!(()); + fn set_max_volume(&mut self, max_volume: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MAX_GAIN, max_volume); } @@ -577,8 +574,8 @@ impl AudioController for Sound { * # Arguments * `looping` - The new looping state. */ - fn set_looping(&mut self, looping: bool) -> () { - check_openal_context!(()); + fn set_looping(&mut self, looping: bool) { + check_openal_context!(); match looping { true => al::alSourcei(self.al_source, ffi::AL_LOOPING, ffi::ALC_TRUE as i32), @@ -615,8 +612,8 @@ impl AudioController for Sound { * # Argument * * `new_pitch` - The new pitch of the sound in the range [0.5 - 2.0] */ - fn set_pitch(&mut self, pitch: f32) -> () { - check_openal_context!(()); + fn set_pitch(&mut self, pitch: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_PITCH, pitch) } @@ -644,8 +641,8 @@ impl AudioController for Sound { * `relative` - True to set sound relative to the listener false to set the * sound position absolute. */ - fn set_relative(&mut self, relative: bool) -> () { - check_openal_context!(()); + fn set_relative(&mut self, relative: bool) { + check_openal_context!(); match relative { true => al::alSourcei( @@ -695,8 +692,8 @@ impl AudioController for Sound { * * `position` - A three dimensional vector of f32 containing the position * of the listener [x, y, z]. */ - fn set_position(&mut self, position: [f32; 3]) -> () { - check_openal_context!(()); + fn set_position(&mut self, position: [f32; 3]) { + check_openal_context!(); al::alSourcefv(self.al_source, ffi::AL_POSITION, &position[0]); } @@ -726,8 +723,8 @@ impl AudioController for Sound { * # Argument * `direction` - The new direction of the Sound. */ - fn set_direction(&mut self, direction: [f32; 3]) -> () { - check_openal_context!(()); + fn set_direction(&mut self, direction: [f32; 3]) { + check_openal_context!(); al::alSourcefv(self.al_source, ffi::AL_DIRECTION, &direction[0]); } @@ -758,8 +755,8 @@ impl AudioController for Sound { * # Argument * `max_distance` - The new maximum distance in the range [0.0, +inf] */ - fn set_max_distance(&mut self, max_distance: f32) -> () { - check_openal_context!(()); + fn set_max_distance(&mut self, max_distance: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_MAX_DISTANCE, max_distance); } @@ -790,8 +787,8 @@ impl AudioController for Sound { * # Argument * * `ref_distance` - The new reference distance of the Sound. */ - fn set_reference_distance(&mut self, ref_distance: f32) -> () { - check_openal_context!(()); + fn set_reference_distance(&mut self, ref_distance: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_REFERENCE_DISTANCE, ref_distance); } @@ -825,8 +822,8 @@ impl AudioController for Sound { * # Arguments * `attenuation` - The new attenuation for the sound in the range [0.0, 1.0]. */ - fn set_attenuation(&mut self, attenuation: f32) -> () { - check_openal_context!(()); + fn set_attenuation(&mut self, attenuation: f32) { + check_openal_context!(); al::alSourcef(self.al_source, ffi::AL_ROLLOFF_FACTOR, attenuation); } @@ -868,7 +865,7 @@ impl AudioController for Sound { * # Argument * * `enabled` - true to enable direct channel mode, false to disable */ - fn set_direct_channel(&mut self, enabled: bool) -> () { + fn set_direct_channel(&mut self, enabled: bool) { if OpenAlData::direct_channel_capable() { let value = match enabled { true => ffi::AL_TRUE, @@ -925,7 +922,7 @@ impl AudioController for Sound { //#[unsafe_destructor] impl Drop for Sound { ///Destroy all the resources attached to the Sound. - fn drop(&mut self) -> () { + fn drop(&mut self) { unsafe { ffi::alDeleteSources(1, &mut self.al_source); } @@ -942,7 +939,7 @@ mod test { #[test] #[ignore] - fn sound_create_OK() -> () { + fn sound_create_OK() { let snd = Sound::new("res/shot.wav"); assert!(snd.is_ok()); @@ -950,7 +947,7 @@ mod test { #[test] #[ignore] - fn sound_create_FAIL() -> () { + fn sound_create_FAIL() { let snd = Sound::new("toto.wav"); assert!(snd.is_err()); @@ -958,7 +955,7 @@ mod test { #[test] #[ignore] - fn sound_play_OK() -> () { + fn sound_play_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.play(); @@ -968,7 +965,7 @@ mod test { #[test] #[ignore] - fn sound_pause_OK() -> () { + fn sound_pause_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.play(); @@ -979,7 +976,7 @@ mod test { #[test] #[ignore] - fn sound_stop_OK() -> () { + fn sound_stop_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.play(); @@ -990,7 +987,7 @@ mod test { #[test] #[ignore] - fn sound_is_playing_TRUE() -> () { + fn sound_is_playing_TRUE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.play(); @@ -1000,7 +997,7 @@ mod test { #[test] #[ignore] - fn sound_is_playing_FALSE() -> () { + fn sound_is_playing_FALSE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); assert_eq!(snd.is_playing(), false); @@ -1009,7 +1006,7 @@ mod test { #[test] #[ignore] - fn sound_set_volume_OK() -> () { + fn sound_set_volume_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_volume(0.7); @@ -1019,7 +1016,7 @@ mod test { // should fail > 1. // #[test] // #[should_panic] - // fn sound_set_volume_high_FAIL() -> () { + // fn sound_set_volume_high_FAIL() { // let mut snd = Sound::new("shot.wav").expect("Cannot create sound"); // snd.set_volume(10.9); @@ -1029,7 +1026,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_volume_low_FAIL() -> () { + fn sound_set_volume_low_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_volume(-1.); @@ -1038,7 +1035,7 @@ mod test { #[test] #[ignore] - fn sound_set_min_volume_OK() -> () { + fn sound_set_min_volume_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_min_volume(0.1); @@ -1048,7 +1045,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_min_volume_high_FAIL() -> () { + fn sound_set_min_volume_high_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_min_volume(10.9); @@ -1058,7 +1055,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_min_volume_low_FAIL() -> () { + fn sound_set_min_volume_low_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_min_volume(-1.); @@ -1067,7 +1064,7 @@ mod test { #[test] #[ignore] - fn sound_set_max_volume_OK() -> () { + fn sound_set_max_volume_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_max_volume(0.9); @@ -1077,7 +1074,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_max_volume_high_FAIL() -> () { + fn sound_set_max_volume_high_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_max_volume(10.9); @@ -1087,7 +1084,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_max_volume_low_FAIL() -> () { + fn sound_set_max_volume_low_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_max_volume(-1.); @@ -1096,7 +1093,7 @@ mod test { #[test] #[ignore] - fn sound_is_looping_TRUE() -> () { + fn sound_is_looping_TRUE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_looping(true); @@ -1105,7 +1102,7 @@ mod test { #[test] #[ignore] - fn sound_is_looping_FALSE() -> () { + fn sound_is_looping_FALSE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_looping(false); @@ -1114,7 +1111,7 @@ mod test { #[test] #[ignore] - fn sound_set_pitch_OK() -> () { + fn sound_set_pitch_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_pitch(1.5); @@ -1124,7 +1121,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_pitch_too_low_FAIL() -> () { + fn sound_set_pitch_too_low_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_pitch(-1.); @@ -1134,7 +1131,7 @@ mod test { // shoud fail > 2. // #[test] // #[should_panic] - // fn sound_set_pitch_too_high_FAIL() -> () { + // fn sound_set_pitch_too_high_FAIL() { // let mut snd = Sound::new("shot.wav").expect("Cannot create sound"); // snd.set_pitch(3.0); @@ -1143,7 +1140,7 @@ mod test { #[test] #[ignore] - fn sound_set_relative_TRUE() -> () { + fn sound_set_relative_TRUE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_relative(true); @@ -1152,7 +1149,7 @@ mod test { #[test] #[ignore] - fn sound_set_relative_FALSE() -> () { + fn sound_set_relative_FALSE() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_relative(false); @@ -1163,7 +1160,7 @@ mod test { #[test] #[ignore] - fn sound_set_position_OK() -> () { + fn sound_set_position_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_position([50f32, 150f32, 250f32]); @@ -1173,7 +1170,7 @@ mod test { #[test] #[ignore] - fn sound_set_direction_OK() -> () { + fn sound_set_direction_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_direction([50f32, 150f32, 250f32]); @@ -1183,7 +1180,7 @@ mod test { #[test] #[ignore] - fn sound_set_max_distance_OK() -> () { + fn sound_set_max_distance_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_max_distance(70.); @@ -1193,7 +1190,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_max_distance_FAIL() -> () { + fn sound_set_max_distance_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_max_distance(-1.); @@ -1202,7 +1199,7 @@ mod test { #[test] #[ignore] - fn sound_set_reference_distance_OK() -> () { + fn sound_set_reference_distance_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_reference_distance(70.); @@ -1212,7 +1209,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_reference_distance_FAIL() -> () { + fn sound_set_reference_distance_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_reference_distance(-1.); @@ -1221,7 +1218,7 @@ mod test { #[test] #[ignore] - fn sound_set_attenuation_OK() -> () { + fn sound_set_attenuation_OK() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_attenuation(0.5f32); @@ -1231,7 +1228,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sound_set_attenuation_FAIL() -> () { + fn sound_set_attenuation_FAIL() { let mut snd = Sound::new("res/shot.wav").expect("Cannot create sound"); snd.set_attenuation(-1.); diff --git a/src/sound_data.rs b/src/sound_data.rs index f376e55..f989146 100644 --- a/src/sound_data.rs +++ b/src/sound_data.rs @@ -132,7 +132,7 @@ impl SoundData { let sound_data = SoundData { sound_tags: get_sound_tags(&file), snd_info: infos, - nb_sample: nb_sample, + nb_sample, al_buffer: buffer_id, }; file.close(); @@ -147,7 +147,7 @@ impl SoundData { * # Return * The struct SndInfo. */ -pub fn get_sndinfo<'r>(s_data: &'r SoundData) -> &'r SndInfo { +pub fn get_sndinfo(s_data: &SoundData) -> &SndInfo { &s_data.snd_info } @@ -176,7 +176,7 @@ impl AudioTags for SoundData { impl Drop for SoundData { /// Destroy all the resources attached to the SoundData - fn drop(&mut self) -> () { + fn drop(&mut self) { unsafe { ffi::alDeleteBuffers(1, &mut self.al_buffer); } @@ -192,7 +192,7 @@ mod test { #[test] #[ignore] - fn sounddata_create_OK() -> () { + fn sounddata_create_OK() { #![allow(unused_variables)] let snd_data = SoundData::new("res/shot.wav").unwrap(); } @@ -200,7 +200,7 @@ mod test { #[test] #[ignore] #[should_panic] - fn sounddata_create_FAIL() -> () { + fn sounddata_create_FAIL() { #![allow(unused_variables)] let snd_data = SoundData::new("toto.wav").unwrap(); }