add some app infrastructure services
This commit is contained in:
@@ -5,12 +5,14 @@
|
||||
#include <cmath>
|
||||
#include <numbers>
|
||||
|
||||
AudioEngine::AudioEngine() {
|
||||
AudioEngine::AudioEngine(LoggerService* logger) : logger_(logger) {
|
||||
|
||||
if(audioDevice_.getDeviceCount() < 1) {
|
||||
std::cout << "No audio devices found" << std::endl;
|
||||
}
|
||||
|
||||
if(logger_ == nullptr) std::cout << "err: logger nullptr" << std::endl;
|
||||
|
||||
}
|
||||
|
||||
AudioEngine::~AudioEngine() {
|
||||
@@ -41,7 +43,8 @@ bool AudioEngine::start() {
|
||||
}
|
||||
|
||||
// sanity check
|
||||
std::cout << "sample rate: " << sampleRate_ << " buffer frames: " << bufferFrames_ << std::endl;
|
||||
std::string msg = "sample rate: " + std::to_string(sampleRate_) + ", buffer frames: " + std::to_string(bufferFrames_);
|
||||
logger_->log("AudioEngine", LogFlag::Info, msg);
|
||||
return true;
|
||||
|
||||
}
|
||||
@@ -58,7 +61,7 @@ bool AudioEngine::stop() {
|
||||
int32_t AudioEngine::audioCallback(void* outputBuffer, void* inputBuffer, uint32_t nFrames, double, RtAudioStreamStatus status, void* userData) {
|
||||
|
||||
// error if the callback is late
|
||||
if(status) std::cout << "stream underflow" << std::endl;
|
||||
if(status) static_cast<AudioEngine*>(userData)->logger_->log("AudioEngine", LogFlag::Warning, "Audio buffer underflow");
|
||||
|
||||
return static_cast<AudioEngine*>(userData)->process(static_cast<float*>(outputBuffer), static_cast<size_t>(nFrames));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user