Hi Fons,
On Sat, Nov 30, 2013 at 2:57 PM, Fons Adriaensen <fons(a)linuxaudio.org> wrote:
Imagine a real-time audio processing app reading (or
writing)
lots of audio files, possibly evaluating a complex timeline
consisting of many separte pieces. To make things work some
(or a lot of) buffering and lookahead will be necessary.
There are at least three distinct places where this can be
done:
1. the file system(s) and kernel
2. any library used to acess audio files,
3. the application itself.
Of these, only (1) will be aware of any hardware related
issues, and only (3) will be aware of what is expected to
happen in the (near) future. (2) sits somewhere between
the two.
The questions you're asking hint at something that could be very
similar to a library or two I've been working on in my spare time.
I've been working on a service library for dispatching functions
between a realtime thread and a set of non-realtime threads, and
vice-versa, and intend to start work on another library that uses the
former to do realtime disk-streaming.
Care to share more details on what you're working on?
--
Devin Anderson
surfacepatterns (at) gmail (dot) com
blog -
http://surfacepatterns.blogspot.com/
midisnoop -
http://midisnoop.googlecode.com/
psinsights -
http://psinsights.googlecode.com/
synthclone -
http://synthclone.googlecode.com/