Added a new enabled-by-default BUILD_AL_TESTS CMake option. The test
cases that actually require OpenAL context were split to new tests with
`*ALTest` suffix so they can be executed selectively.
Similarly as it is done in STL for C++14 literals, the user has to
explicitly put them to scope with `using` keyword to avoid accidental
collisions. If MAGNUM_BUILD_DEPRECATED is set, they are still brought to
the root namespace, but that will be removed in a future release.
As with Corrade, this is not exactly backwards compatible, but for
common use case without OBJECT libraries this should not be a problem.
In any case, recreate the build dir and update your copy of all
Find*.cmake modules to avoid weird things happening.
User-facing changes:
* Documentation of all Find*.cmake modules converted to
reStructuredText to follow official CMake guidelines.
* The newfangled way to use the libraries is to link to Magnum::Shaders
instead of adding ${MAGNUM_SHADERS_INCLUDE_DIRS} to include path and
linking to ${MAGNUM_SHADERS_LIBRARIES}.
* The old ${MAGNUM_*_LIBRARIES} are deprecated and now just expand to
Magnum::* target. Use the target directly. These are also enabled
only when building with MAGNUM_BUILD_DEPRECATED.
* The old ${MAGNUM_*_INCLUDE_DIRS} are removed as the Magnum::* targets
cover these too.
Internal changes:
* Global state such as include_directories() was replaced with
target-specific settings.
103% of use cases use the returned value directly without checking, so
we might as well do the check ourselves. Added new function hasCurrent()
and added deprecated backward-compatibility conversion and -> operators.
Wow, that creeped to a lot of places.
Last dinosaur from the pointer age.
This test is entirely dependent on user settings and would fail if hrtfs
were disabled on the testing machines OpenAL installation.
Signed-off-by: Squareys <Squareys@googlemail.com>
Since `ALC_HRTF_SOFT` is a ALC extension, we need to use `alcGetIntegerv()`
instead of `alGetIntegerv()` which requires access to the OpenAL device
stored in `Audio::Context` and therefore the aforementioned methods have
been moved there.
Signed-off-by: Squareys <Squareys@googlemail.com>
Polished some minor stuff in the code, reordered Renderer getter-only
functions to be at the top, fixed \al_extension and \alc_extension
Doxygen commands to link to proper place and some other minor
Doxygen-related stuff.
Add `HrtfStatus` and queries in `Audio::Renderer`, `ALC::SOFT::HRTF` and
`@requires_alc_extension` notes for relevant methods in `Configuration`.
Signed-off-by: Squareys <Squareys@googlemail.com>
Analog to Magnum::Extensions, but without Version, since OpenAL has only
one Version which is in use (OpenAL 1.1).
Signed-off-by: Squareys <Squareys@googlemail.com>
When PlayableGroup.h is used without Playable.h, the compiler spits out a
very unintuitive error message, which would probably confuse unfamiliar
users.
This change fixes that error message appearing.
Signed-off-by: Squareys <Squareys@googlemail.com>