Subject: Re: [linux-audio-dev] extending LADSPA
From: douglas irving repetto (douglas_AT_music.columbia.edu)
Date: Wed Oct 25 2000 - 18:09:03 EEST
Paul Barton-Davis wrote:
> an excellent observation. this leads me to think that we have 2
> choices: we can identify a number of operations where plugins are just
> not appropriate, or we can modify the way plugins are executed to
> allow them to be used even for these operations.
>
> on the list would be:
>
> * cut
> * insert
> * replace
> * reverse
> * fade
* normalize
> these are all basic editing operations, and its hard for me to see the
> justification for using a plugin for any of them. the semantics of
> each operation is well defined (compare and contrast with, say,
> "reverb"), and an editor can do it without resorting to an auxiliary
> piece of code.
i agree that the above are all basic operations, but i also think there
are many more not-so-basic processes that have similar needs, so i don't
think that we can really say that anything not currently possible with
LADSPA should be taken care of by the host. granulation, for example.
algorithmic time-domain reordering. certain types of convolution. these
are processes appropriate for a plugin.
> a consequence of this is that certain kinds of plugins (reverse, time
> compression, etc.) cannot be run in real-time streaming mode. so maybe
> all we really need is a new flag LADSPA flag that indicates this. it
> would indicate that the plugin will accept data for processing, but
> will assume that each execution of run() is "self contained" and the
> data presented is "all there is".
i like that a lot! that's actually what i originally thought was
happening. i wrote a simple fadein plugin and assumed that SampleCount
was the total number of samples, so i just did
gainIncrement = 1/SampleCount
of course what i ended up with was a sawtooth-shaped amplitude
envelope...
off the top of my head i can't think of any cases that wouldn't work
with such a flag. for reverse, you just take the data pointer, add
SampleCount to it and start reading backwards through the data...
douglas
This archive was generated by hypermail 2b28 : Wed Oct 25 2000 - 18:58:24 EEST