On Fri, Jun 15, 2007 at 10:12:02PM -0400, Paul Coccoli wrote: > Is it an option to interpolate over a fixed interval regardless of > block size (meaning the nframes parameter to the run() call)? Or use > the minimum of some small number of samples and nframes.
Yes, that is a good way to do it, and it's not much more complicated. In some cases you really want a defined parameter speed, and in that case you can use two levels of interpolation, the first on the control values themselves, givig them a defined maximum rate of change, and the second level on the internal values for smoothing the steps of the first level. In such a system the interpolation can continue over several run() calls, even for a single change. The parametric filter in my FIL-plugins works this way. It means you have to keep two values for each param, the current one, and a 'target' value which is updated by the parameters suppplied on each run(). All this is perfectly possible within LADSPA, and it doesn't require any help from the host. Nor would such help simplify it. > I implemented parameter smoothing over the entire run() call too when > learning LADSPA. It seemed somewhat naive, but apparently others did > the same... It depends on how you expect your plugin to be used. In many cases you will have a fixed and relatively small period size, and then smoothing over one run call will work perfectly. But it's worth considering that plugins can be used for off-line processing as well, as Tim has pointed out. -- FA Follie! Follie! Delirio vano รจ questo ! _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-dev
