newsAdvanced Gtk+ Sequencer - News: Implementing cache option for all output backends

 
 
Latest News
Advanced Gtk+ Sequencer version 6.5.x posted by jkraehemann, Sun 11 Feb 2024 05:06:15 PM UTC
Advanced Gtk+ Sequencer version 6.3.5 posted by jkraehemann, Fri 19 Jan 2024 11:53:24 AM UTC
Advanced Gtk+ Sequencer v6.1.0 released posted by jkraehemann, Thu 28 Sep 2023 04:55:19 AM UTC
Advanced Gtk+ Sequencer v6.0.0 released posted by jkraehemann, Mon 21 Aug 2023 11:48:52 AM UTC
Advanced Gtk+ Sequencer v5.5.0 released posted by jkraehemann, Sat 05 Aug 2023 10:21:52 AM UTC

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-f8d8.
Corresponding source code