MCPcopy Create free account
hub / github.com/crownengine/crown / LoadReverbPreset

Function LoadReverbPreset

3rdparty/openal/al/effect.cpp:670–725  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

668#undef DECL
669
670void LoadReverbPreset(const char *name, ALeffect *effect)
671{
672 if(al::strcasecmp(name, "NONE") == 0)
673 {
674 InitEffectParams(effect, AL_EFFECT_NULL);
675 TRACE("Loading reverb '%s'\n", "NONE");
676 return;
677 }
678
679 if(!DisabledEffects[EAXREVERB_EFFECT])
680 InitEffectParams(effect, AL_EFFECT_EAXREVERB);
681 else if(!DisabledEffects[REVERB_EFFECT])
682 InitEffectParams(effect, AL_EFFECT_REVERB);
683 else
684 InitEffectParams(effect, AL_EFFECT_NULL);
685 for(const auto &reverbitem : reverblist)
686 {
687 const EFXEAXREVERBPROPERTIES *props;
688
689 if(al::strcasecmp(name, reverbitem.name) != 0)
690 continue;
691
692 TRACE("Loading reverb '%s'\n", reverbitem.name);
693 props = &reverbitem.props;
694 effect->Props.Reverb.Density = props->flDensity;
695 effect->Props.Reverb.Diffusion = props->flDiffusion;
696 effect->Props.Reverb.Gain = props->flGain;
697 effect->Props.Reverb.GainHF = props->flGainHF;
698 effect->Props.Reverb.GainLF = props->flGainLF;
699 effect->Props.Reverb.DecayTime = props->flDecayTime;
700 effect->Props.Reverb.DecayHFRatio = props->flDecayHFRatio;
701 effect->Props.Reverb.DecayLFRatio = props->flDecayLFRatio;
702 effect->Props.Reverb.ReflectionsGain = props->flReflectionsGain;
703 effect->Props.Reverb.ReflectionsDelay = props->flReflectionsDelay;
704 effect->Props.Reverb.ReflectionsPan[0] = props->flReflectionsPan[0];
705 effect->Props.Reverb.ReflectionsPan[1] = props->flReflectionsPan[1];
706 effect->Props.Reverb.ReflectionsPan[2] = props->flReflectionsPan[2];
707 effect->Props.Reverb.LateReverbGain = props->flLateReverbGain;
708 effect->Props.Reverb.LateReverbDelay = props->flLateReverbDelay;
709 effect->Props.Reverb.LateReverbPan[0] = props->flLateReverbPan[0];
710 effect->Props.Reverb.LateReverbPan[1] = props->flLateReverbPan[1];
711 effect->Props.Reverb.LateReverbPan[2] = props->flLateReverbPan[2];
712 effect->Props.Reverb.EchoTime = props->flEchoTime;
713 effect->Props.Reverb.EchoDepth = props->flEchoDepth;
714 effect->Props.Reverb.ModulationTime = props->flModulationTime;
715 effect->Props.Reverb.ModulationDepth = props->flModulationDepth;
716 effect->Props.Reverb.AirAbsorptionGainHF = props->flAirAbsorptionGainHF;
717 effect->Props.Reverb.HFReference = props->flHFReference;
718 effect->Props.Reverb.LFReference = props->flLFReference;
719 effect->Props.Reverb.RoomRolloffFactor = props->flRoomRolloffFactor;
720 effect->Props.Reverb.DecayHFLimit = props->iDecayHFLimit ? AL_TRUE : AL_FALSE;
721 return;
722 }
723
724 WARN("Reverb preset '%s' not found\n", name);
725}

Callers 1

alc_initconfigFunction · 0.85

Calls 2

InitEffectParamsFunction · 0.85
strcasecmpFunction · 0.50

Tested by

no test coverage detected