zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 12aefb3e0cc6e1de0df0a33fa034383802e28fc4
parent 69db6ee56ba840d0c9c2aad9950f51c2518ecb32
Author: Harald Hvaal <harald.hvaal@gmail.com>
Date:   Sun, 14 Mar 2010 22:08:09 +0100

Nio: Adding periods to alsa engine init, fixes latency issues

Diffstat:
Msrc/Nio/AlsaEngine.cpp | 6+++++-
Msrc/Nio/AlsaEngine.h | 1+
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/Nio/AlsaEngine.cpp b/src/Nio/AlsaEngine.cpp @@ -287,10 +287,14 @@ bool AlsaEngine::openAudio() snd_pcm_hw_params_set_rate_near(audio.handle, audio.params, &audio.sampleRate, NULL); - audio.frames = 32; + audio.frames = 512; snd_pcm_hw_params_set_period_size_near(audio.handle, audio.params, &audio.frames, NULL); + audio.periods = 4; + snd_pcm_hw_params_set_periods_near(audio.handle, + audio.params, &audio.periods, NULL); + /* Write the parameters to the driver */ rc = snd_pcm_hw_params(audio.handle, audio.params); if (rc < 0) { diff --git a/src/Nio/AlsaEngine.h b/src/Nio/AlsaEngine.h @@ -71,6 +71,7 @@ class AlsaEngine : public AudioOut, MidiIn snd_pcm_hw_params_t *params; unsigned int sampleRate; snd_pcm_uframes_t frames; + unsigned int periods; const short *buffer; pthread_t pThread; } audio;