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

 
 
Latest News
Advanced Gtk+ Sequencer v2.3.x - implementing ags_filter_util.c posted by jkraehemann, Sun 18 Aug 2019 10:10:42 AM UTC - 0 replies
Further optimization in ags_audio_buffer_util.c posted by jkraehemann, Wed 07 Aug 2019 12:22:48 AM UTC - 0 replies
GCC builtin vector functions and a lock free soundcard buffer posted by jkraehemann, Mon 29 Jul 2019 03:36:31 PM UTC - 0 replies
Advanced Gtk+ Sequencer v2.2.5 released posted by jkraehemann, Tue 25 Jun 2019 06:43:09 PM UTC - 0 replies

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

No messages in Advanced Gtk+ Sequencer v2.2.x - ambiguity of the C language regarding concurrency

 

Back to the top


Powered by Savane 3.5