summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-14 16:01:24 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-14 16:01:24 -0500
commit108634c3f31e3dcad01ab12a58a20fa5be65c9dc (patch)
tree63701dddafe744ae07cf69c6455ba5f75f65dac3 /libs/ardour/session.cc
parenta84d4c0609e915e5e34114bbee99a51b3efcfe2e (diff)
get PlaylistDisposition argument of Session::new_route_from_template() working
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc17
1 files changed, 16 insertions, 1 deletions
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> track;
+
+ if ((track = boost::dynamic_pointer_cast<Track> (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 */