diff options
Diffstat (limited to 'src/audio/miniaudio_backend.cc')
| -rw-r--r-- | src/audio/miniaudio_backend.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/audio/miniaudio_backend.cc b/src/audio/miniaudio_backend.cc index d2563c5..9dd2b50 100644 --- a/src/audio/miniaudio_backend.cc +++ b/src/audio/miniaudio_backend.cc @@ -3,7 +3,8 @@ // Moved from audio.cc to enable backend abstraction for testing. #include "miniaudio_backend.h" -#include "synth.h" +#include "audio.h" +#include "ring_buffer.h" #include <stdio.h> // Static callback for miniaudio (C API requirement) @@ -13,7 +14,13 @@ void MiniaudioBackend::audio_callback(ma_device* pDevice, void* pOutput, (void)pDevice; (void)pInput; float* fOutput = (float*)pOutput; - synth_render(fOutput, (int)frameCount); + + // Read from ring buffer instead of calling synth directly + AudioRingBuffer* ring_buffer = audio_get_ring_buffer(); + if (ring_buffer != nullptr) { + const int samples_to_read = (int)frameCount * 2; // Stereo + ring_buffer->read(fOutput, samples_to_read); + } } MiniaudioBackend::MiniaudioBackend() : initialized_(false) { |
