X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_player.cc;h=473cc6d8bd7f17e696c5e89d30afd2e070863041;hb=264583479e79b481251f1772b228f82cd77552d3;hp=db9463fe23b97b360a2fcebaa8a0b25579900ad7;hpb=f1f1a0dab1329e75a9718a417d640966763b9e7d;p=dcpomatic.git diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index db9463fe2..473cc6d8b 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -48,6 +48,7 @@ #include "lib/dcpomatic_socket.h" #include "lib/scoped_temporary.h" #include "lib/monitor_checker.h" +#include "lib/lock_file_checker.h" #include "lib/ffmpeg_content.h" #include #include @@ -206,6 +207,8 @@ public: #ifdef DCPOMATIC_VARIANT_SWAROOP MonitorChecker::instance()->StateChanged.connect(boost::bind(&DOMFrame::monitor_checker_state_changed, this)); MonitorChecker::instance()->run (); + LockFileChecker::instance()->StateChanged.connect(boost::bind(&DOMFrame::lock_checker_state_changed, this)); + LockFileChecker::instance()->run (); #endif setup_screen (); @@ -248,8 +251,16 @@ public: void monitor_checker_state_changed () { if (!MonitorChecker::instance()->ok()) { + _viewer->stop (); error_dialog (this, _("The required display devices are not connected correctly.")); + } + } + + void lock_checker_state_changed () + { + if (!LockFileChecker::instance()->ok()) { _viewer->stop (); + error_dialog (this, _("The lock file is not present.")); } } #endif @@ -273,6 +284,10 @@ public: error_dialog (this, _("The required display devices are not connected correctly.")); return false; } + if (!LockFileChecker::instance()->ok()) { + error_dialog (this, _("The lock file is not present.")); + return false; + } #endif if (!_film || !Config::instance()->respect_kdm_validity_periods()) { return true;