MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / LoadReverbPreset

Function LoadReverbPreset

Engine/lib/openal-soft/al/effect.cpp:691–746  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

689#undef DECL
690
691void LoadReverbPreset(const char *name, ALeffect *effect)
692{
693 if(al::strcasecmp(name, "NONE") == 0)
694 {
695 InitEffectParams(effect, AL_EFFECT_NULL);
696 TRACE("Loading reverb '%s'\n", "NONE");
697 return;
698 }
699
700 if(!DisabledEffects[EAXREVERB_EFFECT])
701 InitEffectParams(effect, AL_EFFECT_EAXREVERB);
702 else if(!DisabledEffects[REVERB_EFFECT])
703 InitEffectParams(effect, AL_EFFECT_REVERB);
704 else
705 InitEffectParams(effect, AL_EFFECT_NULL);
706 for(const auto &reverbitem : reverblist)
707 {
708 const EFXEAXREVERBPROPERTIES *props;
709
710 if(al::strcasecmp(name, reverbitem.name) != 0)
711 continue;
712
713 TRACE("Loading reverb '%s'\n", reverbitem.name);
714 props = &reverbitem.props;
715 effect->Props.Reverb.Density = props->flDensity;
716 effect->Props.Reverb.Diffusion = props->flDiffusion;
717 effect->Props.Reverb.Gain = props->flGain;
718 effect->Props.Reverb.GainHF = props->flGainHF;
719 effect->Props.Reverb.GainLF = props->flGainLF;
720 effect->Props.Reverb.DecayTime = props->flDecayTime;
721 effect->Props.Reverb.DecayHFRatio = props->flDecayHFRatio;
722 effect->Props.Reverb.DecayLFRatio = props->flDecayLFRatio;
723 effect->Props.Reverb.ReflectionsGain = props->flReflectionsGain;
724 effect->Props.Reverb.ReflectionsDelay = props->flReflectionsDelay;
725 effect->Props.Reverb.ReflectionsPan[0] = props->flReflectionsPan[0];
726 effect->Props.Reverb.ReflectionsPan[1] = props->flReflectionsPan[1];
727 effect->Props.Reverb.ReflectionsPan[2] = props->flReflectionsPan[2];
728 effect->Props.Reverb.LateReverbGain = props->flLateReverbGain;
729 effect->Props.Reverb.LateReverbDelay = props->flLateReverbDelay;
730 effect->Props.Reverb.LateReverbPan[0] = props->flLateReverbPan[0];
731 effect->Props.Reverb.LateReverbPan[1] = props->flLateReverbPan[1];
732 effect->Props.Reverb.LateReverbPan[2] = props->flLateReverbPan[2];
733 effect->Props.Reverb.EchoTime = props->flEchoTime;
734 effect->Props.Reverb.EchoDepth = props->flEchoDepth;
735 effect->Props.Reverb.ModulationTime = props->flModulationTime;
736 effect->Props.Reverb.ModulationDepth = props->flModulationDepth;
737 effect->Props.Reverb.AirAbsorptionGainHF = props->flAirAbsorptionGainHF;
738 effect->Props.Reverb.HFReference = props->flHFReference;
739 effect->Props.Reverb.LFReference = props->flLFReference;
740 effect->Props.Reverb.RoomRolloffFactor = props->flRoomRolloffFactor;
741 effect->Props.Reverb.DecayHFLimit = props->iDecayHFLimit ? AL_TRUE : AL_FALSE;
742 return;
743 }
744
745 WARN("Reverb preset '%s' not found\n", name);
746}

Callers 1

alc_initconfigFunction · 0.85

Calls 2

strcasecmpFunction · 0.85
InitEffectParamsFunction · 0.85

Tested by

no test coverage detected