Robin Gareus
cc7b8b1bc5
"While 'atomic' has a volatile qualifier, this is a historical artifact and the pointer passed to it should not be volatile." Furthermore "It is very important that all accesses to a particular integer or pointer be performed using only this API" (from https://developer.gnome.org/glib/2.68/glib-Atomic-Operations.html) Hence initialization of atomic variables is changed to also use this API, instead of directly initializing the value. This also fixes a few cases where atomic variables were accessed directly. see also libs/pbd/pbd/g_atomic_compat.h |
||
---|---|---|
.. | ||
audiographer | ||
doc | ||
macos/audiographer/audiographer.xcodeproj | ||
MSVCaudiographer | ||
private | ||
src | ||
tests | ||
COPYING | ||
README | ||
run-tests.sh | ||
wscript |
AudioGrapher is Copyright Sakari Bergen 2009-2010 AudioGrapher is best described as a signal flow management library. It includes facilities to build graphs out of signal processing elements. Once a graph is set up, all signal flow within the graph happens automatically. The data flow model in Audiographer is dynamic instead of synchronous - the type and amount of data that goes in to a graph may differ from what comes out. AudioGrapher is aimed mostly for usage by developers, as it includes lots of facilities that ease the development process. The main aim of AudioGrapher is to ease development and debugging of signal flow graphs. It makes heavy use of modern C++ techniques like templates, and uses the boost libraries a lot. The essential classes in AudioGrapher are Sink, Source and ProcessContext. These three define the signal flow in a graph. In addition, the core of AudioGrapher includes lots of utility classes. AudioGrapher includes a bunch of ready Sink, Source and Vertex implementations. Some are utilities used when developing more vertices, while others are general utilities (file i/o, sample rate conversion etc).