Re: [linux-audio-dev] extending LADSPA

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

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


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

This archive was generated by hypermail 2b28 : Wed Oct 25 2000 - 18:58:24 EEST