diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 36e05e2f3e..ec8b6e14cc 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3097,9 +3097,9 @@ Session::new_route_from_template (uint32_t how_many, XMLNode& node, const std::s bool rename_playlist; switch (pd) { case NewPlaylist: - case CopyPlaylist: rename_playlist = true; break; + case CopyPlaylist: case SharePlaylist: rename_playlist = false; } @@ -3142,6 +3142,21 @@ Session::new_route_from_template (uint32_t how_many, XMLNode& node, const std::s route->set_remote_control_id (control_id); ++control_id; + boost::shared_ptr track; + + if ((track = boost::dynamic_pointer_cast (route))) { + switch (pd) { + case NewPlaylist: + track->use_new_playlist (); + break; + case CopyPlaylist: + track->use_copy_playlist (); + break; + case SharePlaylist: + break; + } + }; + ret.push_back (route); RouteAddedOrRemoved (true); /* EMIT SIGNAL */