2007/2/18, Jeff McClintock <jef(a)synthedit.com>om>:
>>I
actually don't know how many plugins are LTI, but, for example, a
>>lot of delays, reverbs, choruses, eq. filters, compressors, modulators
>>and "sound mixers" should be, and that's quite enough after all.
Yeah, It's a good optimization. The SynthEdit plugin API supports
inputs being flagged as 'linear', if several such plugins are used in
parallel they are automatically collapsed into a single instance which
is fed the summed signals of the original plugins. Plugin are collapsed
only when their control inputs are the same.
BEFORE optimation:
[plugin]-->[delay1]------>
[plugin]-->[delay2]-/
AFTER:
[plugin]--->[delay1]--->
[plugin]-/
e.g. two parallel 100ms delays are combined. Two different length
delays aren't.
This is most useful in synth patches where each voice is an identical
parallel sub-patch.
Jeff McClintock
After the first 40 mails ( :-P ) I still have the impression that this
is a good thing after all and that it is more time-consuming than hard
to do, so I think that if someone joins me we can do all of this
become reality. So here I'm asking once again: does someone work on
this?
Anyway I'm continuously uploading the code I'm working on to the
FreeADSP SVN repository (naspro folder), so that everyone can see how
things are going and can give suggests and/or make arguments and/or
anything.
Right now I've only set up an autotoolized tree (+ doxygen and texinfo
support), wrote some header files and a good piece of the module
loading part (which still has to be refined obviously).
I say it again in case it is not clear: this will NOT be a new plugin
API, since its aim is completely different, it's all about
interoperability among existing standards and, in some future, about
optimization and experimentation/research of new processing paradigms.
Sincerely,
Stefano