diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic.cc | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index 98501d3bb..f61ef19e2 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -39,6 +39,7 @@ #include "wx/properties_dialog.h" #include "wx/wx_ui_signaller.h" #include "wx/about_dialog.h" +#include "wx/kdm_dialog.h" #include "lib/film.h" #include "lib/config.h" #include "lib/util.h" @@ -47,6 +48,7 @@ #include "lib/log.h" #include "lib/job_manager.h" #include "lib/transcode_job.h" +#include "lib/exceptions.h" using std::cout; using std::string; @@ -167,6 +169,7 @@ enum { ID_file_save, ID_file_properties, ID_jobs_make_dcp, + ID_jobs_make_kdms, ID_jobs_send_dcp_to_tms, ID_jobs_show_dcp, }; @@ -201,6 +204,7 @@ setup_menu (wxMenuBar* m) jobs_menu = new wxMenu; add_item (jobs_menu, _("&Make DCP"), ID_jobs_make_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION); + add_item (jobs_menu, _("Make &KDMs..."), ID_jobs_make_kdms, NEEDS_FILM); add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION); add_item (jobs_menu, _("S&how DCP"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION); @@ -236,6 +240,7 @@ public: Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_exit, this), wxID_EXIT); Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::edit_preferences, this), wxID_PREFERENCES); Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::jobs_make_dcp, this), ID_jobs_make_dcp); + Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::jobs_make_kdms, this), ID_jobs_make_kdms); Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::jobs_send_dcp_to_tms, this), ID_jobs_send_dcp_to_tms); Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::jobs_show_dcp, this), ID_jobs_show_dcp); Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::help_about, this), wxID_ABOUT); @@ -283,7 +288,7 @@ private: return; } - bool const have_dcp = film && film->have_dcp(); + bool const have_dcp = false;//film && film->have_dcp(); jobs_menu->Enable (ID_jobs_send_dcp_to_tms, have_dcp); jobs_menu->Enable (ID_jobs_show_dcp, have_dcp); } @@ -407,6 +412,29 @@ private: { JobWrapper::make_dcp (this, film); } + + void jobs_make_kdms () + { + if (!film) { + return; + } + + KDMDialog* d = new KDMDialog (this); + if (d->ShowModal () == wxID_OK) { + try { + film->make_kdms ( + d->screens (), + d->from (), + d->until (), + d->directory () + ); + } catch (KDMError& e) { + error_dialog (this, e.what ()); + } + } + + d->Destroy (); + } void jobs_send_dcp_to_tms () { |
