From 88d49cdb5734632ada27d2de018533ecd13ac31e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 13 Dec 2011 16:52:33 +0000 Subject: fix up mess with unassigned Playlist::orig_track_id git-svn-id: svn://localhost/ardour2/branches/3.0@10998 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/track.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'libs/ardour/track.cc') 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 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 p) { - return _diskstream->use_playlist (p); + int ret = _diskstream->use_playlist (p); + if (ret == 0) { + p->set_orig_track_id (id()); + } + return ret; } int -- cgit v1.2.3