[LAD] CV data protocol in apps.

fons at kokkinizita.net fons at kokkinizita.net
Sat Feb 20 12:23:38 UTC 2010

On Sat, Feb 20, 2010 at 07:31:04AM +0100, torbenh wrote:

> i am basically more in favour of timestamped events.
> but your argumentation in this thread is pretty convincing.
> and timestamped events come with a galore of other problems,
> which i think are harder to tackle in a jack context.

I'll repeat once again ** Low rate control signals are
not meant to replace generic timestamped events which
are still needed. **

They provide a solution for some cases that are quite
difficult to handle with events, even if you don't
consider the Jack context, i.e. the variable data

For example it would be quite hairy to use discrete
events to create a C1 continuous control signal -
C1 means no 'jumps' and no 'corners'. It can be done
but would require a level of complexity that breaks
the charms of the basic idea and would make most
potential users run away screaming. Just combining
(adding) two such streams with non-coincident events
would be a real nightmare.

With continuous control signals the burden of ensuring
it has the required qualities for a particular use (e.g.
any degree of continuity, or spectral limits) are on
the generator of the control signal. The receiver
would be safe to use it at its full bandwidth, but
doesn't have to do this - it could still cut corners
for efficiency if it wanted, and in most cases that
would actually happen as Fs/16 is overkill anyway. 

The 1/16 rate is chosen because it ensures that even
with a period size of 16 (the practical limit IMHO)
all periods are still equal, and a factor of 16 
reduction in stored data size makes it usable. 

Having non-power-of-2 period sizes complicates the
picture. When and why was this allowed ? I'm pretty
sure it will break a lot of code (including some of
mine, including probably Aeolus and Jconvolver).



O tu, che porte, correndo si ?
E guerra e morte !

More information about the Linux-audio-dev mailing list