Subject: Re: [linux-audio-dev] LAAGA - main components
From: Jim Peters (jim_AT_aguazul.demon.co.uk)
Date: Wed May 02 2001 - 02:22:28 EEST
Kai Vehmanen wrote:
> Well, if you have a GUI-knob that affects the produced audio, you will
> need a <5ms delay from changing the knob value to hearing the result. So
> in this case 20ms is too much for the plugin<->GUI communication.
Yeah, sorry - it seems I've confused several people it seem by talking
about these delays. I'm referring to the time to do a safe round trip
from the low-latency server process, out to an external app, and back
again. This is the latency for an `external loop' or `out-of-process
loop' from the low-latency server, however you want to describe it.
For feeding controller data into the plugin, it can go straight
through a shared memory segment with no delay between writing it there
and it affecting the output (except the 1ms/whatever latency of the
server).
Something I was going to ask - can we consider writing an aligned int
(4 bytes) to memory to be an atomic operation on a SMP machine ? Is
this true for all possible target platforms ? Any SMP 68000 machines
out there !?
If we can consider it atomic, it makes a lot of things much easier -
just write new int or float controller data values to SHM without
worry. If not, to safely use SHM needs a few additional precautions
to make sure the plugin never reads half-complete sets of data.
> Another set of possible clients to consider are the various
> audio-producing sequencers (SoundTracker, Octal), and then audio players
> (Alsaplayer, XMMS). But I think these app types either benefit less from
> LAAGA, or are much more difficult to turn into a plugin.
I'm quite interested in the idea of using a text-mode tracker
interface to drive all the parameters of a set of plugins. All this
real-time low latency framework we're discussing would be ideal. In
the `good old days', the Amiga custom chips made sound immediately on
being programmed - no delay at all. A low-latency server running a
hardware-emulating plugin with a shared memory interface isn't too
much different to this ...
There's a lot of potential here, I think.
Jim
-- Jim Peters / __ | \ Aguazul / /| /| )| /| / )|| \ jim_AT_aguazul. \ (_|(_|(_|(_| )(_|I / www.aguazul. demon.co.uk \ ._) _/ / demon.co.uk
This archive was generated by hypermail 2b28 : Wed May 02 2001 - 02:58:52 EEST