// Copyright (C) 2023 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Audio module" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include #include #include #include #include namespace Nz { DummyAudioDevice::DummyAudioDevice() : m_listenerRotation(Quaternionf::Identity()), m_listenerPosition(Vector3f::Zero()), m_dopplerFactor(1.f), m_globalVolume(1.f), m_speedOfSound(343.3f) { } std::shared_ptr DummyAudioDevice::CreateBuffer() { return std::make_shared(shared_from_this()); } std::shared_ptr DummyAudioDevice::CreateSource() { return std::make_shared(shared_from_this()); } float DummyAudioDevice::GetDopplerFactor() const { return m_dopplerFactor; } float DummyAudioDevice::GetGlobalVolume() const { return m_globalVolume; } Vector3f DummyAudioDevice::GetListenerDirection(Vector3f* up) const { if (up) *up = m_listenerRotation * Vector3f::Up(); return m_listenerRotation * Vector3f::Forward(); } Vector3f DummyAudioDevice::GetListenerPosition() const { return m_listenerPosition; } Quaternionf DummyAudioDevice::GetListenerRotation() const { return m_listenerRotation; } Vector3f DummyAudioDevice::GetListenerVelocity() const { return m_listenerVelocity; } float DummyAudioDevice::GetSpeedOfSound() const { return m_speedOfSound; } const void* DummyAudioDevice::GetSubSystemIdentifier() const { return this; } bool DummyAudioDevice::IsFormatSupported(AudioFormat /*format*/) const { return true; } void DummyAudioDevice::SetDopplerFactor(float dopplerFactor) { m_dopplerFactor = dopplerFactor; } void DummyAudioDevice::SetGlobalVolume(float volume) { m_globalVolume = volume; } void DummyAudioDevice::SetListenerDirection(const Vector3f& direction, const Vector3f& up) { m_listenerRotation = Quaternionf::LookAt(direction, up); } void DummyAudioDevice::SetListenerPosition(const Vector3f& position) { m_listenerPosition = position; } void DummyAudioDevice::SetListenerVelocity(const Vector3f& velocity) { m_listenerVelocity = velocity; } void DummyAudioDevice::SetSpeedOfSound(float speed) { m_speedOfSound = speed; } }