summaryrefslogtreecommitdiff
path: root/libs/ardour/audiosource.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-09-06 11:49:47 +0200
committerRobin Gareus <robin@gareus.org>2015-09-06 11:49:47 +0200
commitef3a42faed07d51a6485e50662c9e93996042426 (patch)
tree33d88998dd899aa3bbb3e37e2cb073f6a52d57fd /libs/ardour/audiosource.cc
parentf5f11158aa8ae22350b5e0d97fe592ac9d3ee7bd (diff)
terminate peak-file creation on session-close
Diffstat (limited to 'libs/ardour/audiosource.cc')
-rw-r--r--libs/ardour/audiosource.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc
index bfc2d9e4ab..9aea6f1e0e 100644
--- a/libs/ardour/audiosource.cc
+++ b/libs/ardour/audiosource.cc
@@ -56,6 +56,7 @@
#include "ardour/audiosource.h"
#include "ardour/rc_configuration.h"
#include "ardour/runtime_functions.h"
+#include "ardour/session.h"
#include "i18n.h"
@@ -746,6 +747,12 @@ AudioSource::build_peaks_from_scratch ()
lp.release(); // allow butler to refill buffers
+ if (_session.deletion_in_progress()) {
+ cerr << "peak file creation interrupted: " << _name << endmsg;
+ done_with_peakfile_writes (false);
+ goto out;
+ }
+
if (compute_and_write_peaks (buf.get(), current_frame, frames_read, true, false, _FPP)) {
break;
}