13
0
livetrax/libs/audiographer
Robin Gareus 36bbd14113 towards fixing #5711
Don’t call ::output() [here: SilenceTrimmer::process()] 
with no data to process. 

If (position + N * period-size) % chunksize == 0;
frames_left == 0 before the last call to ::output().
chunker.h:60 keeps the ProcessContext<T>::EndOfInput
flag and the SilenceTrimmer will already have done ‘in_end’ processing.
2015-01-27 23:13:55 +01:00
..
audiographer towards fixing #5711 2015-01-27 23:13:55 +01:00
doc
MSVCaudiographer Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC 2014-10-29 17:36:30 +00:00
private
src Merge branch 'windows+cc' into cairocanvas 2014-01-13 15:05:30 +00:00
tests
COPYING
README
wscript remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR'] 2014-04-28 21:18:02 -04:00

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).