[ardour-dev] Re: Ardour plugin bug
Jan Depner
eviltwin69 at cableone.net
Sun May 16 08:07:06 PDT 2004
Paul,
That fixed it! Thanks.
Jan
On Sat, 2004-05-15 at 23:48, Paul Davis wrote:
> >trouble with GVerb - go figure. I recompiled with --disable-optimize
> >and ran valgrind. Attached is the dump. Gotta go play music now. I'll
> >check back in the morning. Oh, BTW, I am sure glad I went ahead and
> >reloaded. Everything is much easier to deal with now.
>
> great... the valgrind trace wasn't much use but your msg prompted me
> to figure out the problem.
>
> the code to store/load presets pays no attention to the existence of
> *output* ports on a plugin. SC4 has two of them. they are not
> represented in the GUI by the usual widgets, and of course, its
> conceptually wrong for the preset to store the values.
>
> i fixed it so that the presets from now on will not contain output
> parameter values, *and* loading presets that do will just ignore them.
>
> i include a diff below so you can confirm this without a total recompile:
>
> --p
>
> Index: ladspa_plugin.cc
> ===================================================================
> RCS file: /home/las/cvsroot/ardour/ardour/libs/ardour/ladspa_plugin.cc,v
> retrieving revision 1.54
> diff -u -u -r1.54 ladspa_plugin.cc
> --- ladspa_plugin.cc 9 May 2004 03:47:15 -0000 1.54
> +++ ladspa_plugin.cc 16 May 2004 04:47:14 -0000
> @@ -389,7 +389,9 @@
>
> if (defs) {
> for (int i = 0; i < defs->count; ++i) {
> - set_parameter(defs->items[i].pid, defs->items[i].value);
> + if (parameter_is_input (defs->items[i].pid)) {
> + set_parameter(defs->items[i].pid, defs->items[i].value);
> + }
> }
> lrdf_free_setting_values(defs);
> }
> @@ -568,8 +570,10 @@
> defaults.items = portvalues;
>
> for (unsigned int i = 0; i < parameter_count(); ++i) {
> - portvalues[i].pid = i;
> - portvalues[i].value = get_parameter(i);
> + if (parameter_is_input (i)) {
> + portvalues[i].pid = i;
> + portvalues[i].value = get_parameter(i);
> + }
> }
>
> char* envvar;
More information about the Ardour-Dev
mailing list