diff --git a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h index 9434555f6a..647bc328f2 100644 --- a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h +++ b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h @@ -27,6 +27,12 @@ namespace juce struct CoreAudioLayouts { + //============================================================================== + enum + { + coreAudioHOASN3DLayoutTag = (190U<<16) | 0 // kAudioChannelLayoutTag_HOA_ACN_SN3D + }; + //============================================================================== /** Convert CoreAudio's native AudioChannelLayout to JUCE's AudioChannelSet. @@ -53,7 +59,7 @@ struct CoreAudioLayouts static AudioChannelLayoutTag toCoreAudio (const AudioChannelSet& set) { if (set.getAmbisonicOrder() >= 0) - return kAudioChannelLayoutTag_HOA_ACN_SN3D | static_cast (set.size()); + return coreAudioHOASN3DLayoutTag | static_cast (set.size()); for (auto* tbl = SpeakerLayoutTable::get(); tbl->tag != 0; ++tbl) { @@ -128,7 +134,7 @@ struct CoreAudioLayouts } auto numChannels = tag & 0xffff; - if (tag >= kAudioChannelLayoutTag_HOA_ACN_SN3D && tag <= (kAudioChannelLayoutTag_HOA_ACN_SN3D | 0xffff)) + if (tag >= coreAudioHOASN3DLayoutTag && tag <= (coreAudioHOASN3DLayoutTag | 0xffff)) { auto sqrtMinusOne = std::sqrt (static_cast (numChannels)) - 1.0f; auto ambisonicOrder = jmax (0, static_cast (std::floor (sqrtMinusOne))); @@ -159,7 +165,7 @@ private: tags.addIfNotAlreadyThere (tbl->tag); for (unsigned order = 0; order <= 5; ++order) - tags.addIfNotAlreadyThere (kAudioChannelLayoutTag_HOA_ACN_SN3D | ((order + 1) * (order + 1))); + tags.addIfNotAlreadyThere (coreAudioHOASN3DLayoutTag | ((order + 1) * (order + 1))); return tags; } diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp index 3b0647a6d0..990d80a636 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp @@ -608,12 +608,12 @@ public: // some ambisonic tags which are not explicitely defined enum { - kAudioChannelLayoutTag_HOA_ACN_SN3D_0Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 1, - kAudioChannelLayoutTag_HOA_ACN_SN3D_1Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 4, - kAudioChannelLayoutTag_HOA_ACN_SN3D_2Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 9, - kAudioChannelLayoutTag_HOA_ACN_SN3D_3Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 16, - kAudioChannelLayoutTag_HOA_ACN_SN3D_4Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 25, - kAudioChannelLayoutTag_HOA_ACN_SN3D_5Order = kAudioChannelLayoutTag_HOA_ACN_SN3D | 36 + kAudioChannelLayoutTag_HOA_ACN_SN3D_0Order = (190U<<16) | 1, + kAudioChannelLayoutTag_HOA_ACN_SN3D_1Order = (190U<<16) | 4, + kAudioChannelLayoutTag_HOA_ACN_SN3D_2Order = (190U<<16) | 9, + kAudioChannelLayoutTag_HOA_ACN_SN3D_3Order = (190U<<16) | 16, + kAudioChannelLayoutTag_HOA_ACN_SN3D_4Order = (190U<<16) | 25, + kAudioChannelLayoutTag_HOA_ACN_SN3D_5Order = (190U<<16) | 36 }; void runTest() override