diff --git a/include/AmbisonicProcessor.h b/include/AmbisonicProcessor.h index 15d3ff8..12a9f4d 100644 --- a/include/AmbisonicProcessor.h +++ b/include/AmbisonicProcessor.h @@ -108,8 +108,9 @@ namespace spaudio { * Please use AmbisonicRotator instead. */ - class SPAUDIO_API - [[deprecated("This class is deprecated. Please use AmbisonicRotator class instead.")]] + class + SPAUDIO_DEPRECATED("Please use AmbisonicRotator class instead.") + SPAUDIO_API AmbisonicProcessor : public AmbisonicBase { public: diff --git a/include/AmbisonicShelfFilters.h b/include/AmbisonicShelfFilters.h index 047caaa..4f67736 100644 --- a/include/AmbisonicShelfFilters.h +++ b/include/AmbisonicShelfFilters.h @@ -26,8 +26,9 @@ namespace spaudio { /** This class applies frequency dependent basic & max-rE optimisation to a B-format signal using linear phase FIR filters. * This class is deprecated in favour of AmbisonicOptimFilters, which uses LinkwitzRiley IIR filters to apply frequency dependent gains. */ - class SPAUDIO_API - [[deprecated("This class is deprecated. Please use AmbisonicOptimFilters class instead.")]] + class + SPAUDIO_DEPRECATED("Please use AmbisonicOptimFilters class instead.") + SPAUDIO_API AmbisonicShelfFilters : public AmbisonicBase { public: diff --git a/include/SpatialaudioAPI.h b/include/SpatialaudioAPI.h index 1bae07e..3fedb89 100644 --- a/include/SpatialaudioAPI.h +++ b/include/SpatialaudioAPI.h @@ -35,4 +35,14 @@ # define SPAUDIO_API SPATIALAUDIO_IMPORT #endif +// Deprecation annotation +// For GCC 12 and older we must not mix the attribute syntax +// styles, so in that case, we use __attribute__(()) here, else +// we just use the normal C++ attribute syntax +#if defined(__GNUC__) && (__GNUC__ < 13) +# define SPAUDIO_DEPRECATED(msg) __attribute__((deprecated(msg))) +#else +# define SPAUDIO_DEPRECATED(msg) [[deprecated(msg)]] +#endif + #endif /* SPATIALAUDIO_API_H */