diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-12-13 16:52:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-12-13 16:52:33 +0000 |
commit | 88d49cdb5734632ada27d2de018533ecd13ac31e (patch) | |
tree | 73af68bc87738020aef6b37b2de22d6c0615b147 /libs/ardour/track.cc | |
parent | 9f897d097a72601b9a032c0474422d40d6c415f5 (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.cc | 18 |
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 |