summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-12-13 16:52:33 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-12-13 16:52:33 +0000
commit88d49cdb5734632ada27d2de018533ecd13ac31e (patch)
tree73af68bc87738020aef6b37b2de22d6c0615b147 /libs/ardour/track.cc
parent9f897d097a72601b9a032c0474422d40d6c415f5 (diff)
fix up mess with unassigned Playlist::orig_track_id
git-svn-id: svn://localhost/ardour2/branches/3.0@10998 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r--libs/ardour/track.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index b17b8f523f..4ae75da54d 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -67,6 +67,18 @@ Track::init ()
return 0;
}
+void
+Track::use_new_diskstream ()
+{
+ boost::shared_ptr<Diskstream> ds = create_diskstream ();
+
+ ds->do_refill_with_alloc ();
+ ds->set_block_size (_session.get_block_size ());
+ ds->playlist()->set_orig_track_id (id());
+
+ set_diskstream (ds);
+}
+
XMLNode&
Track::get_state ()
{
@@ -692,7 +704,11 @@ Track::playlist_modified ()
int
Track::use_playlist (boost::shared_ptr<Playlist> p)
{
- return _diskstream->use_playlist (p);
+ int ret = _diskstream->use_playlist (p);
+ if (ret == 0) {
+ p->set_orig_track_id (id());
+ }
+ return ret;
}
int