diff --git a/CMakeLists.txt b/CMakeLists.txt index 80bc485..95324af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -174,6 +174,8 @@ target_include_directories(spatialaudio target_compile_definitions(spatialaudio PRIVATE SPATIALAUDIO_COMPILATION + PUBLIC + _USE_MATH_DEFINES ) if(MYSOFA_FOUND) diff --git a/cmake/spatialaudio.pc.cmake b/cmake/spatialaudio.pc.cmake index af481ec..0c98896 100644 --- a/cmake/spatialaudio.pc.cmake +++ b/cmake/spatialaudio.pc.cmake @@ -6,4 +6,4 @@ Name: spatialaudio Description: Spatial audio rendering library Version: @PROJECT_VERSION@ Libs: -L${libdir} -lspatialaudio @MYSOFA_LIB@ -lm -lz -Cflags: -I${includedir} @MYSOFA_INCLUDE@ +Cflags: -I${includedir} @MYSOFA_INCLUDE@ -D_USE_MATH_DEFINES diff --git a/include/AmbisonicCommons.h b/include/AmbisonicCommons.h index 8e201df..df5accf 100644 --- a/include/AmbisonicCommons.h +++ b/include/AmbisonicCommons.h @@ -16,8 +16,9 @@ #ifndef SPATIALAUDIO_AMBISONIC_COMMONS_H #define SPATIALAUDIO_AMBISONIC_COMMONS_H -#define _USE_MATH_DEFINES -#include +#ifndef _USE_MATH_DEFINES +# define _USE_MATH_DEFINES +#endif #include #include diff --git a/include/Tools.h b/include/Tools.h index c91ee66..aeb8212 100644 --- a/include/Tools.h +++ b/include/Tools.h @@ -15,11 +15,12 @@ #ifndef SPATIALAUDIO_TOOLS_H #define SPATIALAUDIO_TOOLS_H -#define _USE_MATH_DEFINES -#include -#include -#include -#include +#ifndef _USE_MATH_DEFINES +# define _USE_MATH_DEFINES +#endif +#include +#include +#include #include #include #include "assert.h" diff --git a/meson.build b/meson.build index 7a81ec9..229668b 100644 --- a/meson.build +++ b/meson.build @@ -33,6 +33,7 @@ libspatialaudio_dep = declare_dependency( include_directories : spatialaudio_incdirs, dependencies : dependencies, link_with : spatialaudio_lib, + compile_args : ['-D_USE_MATH_DEFINES'], ) meson.override_dependency('libspatialaudio', libspatialaudio_dep) diff --git a/source/Decorrelator.cpp b/source/Decorrelator.cpp index 032233b..f3d4b8f 100644 --- a/source/Decorrelator.cpp +++ b/source/Decorrelator.cpp @@ -12,7 +12,7 @@ #include "Decorrelator.h" -#include +#include namespace spaudio { diff --git a/source/PointSourcePannerGainCalc.cpp b/source/PointSourcePannerGainCalc.cpp index ce2ff88..f88f24d 100644 --- a/source/PointSourcePannerGainCalc.cpp +++ b/source/PointSourcePannerGainCalc.cpp @@ -16,8 +16,8 @@ #include "LoudspeakerLayoutHulls.h" -#include -#include +#include +#include #include namespace spaudio { @@ -364,7 +364,7 @@ namespace spaudio { { upperLayerSet.push_back(iSpk); // TODO: consider remapping azimuth to range -180 to 180 - maxUpperAz = std::max(maxUpperAz, abs(layout.getChannel(iSpk).getPolarPositionNominal().azimuth)); + maxUpperAz = std::max(maxUpperAz, std::abs(layout.getChannel(iSpk).getPolarPositionNominal().azimuth)); meanUpperEl += layout.getChannel(iSpk).getPolarPosition().elevation; } else if (el >= -10 && el <= 10) @@ -376,7 +376,7 @@ namespace spaudio { { lowerLayerSet.push_back(iSpk); // TODO: consider remapping azimuth to range -180 to 180 - maxLowerAz = std::max(maxLowerAz, abs(layout.getChannel(iSpk).getPolarPositionNominal().azimuth)); + maxLowerAz = std::max(maxLowerAz, std::abs(layout.getChannel(iSpk).getPolarPositionNominal().azimuth)); meanLowerEl += layout.getChannel(iSpk).getPolarPosition().elevation; } } @@ -390,7 +390,7 @@ namespace spaudio { auto name = layout.getChannel(midLayerSet[iMid]).getChannelName(); double azimuth = layout.getChannel(midLayerSet[iMid]).getPolarPosition().azimuth; // Lower layer - if ((lowerLayerSet.size() > 0 && abs(azimuth) > maxLowerAz + 40.) || lowerLayerSet.size() == 0) + if ((lowerLayerSet.size() > 0 && std::abs(azimuth) > maxLowerAz + 40.) || lowerLayerSet.size() == 0) { m_downmixMapping.push_back(iMid); name.at(0) = 'B'; @@ -406,7 +406,7 @@ namespace spaudio { auto name = layout.getChannel(midLayerSet[iMid]).getChannelName(); double azimuth = layout.getChannel(midLayerSet[iMid]).getPolarPosition().azimuth; // Upper layer - if ((upperLayerSet.size() > 0 && abs(azimuth) > maxUpperAz + 40.) || upperLayerSet.size() == 0) + if ((upperLayerSet.size() > 0 && std::abs(azimuth) > maxUpperAz + 40.) || upperLayerSet.size() == 0) { m_downmixMapping.push_back(iMid); name.at(0) = 'U'; diff --git a/source/RegionHandlers.cpp b/source/RegionHandlers.cpp index 2d4ed2c..37374ab 100644 --- a/source/RegionHandlers.cpp +++ b/source/RegionHandlers.cpp @@ -12,7 +12,7 @@ /*############################################################################*/ #include "RegionHandlers.h" -#include +#include #include namespace spaudio { diff --git a/source/Renderer.cpp b/source/Renderer.cpp index dbcb505..e023246 100644 --- a/source/Renderer.cpp +++ b/source/Renderer.cpp @@ -13,8 +13,8 @@ /*############################################################################*/ #include "Renderer.h" -#include -#include +#include +#include namespace spaudio { diff --git a/source/adm/DirectSpeakersGainCalc.cpp b/source/adm/DirectSpeakersGainCalc.cpp index 376306c..a3dc8c0 100644 --- a/source/adm/DirectSpeakersGainCalc.cpp +++ b/source/adm/DirectSpeakersGainCalc.cpp @@ -13,7 +13,7 @@ /*############################################################################*/ #include "adm/DirectSpeakersGainCalc.h" -#include +#include #include namespace spaudio { diff --git a/source/meson.build b/source/meson.build index 26d3921..9b4c12c 100644 --- a/source/meson.build +++ b/source/meson.build @@ -39,7 +39,7 @@ spatialaudio_sources = files( 'ObjectPanner.cpp', ) -spatialaudio_clike_args = ['-DSPATIALAUDIO_COMPILATION'] +spatialaudio_clike_args = ['-DSPATIALAUDIO_COMPILATION', '-D_USE_MATH_DEFINES'] # Extract version info from header spatialaudio_api_version = cpp.get_define('SPATIALAUDIO_API_VERSION_STRING',