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>
Should be obvious and are positioned above each other, so getting to the
getter from the setter vice versa should be easy.
Signed-off-by: Squareys <Squareys@googlemail.com>
Listener manages position, orientation and gain of the OpenAL listener and
provides a method to update mutliple PlayableGroups efficiently aswell
as making sure there is at most one active Listener used at any given time
(since OpenAL only supports the notion of exactly one listener).
Signed-off-by: Squareys <Squareys@googlemail.com>
Playable manages the position, orientation and gain of an
`Magnum::Audio::Source`. PlayableGroup is its corresponding FeatureGroup,
which enables playing/pausing/stopping multiple sounds sources, aswell as
setting a common gain and sound transformation for them.
Signed-off-by: Squareys <Squareys@googlemail.com>