Add plugins (activating them) after doing any latency_compute_run, as otherwise the latency_compute_run deactivates the plugins and an assert trips in LadspaPlugin::run_in_place.
git-svn-id: svn://localhost/ardour2/branches/3.0@9282 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
040e016137
commit
806b94bec1
@ -875,6 +875,23 @@ PluginInsert::set_state(const XMLNode& node, int version)
|
||||
sscanf (prop->value().c_str(), "%u", &count);
|
||||
}
|
||||
|
||||
/* Handle the node list for this Processor (or Insert if an A2 session).
|
||||
* This needs to happen before the add_plugin_with_activation below, as
|
||||
* the plugin set_state calls may themselves call latency_compute_run,
|
||||
* which will leave the plugin deactivated whether it is currently
|
||||
* activated or not.
|
||||
*/
|
||||
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
|
||||
|
||||
if ((*niter)->name() == plugin->state_node_name()) {
|
||||
|
||||
for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
|
||||
(*i)->set_state (**niter, version);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (_plugins.size() != count) {
|
||||
|
||||
add_plugin_with_activation (plugin);
|
||||
@ -889,18 +906,6 @@ PluginInsert::set_state(const XMLNode& node, int version)
|
||||
set_control_ids (node, version);
|
||||
}
|
||||
|
||||
/* Handle the node list for this Processor (or Insert if an A2 session) */
|
||||
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
|
||||
|
||||
if ((*niter)->name() == plugin->state_node_name()) {
|
||||
|
||||
for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
|
||||
(*i)->set_state (**niter, version);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (version < 3000) {
|
||||
|
||||
/* Only 2.X sessions need a call to set_parameter_state() - in 3.X and above
|
||||
|
Loading…
Reference in New Issue
Block a user