Don't add standard processors twice to routes from 2.X sessions. Fixes #3434.
[ardour.git] / libs / ardour / ladspa_plugin.cc
index 7abcca27189e8aa7214eee657bf115e07880fe24..cc532c61ca151f077a3168e08044c936808b0607 100644 (file)
@@ -178,8 +178,6 @@ LadspaPlugin::default_value (uint32_t port)
                        sr_scaling = true;
                }
 
-               /* FIXME: add support for logarithmic defaults */
-
                else if (LADSPA_IS_HINT_DEFAULT_LOW(prh[port].HintDescriptor)) {
                        if (LADSPA_IS_HINT_LOGARITHMIC(prh[port].HintDescriptor)) {
                                ret = exp(log(prh[port].LowerBound) * 0.75f + log(prh[port].UpperBound) * 0.25f);
@@ -636,6 +634,9 @@ LadspaPlugin::run_in_place (nframes_t nframes)
                        _control_data[i] = _shadow_data[i];
                }
        }
+
+       assert (_was_activated);
+       
        _descriptor->run (_handle, nframes);
 }
 
@@ -693,6 +694,7 @@ LadspaPluginInfo::load (Session& session)
                if ((module = dlopen (path.c_str(), RTLD_NOW)) == 0) {
                        error << string_compose(_("LADSPA: cannot load module from \"%1\""), path) << endmsg;
                        error << dlerror() << endmsg;
+                        return PluginPtr ((Plugin*) 0);
                } else {
                        plugin.reset (new LadspaPlugin (module, session.engine(), session, index, session.frame_rate()));
                }
@@ -705,3 +707,8 @@ LadspaPluginInfo::load (Session& session)
                return PluginPtr ((Plugin*) 0);
        }
 }
+
+LadspaPluginInfo::LadspaPluginInfo()
+{
+       type = ARDOUR::LADSPA;
+}