X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic.cc;h=330935ba280227d4959ff0a78cfc21282da9a957;hb=14f5424e2bd0f933965901f18b5b1673993e0045;hp=a97e12b6952f51f2dc00a28518ce678b5cc3c4b5;hpb=a5c629cb9b638b67a0e4c2d26fe9ab2e124bf0eb;p=dcpomatic.git diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index a97e12b69..330935ba2 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -45,6 +45,7 @@ #include "wx/export_dialog.h" #include "wx/paste_dialog.h" #include "wx/focus_manager.h" +#include "wx/initial_setup_dialog.h" #include "lib/film.h" #include "lib/config.h" #include "lib/util.h" @@ -71,6 +72,7 @@ #include "lib/transcode_job.h" #include "lib/dkdm_wrapper.h" #include "lib/audio_content.h" +#include "lib/check_content_change_job.h" #include "lib/text_content.h" #include #include @@ -414,6 +416,8 @@ public: } set_film (film); + + JobManager::instance()->add(shared_ptr(new CheckContentChangeJob(film))); } catch (std::exception& e) { wxString p = std_to_wx (file.string ()); @@ -434,7 +438,7 @@ public: if (_film->directory()) { Config::instance()->add_to_history (_film->directory().get()); } - _film->Changed.connect (boost::bind (&DOMFrame::set_menu_sensitivity, this)); + _film->Change.connect (boost::bind (&DOMFrame::film_change, this, _1)); } shared_ptr film () const { @@ -443,6 +447,13 @@ public: private: + void film_change (ChangeType type) + { + if (type == CHANGE_TYPE_DONE) { + set_menu_sensitivity (); + } + } + void file_changed (boost::filesystem::path f) { string s = wx_to_std (_("DCP-o-matic")); @@ -636,7 +647,7 @@ private: } } - if (!get_hints(_film).empty() && Config::instance()->show_hints_before_make_dcp()) { + if (Config::instance()->show_hints_before_make_dcp()) { HintsDialog* hints = new HintsDialog (this, _film, false); int const r = hints->ShowModal(); hints->Destroy (); @@ -735,7 +746,7 @@ private: return; } - if (!get_hints(_film).empty() && Config::instance()->show_hints_before_make_dcp()) { + if (Config::instance()->show_hints_before_make_dcp()) { HintsDialog* hints = new HintsDialog (this, _film, false); int const r = hints->ShowModal(); hints->Destroy (); @@ -824,7 +835,11 @@ private: ExportDialog* d = new ExportDialog (this); if (d->ShowModal() == wxID_OK) { shared_ptr job (new TranscodeJob (_film)); - job->set_encoder (shared_ptr (new FFmpegEncoder (_film, job, d->path(), d->format(), d->mixdown_to_stereo()))); + job->set_encoder ( + shared_ptr ( + new FFmpegEncoder (_film, job, d->path(), d->format(), d->mixdown_to_stereo(), d->split_reels(), d->x264_crf()) + ) + ); JobManager::instance()->add (job); } d->Destroy (); @@ -1384,6 +1399,14 @@ private: if (splash) { splash->Destroy (); } + + if (!Config::instance()->nagged(Config::NAG_INITIAL_SETUP)) { + InitialSetupDialog* d = new InitialSetupDialog (); + d->ShowModal (); + d->Destroy (); + Config::instance()->set_nagged(Config::NAG_INITIAL_SETUP, true); + } + _frame->Show (); if (!_film_to_load.empty() && boost::filesystem::is_directory (_film_to_load)) {