summaryrefslogtreecommitdiff
path: root/libs/ardour/diskstream.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-12-15 19:40:10 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-12-15 19:40:10 +0000
commit7e845c53ab95f4fd33c8327bf3dff9bdb82a7a18 (patch)
tree21948926eb794efa7bb48111deccb64291899883 /libs/ardour/diskstream.cc
parente80214b71d9e38be55290cb594616a42d1e8c5e7 (diff)
write session file to alternate name before, then rename; auditioner defaults to first 2 physical outputs; engine started before loading session, always; clean up handling off input connections and so forth during startup (faster! a bitcd ..); notice new locates while doing older ones; stop engine at shutdown first, not later
git-svn-id: svn://localhost/ardour2/trunk@1214 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/diskstream.cc')
-rw-r--r--libs/ardour/diskstream.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc
index 62c3fffeb6..420dd20fcb 100644
--- a/libs/ardour/diskstream.cc
+++ b/libs/ardour/diskstream.cc
@@ -332,7 +332,12 @@ Diskstream::use_playlist (boost::shared_ptr<Playlist> playlist)
plgone_connection = _playlist->GoingAway.connect (bind (mem_fun (*this, &Diskstream::playlist_deleted), boost::weak_ptr<Playlist>(_playlist)));
}
- if (!overwrite_queued) {
+ /* don't do this if we've already asked for it *or* if we are setting up
+ the diskstream for the very first time - the input changed handling will
+ take care of the buffer refill.
+ */
+
+ if (!overwrite_queued && !(_session.state_of_the_state() & Session::CannotSave)) {
_session.request_overwrite_buffer (this);
overwrite_queued = true;
}