[linux-audio-dev] Re: Language fanboys [was Re: light C++ set for WAV]

Steve Harris S.W.Harris at ecs.soton.ac.uk
Fri Jul 21 07:52:42 UTC 2006

On Thu, Jul 20, 2006 at 09:51:05 -0700, Thomas Vecchione wrote:
> >
> >??? Non realtime style?  How can you have a gui written in a real time
> >style? Doesn't that kind of break the basic rules of realtime?
> Well that is my question, sorry I should have clarified I am just now 
> getting into realtime programming so this might be a really stupid 
> question anyways.  If  you dont have the GUI thread(s) running at a high 
> priority, would that affect the overall response of the program? 
> Primarily I am looking at for triggering sound effects samples(Of 
> varying size) for live performance, thus I would need to make sure 
> response to the gui is also quick and that latency is not added in from 
> the time of hitting a "go" on screen.

The extent of that kind of latency is not quite so critical as processing
latency. What is important however is that the latency is constant, jitter
is quite obvious. Humans are able to correct for reasonably high constant
latency between actions and the sound happening. MIDI latency is typically
1ms or so, and that's generally not a issue. Getting lower than that in
a UI + OSC connection is no problem.

In any case, it's not a good idea to run GUI theads at high priority as
they often have to do actions which require a significant ammount of
wall-clock time.

If your thinking of using a UDPish protocol, please use OSC. The packet
format is a bit of a pig, but there are plenty of libraries that make it
easy (eg. http://liblo.sourceforge.net/) it means other peoples
software can interoperate with yours.

It will also save you a lot of time in debugging annoying network I/O
issues and platform dependencies.

- Steve

More information about the Linux-audio-dev mailing list