From a7ad0cdff67faffc6bdaef21c100d4ef4016e406 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 30 May 2021 20:58:31 +0200 Subject: Allow annotation text to be set when combining DCPs. --- src/lib/combine_dcp_job.cc | 13 +++++++++++-- src/lib/combine_dcp_job.h | 3 ++- src/tools/dcpomatic_combiner.cc | 11 +++++++++-- 3 files changed, 22 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/lib/combine_dcp_job.cc b/src/lib/combine_dcp_job.cc index 3497d4b72..ae6d8b289 100644 --- a/src/lib/combine_dcp_job.cc +++ b/src/lib/combine_dcp_job.cc @@ -20,6 +20,7 @@ #include "combine_dcp_job.h" +#include "compose.hpp" #include #include @@ -31,10 +32,11 @@ using std::vector; using std::shared_ptr; -CombineDCPJob::CombineDCPJob (vector inputs, boost::filesystem::path output) +CombineDCPJob::CombineDCPJob (vector inputs, boost::filesystem::path output, string annotation_text) : Job (shared_ptr()) , _inputs (inputs) , _output (output) + , _annotation_text (annotation_text) { } @@ -58,7 +60,14 @@ void CombineDCPJob::run () { try { - dcp::combine (_inputs, _output); + dcp::combine ( + _inputs, + _output, + String::compose("libdcp %1", dcp::version), + String::compose("libdcp %1", dcp::version), + dcp::LocalTime().as_string(), + _annotation_text + ); } catch (dcp::CombineError& e) { set_state (FINISHED_ERROR); set_error (e.what(), ""); diff --git a/src/lib/combine_dcp_job.h b/src/lib/combine_dcp_job.h index 97bf20110..4a7e02b8b 100644 --- a/src/lib/combine_dcp_job.h +++ b/src/lib/combine_dcp_job.h @@ -26,7 +26,7 @@ class CombineDCPJob : public Job { public: - CombineDCPJob (std::vector inputs, boost::filesystem::path output); + CombineDCPJob (std::vector inputs, boost::filesystem::path output, std::string annotation_text); std::string name () const; std::string json_name () const; @@ -35,5 +35,6 @@ public: private: std::vector _inputs; boost::filesystem::path _output; + std::string _annotation_text; }; diff --git a/src/tools/dcpomatic_combiner.cc b/src/tools/dcpomatic_combiner.cc index 566ec82f1..4a783d634 100644 --- a/src/tools/dcpomatic_combiner.cc +++ b/src/tools/dcpomatic_combiner.cc @@ -104,7 +104,13 @@ public: true ); - auto output = new wxBoxSizer (wxHORIZONTAL); + auto output = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); + output->AddGrowableCol (1, 1); + + add_label_to_sizer (output, overall_panel, _("Annotation text"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTRE_VERTICAL); + _annotation_text = new wxTextCtrl (overall_panel, wxID_ANY, wxT("")); + output->Add (_annotation_text, 1, wxEXPAND); + add_label_to_sizer (output, overall_panel, _("Output DCP folder"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTRE_VERTICAL); _output = new DirPickerCtrl (overall_panel); output->Add (_output, 1, wxEXPAND); @@ -162,7 +168,7 @@ private: } auto jm = JobManager::instance (); - jm->add (make_shared(_inputs, output)); + jm->add (make_shared(_inputs, output, wx_to_std(_annotation_text->GetValue()))); bool const ok = display_progress (_("DCP-o-matic Combine"), _("Combining DCPs")); if (!ok) { return; @@ -189,6 +195,7 @@ private: } EditableList* _input; + wxTextCtrl* _annotation_text = nullptr; DirPickerCtrl* _output; vector _inputs; Button* _combine; -- cgit v1.2.3