From 953745d38643b62dd10ba6d8c1e2e4c7fa20eb30 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 12 Dec 2021 15:53:53 -0800 Subject: Make an inline function to check for 2D ambisonic formats --- alc/alu.cpp | 10 +++------- alc/effects/convolution.cpp | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) (limited to 'alc') diff --git a/alc/alu.cpp b/alc/alu.cpp index 693288df..93e18c94 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -777,11 +777,9 @@ void CalcPanningAndFilters(Voice *voice, const float xpos, const float ypos, con } voice->mFlags &= ~(VoiceHasHrtf | VoiceHasNfc); - if(voice->mFmtChannels == FmtBFormat2D || voice->mFmtChannels == FmtBFormat3D - || voice->mFmtChannels == FmtUHJ2 || voice->mFmtChannels == FmtUHJ3 - || voice->mFmtChannels == FmtUHJ4 || voice->mFmtChannels == FmtSuperStereo) + if(IsAmbisonic(voice->mFmtChannels)) { - /* Special handling for B-Format sources. */ + /* Special handling for B-Format and UHJ sources. */ if(Device->AvgSpeakerDist > 0.0f && voice->mFmtChannels != FmtUHJ2 && voice->mFmtChannels != FmtSuperStereo) @@ -883,9 +881,7 @@ void CalcPanningAndFilters(Voice *voice, const float xpos, const float ypos, con /* Convert the rotation matrix for input ordering and scaling, and * whether input is 2D or 3D. */ - const uint8_t *index_map{ - (voice->mFmtChannels == FmtBFormat2D || voice->mFmtChannels == FmtUHJ2 - || voice->mFmtChannels == FmtUHJ3 || voice->mFmtChannels == FmtSuperStereo) ? + const uint8_t *index_map{Is2DAmbisonic(voice->mFmtChannels) ? GetAmbi2DLayout(voice->mAmbiLayout).data() : GetAmbiLayout(voice->mAmbiLayout).data()}; diff --git a/alc/effects/convolution.cpp b/alc/effects/convolution.cpp index a1d49be4..5724badb 100644 --- a/alc/effects/convolution.cpp +++ b/alc/effects/convolution.cpp @@ -410,7 +410,7 @@ void ConvolutionState::update(const ContextBase *context, const EffectSlot *slot (*mChans)[0].Target[lidx] = gain; (*mChans)[1].Target[ridx] = gain; } - else if(mChannels == FmtBFormat3D || mChannels == FmtBFormat2D) + else if(IsBFormat(mChannels)) { DeviceBase *device{context->mDevice}; if(device->mAmbiOrder > mAmbiOrder) -- cgit v1.2.3