From 8db38cfb763acc231a3ddbcc9c49ff93d4531c16 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Wed, 24 May 2023 16:36:21 -0700 Subject: Use a variant to hold EAX effect properties --- al/effects/compressor.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'al/effects/compressor.cpp') diff --git a/al/effects/compressor.cpp b/al/effects/compressor.cpp index a4aa8e77..ca8af84f 100644 --- a/al/effects/compressor.cpp +++ b/al/effects/compressor.cpp @@ -118,43 +118,43 @@ template<> template<> bool CompressorCommitter::commit(const EaxEffectProps &props) { - if(props.mType == mEaxProps.mType - && props.mCompressor.ulOnOff == mEaxProps.mCompressor.ulOnOff) + if(props == mEaxProps) return false; mEaxProps = props; - mAlProps.Compressor.OnOff = (props.mCompressor.ulOnOff != 0); + mAlProps.Compressor.OnOff = (std::get(props).ulOnOff != 0); return true; } template<> void CompressorCommitter::SetDefaults(EaxEffectProps &props) { - props.mType = EaxEffectType::Compressor; - props.mCompressor.ulOnOff = EAXAGCCOMPRESSOR_DEFAULTONOFF; + props = EAXAGCCOMPRESSORPROPERTIES{EAXAGCCOMPRESSOR_DEFAULTONOFF}; } template<> -void CompressorCommitter::Get(const EaxCall &call, const EaxEffectProps &props) +void CompressorCommitter::Get(const EaxCall &call, const EaxEffectProps &props_) { + auto &props = std::get(props_); switch(call.get_property_id()) { case EAXAGCCOMPRESSOR_NONE: break; - case EAXAGCCOMPRESSOR_ALLPARAMETERS: call.set_value(props.mCompressor); break; - case EAXAGCCOMPRESSOR_ONOFF: call.set_value(props.mCompressor.ulOnOff); break; + case EAXAGCCOMPRESSOR_ALLPARAMETERS: call.set_value(props); break; + case EAXAGCCOMPRESSOR_ONOFF: call.set_value(props.ulOnOff); break; default: fail_unknown_property_id(); } } template<> -void CompressorCommitter::Set(const EaxCall &call, EaxEffectProps &props) +void CompressorCommitter::Set(const EaxCall &call, EaxEffectProps &props_) { + auto &props = std::get(props_); switch(call.get_property_id()) { case EAXAGCCOMPRESSOR_NONE: break; - case EAXAGCCOMPRESSOR_ALLPARAMETERS: defer(call, props.mCompressor); break; - case EAXAGCCOMPRESSOR_ONOFF: defer(call, props.mCompressor.ulOnOff); break; + case EAXAGCCOMPRESSOR_ALLPARAMETERS: defer(call, props); break; + case EAXAGCCOMPRESSOR_ONOFF: defer(call, props.ulOnOff); break; default: fail_unknown_property_id(); } } -- cgit v1.2.3