X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic.cc;h=3d4e5121d6fbca1abc61276c008a0e007844a727;hb=64b7c2e30a6adc62c373b9dcc7f39310f10ed994;hp=b6aa2188a3b1230d3b68c8019217ecf73e378096;hpb=bd763364d9c96928f3bd6bd5fe46ebe1a06e6d0a;p=dcpomatic.git diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index b6aa2188a..3d4e5121d 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -71,7 +71,8 @@ #include "lib/transcode_job.h" #include "lib/dkdm_wrapper.h" #include "lib/audio_content.h" -#include "lib/caption_content.h" +#include "lib/check_content_change_job.h" +#include "lib/text_content.h" #include #include #include @@ -414,6 +415,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 +437,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 +446,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")); @@ -567,7 +577,7 @@ private: { DCPOMATIC_ASSERT (_clipboard); - PasteDialog* d = new PasteDialog (this, static_cast(_clipboard->video), static_cast(_clipboard->audio), !_clipboard->caption.empty()); + PasteDialog* d = new PasteDialog (this, static_cast(_clipboard->video), static_cast(_clipboard->audio), !_clipboard->text.empty()); if (d->ShowModal() == wxID_OK) { BOOST_FOREACH (shared_ptr i, _film_editor->content_panel()->selected()) { if (d->video() && i->video) { @@ -579,10 +589,10 @@ private: i->audio->take_settings_from (_clipboard->audio); } - if (d->caption()) { - list >::iterator j = i->caption.begin (); - list >::const_iterator k = _clipboard->caption.begin (); - while (j != i->caption.end() && k != _clipboard->caption.end()) { + if (d->text()) { + list >::iterator j = i->text.begin (); + list >::const_iterator k = _clipboard->text.begin (); + while (j != i->text.end() && k != _clipboard->text.end()) { (*j)->take_settings_from (*k); ++j; ++k; @@ -636,7 +646,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 +745,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 +834,7 @@ 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->x264_crf()))); JobManager::instance()->add (job); } d->Destroy ();