111 lines
2.4 KiB
C++
111 lines
2.4 KiB
C++
// 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 <Nazara/Audio/DummyAudioDevice.hpp>
|
|
#include <Nazara/Audio/DummyAudioBuffer.hpp>
|
|
#include <Nazara/Audio/DummyAudioSource.hpp>
|
|
#include <cstring>
|
|
#include <stdexcept>
|
|
#include <Nazara/Audio/Debug.hpp>
|
|
|
|
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<AudioBuffer> DummyAudioDevice::CreateBuffer()
|
|
{
|
|
return std::make_shared<DummyAudioBuffer>(shared_from_this());
|
|
}
|
|
|
|
std::shared_ptr<AudioSource> DummyAudioDevice::CreateSource()
|
|
{
|
|
return std::make_shared<DummyAudioSource>(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;
|
|
}
|
|
}
|