add parameter store
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#include <stdint.h>
|
||||
#include <atomic>
|
||||
|
||||
#include "Synth.h"
|
||||
|
||||
class AudioEngine {
|
||||
|
||||
public:
|
||||
@@ -13,19 +15,19 @@ public:
|
||||
|
||||
bool start();
|
||||
void stop();
|
||||
|
||||
void setFrequency(float freq);
|
||||
ParameterStore* parameters() { return ¶ms_; }
|
||||
|
||||
private:
|
||||
static int32_t audioCallback(void* outputBuffer, void* inputBuffer, uint32_t nFrames, double streamTime, RtAudioStreamStatus status, void* userData);
|
||||
int32_t process(float* out, uint32_t nFrames);
|
||||
|
||||
ParameterStore params_;
|
||||
Synth synth_;
|
||||
|
||||
// TODO: id like a yml config file or something for these
|
||||
RtAudio audio_;
|
||||
uint32_t sampleRate_ = 44100;
|
||||
uint32_t bufferFrames_ = 256;
|
||||
|
||||
std::atomic<float> targetFreq_{ 400.0f };
|
||||
float currentFreq_ = 440.0f;
|
||||
float phase_ = 0.0f;
|
||||
uint32_t bufferFrames_ = 256; // time per buffer = BF/SR (256/44100 = 5.8ms)
|
||||
uint32_t channels_ = 2; // stereo
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user