summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 29e778e415..e84e8b6d93 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2551,10 +2551,21 @@ Route::set_processor_state (const XMLNode& node)
continue;
}
+#ifndef NO_PLUGIN_STATE
if (processor->set_state (**niter, Stateful::current_state_version) != 0) {
/* This processor could not be configured. Turn it into a UnknownProcessor */
processor.reset (new UnknownProcessor (_session, **niter));
}
+#else
+ if (boost::dynamic_pointer_cast<PluginInsert>(processor)) {
+ if (processor->set_state (**niter, Stateful::current_state_version) != 0) {
+ /* This processor could not be configured. Turn it into a UnknownProcessor */
+ processor.reset (new UnknownProcessor (_session, **niter));
+ }
+ } else {
+ /* plugin, but ::set_state() not * allowed no message here - things will get too verbose */
+ }
+#endif
/* we have to note the monitor send here, otherwise a new one will be created
and the state of this one will be lost.