Listener direction controls

This commit is contained in:
2025-09-05 17:36:18 +03:00
parent 64b5a8af29
commit 71e4ff9317
2 changed files with 15 additions and 0 deletions

View File

@@ -40,6 +40,8 @@ class Listener {
public: public:
void SetEnabled(bool isEnabled); void SetEnabled(bool isEnabled);
bool GetEnabled(); bool GetEnabled();
void SetDirection(Magnum::Vector3 position);
Magnum::Vector3 GetDirection();
void SetPosition(Magnum::Vector3 position); void SetPosition(Magnum::Vector3 position);
Magnum::Vector3 GetPosition(); Magnum::Vector3 GetPosition();

View File

@@ -1,4 +1,5 @@
#include "ChargeAudio.hpp" #include "ChargeAudio.hpp"
#include <Magnum/Magnum.h>
#include <Magnum/Math/Vector3.h> #include <Magnum/Math/Vector3.h>
using namespace ChargeAudio; using namespace ChargeAudio;
@@ -13,6 +14,18 @@ void Listener::SetEnabled(bool isEnabled) {
bool Listener::GetEnabled() { bool Listener::GetEnabled() {
return ma_engine_listener_is_enabled(&baseEngine->maEngine, listenerID); return ma_engine_listener_is_enabled(&baseEngine->maEngine, listenerID);
} }
void Listener::SetDirection(Magnum::Vector3 position) {
ma_engine_listener_set_direction(&baseEngine->maEngine, listenerID,
position.x(), position.y(), position.z());
}
Magnum::Vector3 Listener::GetDirection() {
ma_vec3f dir =
ma_engine_listener_get_direction(&baseEngine->maEngine, listenerID);
return Magnum::Vector3{dir.x, dir.y, dir.z};
}
void Listener::SetPosition(Magnum::Vector3 position) { void Listener::SetPosition(Magnum::Vector3 position) {
ma_engine_listener_set_position(&baseEngine->maEngine, listenerID, ma_engine_listener_set_position(&baseEngine->maEngine, listenerID,
position.x(), position.y(), position.z()); position.x(), position.y(), position.z());