diff options
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 11 |
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. |