[LAD] IR: LV2 Convolution Reverb and ambisonics

Andreas Degert andreas.degert at googlemail.com
Sun May 13 07:48:41 UTC 2012

2012/5/13 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu>:
> On 01/13/2011 10:37 AM, Tom Szilagyi wrote:
>> Hi all,
>> Standing on the shoulders of giants[*], I am pleased to announce the
>> public release of IR, a convolution reverb in the LV2 plugin format.
>> Released as free software under the GNU GPL, this easy to use plugin
>> has been created to open the fascinating world of convolution reverb
>> to Linux-based audio engineers. If you use Ardour to create, mix&
>> produce music, you will most probably want to check out this plugin.
> It is a great addition Tom, I'm packaging it in Planet CCRMA now.
> I'm trying to see what is the best way to convert the plugin so that it can
> deal with first order ambisonics impulse responses. Those are four channels
> wide (ie: four convolutions, one for each of the four incoming channels - W
> X Y Z).
> I managed to get it to work by creating ir-amb.cc, ir-amb_gui.cc, etc, etc.
> And changing your code to have the required number of ports, etc. It does
> work, except that my simple minded rewrite breaks down if I try to
> instantiate a normal IR plugin in addition to the IR-AMB (how I named the
> "new" plugin). In that case the second instance (order does not matter) bugs
> out with:
> (ardour-2.8.12:14284): GLib-GObject-WARNING **: cannot register existing
> type `IRWaveDisplay'
> etc (same for IRModeInd and IRMeter, all the gui classes I did not
> duplicate).

Those classes are registered with the gobject type system. G_DEFINE_TYPE
expands into code defining things like ir_wave_display_get_type(), which
does the registration on first call.

I think you need at least to change the type names in the registration
like this:

G_DEFINE_TYPE(IRWaveDisplayAmb, ir_wavedisplay, GTK_TYPE_DRAWING_AREA);

and replace all IRWaveDisplay with IRWaveDisplayAmp (not tested...).


More information about the Linux-audio-dev mailing list