summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-07-27 17:27:49 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:53 -0400
commit5c0ce7311a25fb7f0346c545ec992ff8daf54b10 (patch)
treea4375f4b78a14e1eb1f76b24f4184ad2edcae4e9 /libs/ardour/session_transport.cc
parent9d423bb12cca7303bd95111679664536f83d2327 (diff)
reset DiskReader "no disk output" flag in a couple of exceptional cases
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index ca60796947..07369fff67 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -41,6 +41,7 @@
#include "ardour/butler.h"
#include "ardour/click.h"
#include "ardour/debug.h"
+#include "ardour/disk_reader.h"
#include "ardour/location.h"
#include "ardour/profile.h"
#include "ardour/scene_changer.h"
@@ -1831,6 +1832,12 @@ Session::use_sync_source (Slave* new_slave)
delete _slave;
_slave = new_slave;
+
+ /* slave change, reset any DiskIO block on disk output because it is no
+ longer valid with a new slave.
+ */
+ DiskReader::set_no_disk_output (false);
+
MTC_Slave* mtc_slave = dynamic_cast<MTC_Slave*>(_slave);
if (mtc_slave) {
mtc_slave->ActiveChanged.connect_same_thread (mtc_status_connection, boost::bind (&Session::mtc_status_changed, this, _1));