reVeno/Source/Veno/Core/AudioConfig.cpp

59 lines
1.1 KiB
C++
Raw Normal View History

//
// Created by versustune on 22.03.20.
//
#include "AudioConfig.h"
2020-06-13 10:56:20 +02:00
#include "../Audio/WaveTable/WaveTableGenerator.h"
2020-06-13 10:56:20 +02:00
std::shared_ptr<AudioConfig> AudioConfig::m_instance;
float AudioConfig::getSampleRate ()
{
return m_sampleRate;
}
void AudioConfig::setSampleRate (float _sampleRate)
{
if (m_sampleRate != _sampleRate)
{
m_sampleRate = _sampleRate;
m_needToReInit = true;
}
}
float AudioConfig::getBufferSize ()
{
return m_bufferSize;
}
void AudioConfig::setBufferSize (float _bufferSize)
{
m_bufferSize = _bufferSize;
}
bool AudioConfig::isNeedToReInit () const
{
return m_needToReInit;
}
void AudioConfig::setNeedToReInit (bool _needToReInit)
{
m_needToReInit = _needToReInit;
}
std::shared_ptr<AudioConfig> AudioConfig::getInstance ()
{
2020-06-13 10:56:20 +02:00
if (AudioConfig::m_instance == nullptr)
AudioConfig::m_instance = std::make_shared<AudioConfig> ();
return m_instance;
}
2020-06-13 10:56:20 +02:00
void AudioConfig::initWaveTables ()
{
WaveTableGenerator::getInstance ().init ();
2020-06-13 10:56:20 +02:00
}
AudioConfig::~AudioConfig ()
{
WaveTableGenerator::getInstance ().cleanTables ();
2020-06-13 10:56:20 +02:00
}