reset DiskReader "no disk output" flag in a couple of exceptional cases

This commit is contained in:
Paul Davis 2017-07-27 17:27:49 -04:00
parent 9d423bb12c
commit 5c0ce7311a
2 changed files with 8 additions and 0 deletions

View File

@ -529,6 +529,7 @@ Session::reset_slave_state ()
delta_accumulator_cnt = 0;
have_first_delta_accumulator = false;
_slave_state = Stopped;
DiskReader::set_no_disk_output (false);
}
bool

View File

@ -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));