rtaudio hello world
This commit is contained in:
@@ -1,2 +1,39 @@
|
||||
|
||||
// The audio engine handles the RtAudio implementation of outputing samples to audio. the audio callback fills a buffer of audio samples and submits it for playback
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <RtAudio.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#define AUDIO_API RtAudio::WINDOWS_WASAPI
|
||||
#else
|
||||
#define AUDIO_API RtAudio::LINUX_ALSA
|
||||
#endif
|
||||
|
||||
class AudioEngine {
|
||||
|
||||
public:
|
||||
|
||||
AudioEngine();
|
||||
~AudioEngine();
|
||||
|
||||
bool start();
|
||||
bool stop();
|
||||
|
||||
private:
|
||||
|
||||
static int32_t audioCallback(void* outputBuffer, void* inputBuffer, uint32_t nFrames, double streamtime, RtAudioStreamStatus status, void* userData);
|
||||
|
||||
int32_t process(float* out, size_t nFrames);
|
||||
|
||||
RtAudio audioDevice_ { AUDIO_API };
|
||||
|
||||
// TODO: make these configurable
|
||||
uint32_t sampleRate_ = 44100;
|
||||
uint32_t bufferFrames_ = 512;
|
||||
uint32_t channels_ = 2;
|
||||
|
||||
float phase_ = 0.0f;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user