Re: [linux-audio-dev] One API for everything (first draft)

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] One API for everything (first draft)
From: Paul Davis (pbd_AT_Op.Net)
Date: Sun May 20 2001 - 20:45:03 EEST


>So we could give the LAAGA server the responsability to register a new
>run callback for the plugin, based on it's knowledge of the
>connectivity. Input buffers hooked up to multiple outputs are
>automatically flushed by the server (as they will be used by run_adding
>from the plugins that are connected to this buffer).

I'm sorry to be negative, but I don't think this can work.

It works for LADSPA, because LADSPA plugins are (intended to be)
relatively stateless and embody simple algorithms - its reasonable for
them to provide both run() and run_adding() callbacks. But LAAGA is
intended to encompass entire applications, not simple algorithms.

For such cases, there really can't be any such thing as "the run
adding version" and "the run version". Its a change that can permeate
the entire structure of the application/plugin in various ways. Any
part of the code that stores data in *any* of the output port buffers
is affected by the change, despite the change only affecting one or
two instructions, typically in a tight loop. We're talking only about
the difference between using "=" and "+=" at some point in the code.

Well structured applications may indeed only have a single point where
such data writing occurs, and they could conceivably switch between
two versions of that code. But they may not, and in such designs, it
would be very, very difficult to get them to work correctly with this
scheme.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sun May 20 2001 - 21:06:29 EEST