X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_batch.cc;h=6e054edf8d8921b2b3793bfe4dcebe398f7d514a;hb=790db8faab093231664c402fcc33b0b96687e222;hp=d3aa2500b6fe22965c206e8dae2406df308059b0;hpb=b915348a8288d68e2ff114fb3dd89ad22e699969;p=dcpomatic.git diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc index d3aa2500b..6e054edf8 100644 --- a/src/tools/dcpomatic_batch.cc +++ b/src/tools/dcpomatic_batch.cc @@ -32,15 +32,19 @@ #include "lib/film.h" #include "lib/job.h" #include "lib/job_manager.h" +#include "lib/make_dcp.h" #include "lib/transcode_job.h" #include "lib/util.h" #include "lib/version.h" +#include +LIBDCP_DISABLE_WARNINGS #include #include #include #include #include #include +LIBDCP_ENABLE_WARNINGS #include #include @@ -211,7 +215,7 @@ public: } } - film->make_dcp (TranscodeJob::ChangedBehaviour::STOP); + make_dcp (film, TranscodeJob::ChangedBehaviour::STOP); } catch (std::exception& e) { auto p = std_to_wx (path.string ()); auto b = p.ToUTF8 (); @@ -397,7 +401,7 @@ class App : public wxApp SetAppName (_("DCP-o-matic Batch Converter")); is_batch_converter = true; - Config::FailedToLoad.connect (boost::bind(&App::config_failed_to_load, this)); + Config::FailedToLoad.connect(boost::bind(&App::config_failed_to_load, this, _1)); Config::Warning.connect (boost::bind(&App::config_warning, this, _1)); auto splash = maybe_show_splash (); @@ -438,8 +442,12 @@ class App : public wxApp } _frame->Show (); - auto server = new JobServer (_frame); - new thread (boost::bind (&JobServer::run, server)); + try { + auto server = new JobServer (_frame); + new thread (boost::bind (&JobServer::run, server)); + } catch (boost::system::system_error& e) { + error_dialog(_frame, _("Could not listen for new batch jobs. Perhaps another instance of the DCP-o-matic Batch Converter is running.")); + } signal_manager = new wxSignalManager (this); this->Bind (wxEVT_IDLE, boost::bind (&App::idle, this)); @@ -450,7 +458,7 @@ class App : public wxApp try { film = make_shared(i); film->read_metadata (); - film->make_dcp (TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP); + make_dcp (film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP); } catch (exception& e) { error_dialog ( 0, @@ -484,9 +492,9 @@ class App : public wxApp return true; } - void config_failed_to_load () + void config_failed_to_load(Config::LoadFailure what) { - message_dialog (_frame, _("The existing configuration failed to load. Default values will be used instead. These may take a short time to create.")); + report_config_load_failure(_frame, what); } void config_warning (string m)