newsAdvanced Gtk+ Sequencer - News

 
 

Implementing cache option for all output backends

Item posted by Joël Krähemann <jkraehemann> on Mon 07 Jan 2019 11:37:40 PM UTC.

Just now, I have completed the pulseaudio caching ability. This allows GSequencer to run with a smaller buffer size than the cache. This is useful regarding non low-latency setup using pulseaudio.

Prior you didn't get the desired BPM above 120 if latency was too big. This is fixed by the caching option.

Cache option for all output backends


I intend to develop for all output backends a cache option. This in view of achieving smother automation.

Since the UI allows you to automate upto a 1/64 of the smallest notation delay. The automation capacity is not fully used.

Assumed you have ALSA setup with 1024 buffer size and running at a samplerate of 44100. By 120 BPMs and 4/4 segmentation, you have a delay of approximately:


44100 / (60 / 120 * 4) = 5512


In view of buffer size which is 1024 you do:


5512 / 1024 = 5


So of the possible 64 changes only 5 are actually used. But if you have a buffer size of 128 it is slightly different:


5512 / 128 = 43


Over the thumb you get smother automation with smaller buffer size.



by Joël

Back to the top

Powered by Savane 3.13-caa5.
Corresponding source code