Magnum::Audio::Extensions namespace

Compile-time information about OpenAL extensions.

Each extension is a struct named hierarchically by prefix, vendor and extension name taken from list at Support state, for example Audio::Extensions::ALC::SOFTX::HRTF.

Each struct has the same public methods as Extension class (currently just string()), but these structs are better suited for compile-time decisions rather than Extension instances. See Context::isExtensionSupported() for example usage.

This library depends on the OpenAL library and is built if MAGNUM_WITH_AUDIO is enabled when building Magnum. To use this library with CMake, put FindOpenAL.cmake into your modules/ directory, request the Audio component of the Magnum package and link to the Magnum::Audio target:

find_package(Magnum REQUIRED Audio)

# ...
target_link_libraries(your-app PRIVATE Magnum::Audio)

Additionally, if you're using Magnum as a CMake subproject, bundle the openal-soft repository and do the following before calling find_package() to ensure it's enabled, as the library is not built by default. If you want to use system-installed OpenAL, omit the first part and point CMAKE_PREFIX_PATH to its installation dir if necessary.

set(CMAKE_POSITION_INDEPENDENT_CODE ON) # needed if building dynamic libraries
set(LIBTYPE STATIC) # omit or set to SHARED if you want a shared OpenAL library
add_subdirectory(openal-soft EXCLUDE_FROM_ALL)

set(MAGNUM_WITH_AUDIO ON CACHE BOOL "" FORCE)
add_subdirectory(magnum EXCLUDE_FROM_ALL)

See Downloading and building and Usage with CMake for more information.