#include "combine_dcp_job.h"
+#include "compose.hpp"
#include <dcp/combine.h>
#include <dcp/exceptions.h>
using std::shared_ptr;
-CombineDCPJob::CombineDCPJob (vector<boost::filesystem::path> inputs, boost::filesystem::path output)
+CombineDCPJob::CombineDCPJob (vector<boost::filesystem::path> inputs, boost::filesystem::path output, string annotation_text)
: Job (shared_ptr<Film>())
, _inputs (inputs)
, _output (output)
+ , _annotation_text (annotation_text)
{
}
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(), "");
class CombineDCPJob : public Job
{
public:
- CombineDCPJob (std::vector<boost::filesystem::path> inputs, boost::filesystem::path output);
+ CombineDCPJob (std::vector<boost::filesystem::path> inputs, boost::filesystem::path output, std::string annotation_text);
std::string name () const;
std::string json_name () const;
private:
std::vector<boost::filesystem::path> _inputs;
boost::filesystem::path _output;
+ std::string _annotation_text;
};
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);
}
auto jm = JobManager::instance ();
- jm->add (make_shared<CombineDCPJob>(_inputs, output));
+ jm->add (make_shared<CombineDCPJob>(_inputs, output, wx_to_std(_annotation_text->GetValue())));
bool const ok = display_progress (_("DCP-o-matic Combine"), _("Combining DCPs"));
if (!ok) {
return;
}
EditableList<boost::filesystem::path, DirDialogWrapper>* _input;
+ wxTextCtrl* _annotation_text = nullptr;
DirPickerCtrl* _output;
vector<boost::filesystem::path> _inputs;
Button* _combine;