Update names of sidechains.
[ardour.git] / libs / ardour / plugin_insert.cc
index d5056e725990b996befa4e8ae2ae491675561b10..4fc97fb0c816ab0bcafaa9d7de0b82cead81b708 100644 (file)
@@ -206,10 +206,12 @@ PluginInsert::add_sidechain (uint32_t n_audio, uint32_t n_midi)
                return false;
        }
        std::ostringstream n;
-       if (n_audio > 0 || n_midi > 0) {
-               n << "Sidechain " << Session::next_name_id ();
-       } else {
+       if (n_audio == 0 && n_midi == 0) {
                n << "TO BE RESET FROM XML";
+       } else if (owner()) {
+               n << "SC " << owner()->name() << "/" << name() << " " << Session::next_name_id ();
+       } else {
+               n << "tobeRenamed";
        }
        SideChain *sc = new SideChain (_session, n.str ());
        _sidechain = boost::shared_ptr<SideChain> (sc);
@@ -237,6 +239,25 @@ PluginInsert::del_sidechain ()
        return true;
 }
 
+void
+PluginInsert::update_sidechain_name ()
+{
+       if (!_sidechain) {
+               return;
+       }
+
+       std::ostringstream n;
+
+       n << "SC ";
+       if (owner()) {
+               n << owner()->name() << "/";
+       }
+
+       n << name() << " " << Session::next_name_id ();
+
+       _sidechain->set_name (n.str());
+}
+
 void
 PluginInsert::control_list_automation_state_changed (Evoral::Parameter which, AutoState s)
 {