summaryrefslogtreecommitdiff
path: root/src/lib/job.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-09-02 11:20:24 +0100
committerCarl Hetherington <cth@carlh.net>2015-09-14 10:20:41 +0100
commitd2bd0c628fd0616fe3b7dd02bd955b2c07ab48d5 (patch)
treee974870e7e4b6014520b461a19a7b336eb7617a3 /src/lib/job.cc
parentc138f4050bffbdc97edca8a824297f155dc62da3 (diff)
Add option to analyse audio automatically when content is added (#673).
Diffstat (limited to 'src/lib/job.cc')
-rw-r--r--src/lib/job.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/job.cc b/src/lib/job.cc
index 784defc91..37bf462fc 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -39,6 +39,7 @@ using std::list;
using std::cout;
using boost::shared_ptr;
using boost::optional;
+using boost::function;
#define LOG_ERROR_NC(...) _film->log()->log (__VA_ARGS__, Log::TYPE_ERROR);
@@ -434,3 +435,15 @@ Job::resume ()
_pause_changed.notify_all ();
}
}
+
+void
+Job::when_finished (boost::signals2::connection& connection, function<void()> finished)
+{
+ boost::mutex::scoped_lock lm (_state_mutex);
+ if (_state == FINISHED_OK || _state == FINISHED_ERROR || _state == FINISHED_CANCELLED) {
+ finished ();
+ } else {
+ connection = Finished.connect (finished);
+ }
+}
+