ears 0.7.0

Easy Rust API to play audio using OpenAL
Documentation
#[derive(Debug)]
pub struct ReverbProperties {
    pub density: f32,
    pub diffusion: f32,
    pub gain: f32,
    pub gainhf: f32,
    pub gainlf: f32,
    pub decay_time: f32,
    pub decay_hfratio: f32,
    pub decay_lfratio: f32,
    pub reflections_gain: f32,
    pub reflections_delay: f32,
    pub reflections_pan: [f32; 3],
    pub late_reverb_gain: f32,
    pub late_reverb_delay: f32,
    pub late_reverb_pan: [f32; 3],
    pub echo_time: f32,
    pub echo_depth: f32,
    pub modulation_time: f32,
    pub modulation_depth: f32,
    pub air_absorption_gainhf: f32,
    pub hf_reference: f32,
    pub lf_reference: f32,
    pub room_rolloff_factor: f32,
    pub decay_hflimit: i32,
}

#[derive(Debug)]
pub enum ReverbPreset {
    Generic,
    Paddedcell,
    Room,
    Bathroom,
    Livingroom,
    Stoneroom,
    Auditorium,
    Concerthall,
    Cave,
    Arena,
    Hangar,
    Carpetedhallway,
    Hallway,
    Stonecorridor,
    Alley,
    Forest,
    City,
    Mountains,
    Quarry,
    Plain,
    Parkinglot,
    Sewerpipe,
    Underwater,
    Drugged,
    Dizzy,
    Psychotic,
    CastleSmallroom,
    CastleShortpassage,
    CastleMediumroom,
    CastleLargeroom,
    CastleLongpassage,
    CastleHall,
    CastleCupboard,
    CastleCourtyard,
    CastleAlcove,
    FactorySmallroom,
    FactoryShortpassage,
    FactoryMediumroom,
    FactoryLargeroom,
    FactoryLongpassage,
    FactoryHall,
    FactoryCupboard,
    FactoryCourtyard,
    FactoryAlcove,
    IcepalaceSmallroom,
    IcepalaceShortpassage,
    IcepalaceMediumroom,
    IcepalaceLargeroom,
    IcepalaceLongpassage,
    IcepalaceHall,
    IcepalaceCupboard,
    IcepalaceCourtyard,
    IcepalaceAlcove,
    SpacestationSmallroom,
    SpacestationShortpassage,
    SpacestationMediumroom,
    SpacestationLargeroom,
    SpacestationLongpassage,
    SpacestationHall,
    SpacestationCupboard,
    SpacestationAlcove,
    WoodenSmallroom,
    WoodenShortpassage,
    WoodenMediumroom,
    WoodenLargeroom,
    WoodenLongpassage,
    WoodenHall,
    WoodenCupboard,
    WoodenCourtyard,
    WoodenAlcove,
    SportEmptystadium,
    SportSquashcourt,
    SportSmallswimmingpool,
    SportLargeswimmingpool,
    SportGymnasium,
    SportFullstadium,
    SportStadiumtannoy,
    PrefabWorkshop,
    PrefabSchoolroom,
    PrefabPractiseroom,
    PrefabOuthouse,
    PrefabCaravan,
    DomeTomb,
    PipeSmall,
    DomeSaintpauls,
    PipeLongthin,
    PipeLarge,
    PipeResonant,
    OutdoorsBackyard,
    OutdoorsRollingplains,
    OutdoorsDeepcanyon,
    OutdoorsCreek,
    OutdoorsValley,
    MoodHeaven,
    MoodHell,
    MoodMemory,
    DrivingCommentator,
    DrivingPitgarage,
    DrivingIncarRacer,
    DrivingIncarSports,
    DrivingIncarLuxury,
    DrivingFullgrandstand,
    DrivingEmptygrandstand,
    DrivingTunnel,
    CityStreets,
    CitySubway,
    CityMuseum,
    CityLibrary,
    CityUnderpass,
    CityAbandoned,
    Dustyroom,
    Chapel,
    Smallwaterroom,
}

// Presets copied from efx-presets.h for convenience
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),
    }
  }
}

// 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,
        }
    }
}