From b2a24dd5a884ea13f331f0f1e5d0c734852beadb Mon Sep 17 00:00:00 2001 From: BERTHAUT Florent <florent.berthaut@univ-lille1.fr> Date: Fri, 8 May 2020 11:53:43 +0200 Subject: [PATCH] Added buffer size setting --- src/gdpd.cpp | 8 +++++--- src/gdpd.hpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gdpd.cpp b/src/gdpd.cpp index fbdc24c..a86f988 100644 --- a/src/gdpd.cpp +++ b/src/gdpd.cpp @@ -15,7 +15,9 @@ void Gdpd::_register_methods() { register_method("set_volume", &Gdpd::set_volume); } -int Gdpd::audioCallback(void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, double streamTime, RtAudioStreamStatus status, void *userData){ +int Gdpd::audioCallback(void *outputBuffer, void *inputBuffer, + unsigned int nBufferFrames, double streamTime, + RtAudioStreamStatus status, void *userData){ Gdpd* gdpd = static_cast<Gdpd*>(userData); gdpd->processAudio(outputBuffer, inputBuffer, nBufferFrames, streamTime, status, userData); @@ -32,7 +34,7 @@ void Gdpd::_init() { Gdpd::~Gdpd() { } -int Gdpd::init(int nbInputs, int nbOutputs, int sampleRate) { +int Gdpd::init(int nbInputs, int nbOutputs, int sampleRate, int bufferSize) { if(!m_pd.init(nbInputs, nbOutputs, sampleRate, true)) { Godot::print("GDPD : Error starting libpd"); @@ -62,7 +64,7 @@ int Gdpd::init(int nbInputs, int nbOutputs, int sampleRate) { inParams.deviceId = m_audio.getDefaultOutputDevice(); outParams.nChannels = m_nbInputs = nbInputs; inParams.nChannels = m_nbOutputs = nbOutputs; - m_bufferFrames = 128; + m_bufferFrames = bufferSize; RtAudio::StreamOptions options; options.streamName = "gdpd"; diff --git a/src/gdpd.hpp b/src/gdpd.hpp index 5a24807..ef3a1db 100644 --- a/src/gdpd.hpp +++ b/src/gdpd.hpp @@ -38,7 +38,7 @@ public: void _init(); //libpd functions - int init(int nbInputs, int nbOutputs, int sampleRate); + int init(int nbInputs, int nbOutputs, int sampleRate, int bufferSize); void openfile(String basename, String dirname); void closefile(); bool has_message(); -- GitLab