diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index 89af474b45..ad7e21187d 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -1141,6 +1141,7 @@ IO::set_name (const string& requested_name) for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) { string current_name = i->name(); + assert (current_name.find (_name) != std::string::npos); current_name.replace (current_name.find (_name), _name.val().length(), name); i->set_name (current_name); } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index a30b460208..488ae0f4db 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3167,7 +3167,6 @@ Route::set_processor_state (const XMLNode& node, int version) _triggerbox->set_owner (this); } _triggerbox->set_state (**niter, version); - _triggerbox->update_sidechain_name (); new_order.push_back (_triggerbox); } else { diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index 025f6f8013..e363412ebf 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -3223,7 +3223,11 @@ TriggerBox::set_state (const XMLNode& node, int version) if (scnode) { add_midi_sidechain (); assert (_sidechain); - _sidechain->set_state (*scnode, version); + if (!regenerate_xml_or_string_ids ()) { + _sidechain->set_state (*scnode, version); + } else { + update_sidechain_name (); + } } return 0;