X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fkdm_dialog.cc;h=f59250750bc590734c13efc4e93b11cfb3d30ee4;hb=9c1bb2e5ca7c80c4e26b1b2e41159aa171360a94;hp=5679cf0cb14c2822338d4a78d62e03574b8e9984;hpb=e4d7f575fab50b6d255821d6d6a8171c8e1f13f6;p=dcpomatic.git diff --git a/src/wx/kdm_dialog.cc b/src/wx/kdm_dialog.cc index 5679cf0cb..f59250750 100644 --- a/src/wx/kdm_dialog.cc +++ b/src/wx/kdm_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington This file is part of DCP-o-matic. @@ -25,6 +25,7 @@ #include "kdm_output_panel.h" #include "kdm_cpl_panel.h" #include "confirm_kdm_email_dialog.h" +#include "static_text.h" #include "lib/film.h" #include "lib/screen.h" #include "lib/screen_kdm.h" @@ -47,6 +48,7 @@ using std::pair; using std::cout; using std::vector; using std::make_pair; +using std::runtime_error; using boost::shared_ptr; using boost::bind; @@ -67,7 +69,7 @@ KDMDialog::KDMDialog (wxWindow* parent, shared_ptr film) subheading_font.SetWeight (wxFONTWEIGHT_BOLD); /* Sub-heading: Screens */ - wxStaticText* h = new wxStaticText (this, wxID_ANY, _("Screens")); + wxStaticText* h = new StaticText (this, _("Screens")); h->SetFont (subheading_font); left->Add (h, 0, wxALIGN_CENTER_VERTICAL | wxBOTTOM, DCPOMATIC_SIZER_Y_GAP); _screens = new ScreensPanel (this); @@ -75,21 +77,21 @@ KDMDialog::KDMDialog (wxWindow* parent, shared_ptr film) /* Sub-heading: Timing */ /// TRANSLATORS: translate the word "Timing" here; do not include the "KDM|" prefix - h = new wxStaticText (this, wxID_ANY, S_("KDM|Timing")); + h = new StaticText (this, S_("KDM|Timing")); h->SetFont (subheading_font); right->Add (h, 0, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP * 2); _timing = new KDMTimingPanel (this); right->Add (_timing); /* Sub-heading: CPL */ - h = new wxStaticText (this, wxID_ANY, _("CPL")); + h = new StaticText (this, _("CPL")); h->SetFont (subheading_font); right->Add (h, 0, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP * 2); _cpl = new KDMCPLPanel (this, film->cpls ()); right->Add (_cpl, 0, wxEXPAND); /* Sub-heading: Output */ - h = new wxStaticText (this, wxID_ANY, _("Output")); + h = new StaticText (this, _("Output")); h->SetFont (subheading_font); right->Add (h, 0, wxALIGN_CENTER_VERTICAL | wxTOP, DCPOMATIC_SIZER_Y_GAP * 2); _output = new KDMOutputPanel (this, film->interop ()); @@ -139,11 +141,20 @@ KDMDialog::make_clicked () shared_ptr film = _film.lock (); DCPOMATIC_ASSERT (film); - list screen_kdms = film->make_kdms ( - _screens->screens(), _cpl->cpl(), _timing->from(), _timing->until(), _output->formulation() - ); + list screen_kdms; + try { + + screen_kdms = film->make_kdms ( + _screens->screens(), _cpl->cpl(), _timing->from(), _timing->until(), _output->formulation(), + !_output->forensic_mark_video(), _output->forensic_mark_audio() ? boost::optional() : 0 + ); + + } catch (runtime_error& e) { + error_dialog (this, std_to_wx(e.what())); + return; + } - pair, int> result = _output->make (screen_kdms, film->name(), _timing, bind (&KDMDialog::confirm_overwrite, this, _1), film->log()); + pair, int> result = _output->make (screen_kdms, film->name(), _timing, bind (&KDMDialog::confirm_overwrite, this, _1)); if (result.first) { JobManager::instance()->add (result.first); }