On Sun, May 12, 2002 at 06:06:32PM -0400, Paul Davis wrote: > >> I certainly agree that envelope control can be implemented by the host > >> passing dynamically changing parameters to the plugin. I have already > >> given a lot of thought on that. Consider the situation of a volume > >> adjustment plugin with host-controlled parameter as the envelope. > >> Suppose each buffer size is 128 samples, which is reasonably small for > >> dynamic parameter. When we want to do a fade-out, the host sends the > >> buffer to the volume adjustment plugin, specifying a decreasing, > >> negative gain each time. The problem is, for every 128 samples, there is > >> a leap of the control parameter, resulting in audiable steps of the > >> volume. Depending on the amount of parameter changes, this can be quite > [ ...] > >The easiest solution to this kind of problem (parameter change faster than > >nr. of run() calls) is to make the parameter (here: the envelope) another > >audio input stream - this way you get 1:1 parameter:sample mapping. > > We discussed this about 2 months ago (or less). The consensus appeared > to me to be that its the responsibility of a *plugin* to interpolate > in the most appropriate fashion whenever the value of a control port > changes. The host *cannot* know the best way to do this without a > ridiculous amount of information being supplied by the the plugin, and > the code is the same in either case. So, the host can choose its own > level of resolution for automated parameters - for example, it can > choose to subdivide its own "natural" blocksize into smaller chunks > for calling process() with - and then the plugin finishes off by some > parameter-specific interpolation. > > Does this need to be discussed again? Does anyone disagree with this > "annotation" to the API? > > >host can be used to feed generated waves to such a port quite easily [for > >GLAME we of course use another plugin for this wave generation, but that > >again is not possible with LADSPA]. > > Why not?
Because you cannot have source/sink plugins with LADSPA? Only the host can do those. Richard. -- -- Richard Guenther <[EMAIL PROTECTED]> WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/ The GLAME Project: http://www.glame.de/