[LAD] ANN: convoLV2 0.2

David Robillard d at drobilla.net
Sat Oct 20 23:47:09 UTC 2012

On Sat, 2012-10-20 at 09:54 +0200, hermann meyer wrote:
> Am 20.10.2012 06:14, schrieb David Robillard:
> > convoLV2 is an LV2 plugin to convolve audio signals without additional
> > latency.
> >
> > https://github.com/x42/convoLV2
> > https://github.com/x42/convoLV2/tarball/v0.2
> >
> > convoLV2 is in an early stage of development and is not yet suitable for
> > users.  However, it serves as a working example of an LV2 plugin with
> > block length restrictions, in this case:
> >
> >   * Maximum block length must be passed as an instantiate option
> >   * Block length must always be a power of 2 (a required feature)
> >
> > See the links in the README and on the github page for details about
> > these features.  The first should be trivial to implement in any host,
> > which is highly recommended.  The second may be difficult or impossible,
> > though it is trivial in hosts that run plugins directly on the Jack
> > cycle[1] or process files with fixed parameters.
> >
> > This plugin is intended to provide latency-free synchronous convolution,
> > which inherently requires these restrictions.  It does not, and will not
> > ever, do latent audio buffering in the plugin itself (though a generic
> > wrapper to do so is a good idea...)
> >
> > This release is known to work in Jalv 1.2.0.  If you're feeling
> > adventurous and remove the power of 2 feature requirement from the data,
> > it will also work in Ardour3.  Sometimes.  Maybe.
> >
> > convoLV2 is jointly developed by Robin Gareus (who wrote the entire
> > plugin before LV2 could properly support it) and David Robillard (who
> > invented/implemented the missing LV2 pieces).
> >
> > We hope that convoLV2 will eventually be as fully-featured as IR.lv2
> > without resorting to kludges that violate the LV2 specification.
> Could you provide a bit more info about why and how IR.lv2 violate the 
> LV2 specifications,

Mainly two things, both mentioned on its page:

State is saved by abusing control ports to encode a hash which is used
to look up data saved in a special location on the file system unknown
by the host.

One version's control ports may not actually be changed except at
specific times (described as not being "automatable" in Ardour).  The
other is latent to avoid this (not a spec violation, but a non-latent
plugin would of course be nice).

It also requires the custom GUI to work, and that GUI violates host-UI
separation so it does not work in hosts with a split there.  This is not
a violation either, but it's certainly not good.

> and (for a non-native english speaker) what is mean by  "kludges"?

It means an ugly workaround.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20121020/f0a74927/attachment.pgp>

More information about the Linux-audio-dev mailing list