newsAdvanced Gtk+ Sequencer - News: Advanced Gtk+ Sequencer v2.2.x - ambiguity of the C language regarding concurrency

 
 
Latest News
Advanced Gtk+ Sequencer version 6.8.x posted by jkraehemann, Wed 17 Apr 2024 01:40:23 PM UTC
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 v2.2.x - ambiguity of the C language regarding concurrency

Item posted by Joël Krähemann <jkraehemann> on Tue 28 May 2019 02:33:42 AM UTC.

After some development break, I will be back with full power. It was a time make some thoughts and talk on IRC. The ANSI C language doesn't cover all aspects of computing. Especially, as regarding the hardware details. This situation is going to shape the next release 2.2.x.

I learned about the cache-coherency protocol. Finally, came to the conclusion under certain circumstances we can omit the read-read and read-write locks. Yes exactly, read-write locks can be disabled if the document I read is right. This is related to the design of GSequencer.

However, only the deterministic engine mode is aware of race-conditions.

Note, the C language doesn't tell how HW behaves during concurrent access.

Grained mutex control during compilation


There won't any mutex removed but rather controlled by conditional compilation. Thus I want to add 2 new macros:


#define AGS_NO_READ_READ_LOCK
#define AGS_NO_READ_WRITE_LOCK


These macros should be used by AgsRecall and AgsAudioSignal.

Better plugin experience


There are going to be additional command line option, to control if plugins shall be loaded during launch of the application.

  • --load-ladspa
  • --load-dssi
  • --load-lv2
  • --load-vst3
  • --load-all


The UI shall be capable of adding plugins at runtime.

VST3 ANSI C wrapper


Few days ago, I started to write a C wrapper of VST3 SDK. I am unsure how far I get with the support, until release.



by Joël

 

Back to the top

Powered by Savane 3.13-758e.
Corresponding source code