Add --version option to main DCP-o-matic.
[dcpomatic.git] / src / tools / dcpomatic.cc
index e4d2f5c824f033c7fa31d88236bfd37a09870e74..cce7c369be8b9966e563c90ff538392abfcf1130 100644 (file)
@@ -518,9 +518,11 @@ private:
                                        }
                                }
                                wxString message = _("Could not create folder to store film.");
+                               message += "  ";
                                if (!found_bad_chars.empty()) {
-                                       message += "  ";
                                        message += wxString::Format (_("Try removing the %s characters from your folder name."), std_to_wx(found_bad_chars).data());
+                               } else {
+                                       message += _("Please check that you do not have Windows controlled folder access enabled for DCP-o-matic.");
                                }
                                error_dialog (this, message, std_to_wx(e.what()));
 #else
@@ -873,14 +875,19 @@ private:
                                )
                        );
 
+
+               dcp::LocalTime from (Config::instance()->decryption_chain()->leaf().not_before());
+               from.add_months (1);
+               dcp::LocalTime to (Config::instance()->decryption_chain()->leaf().not_after());
+               to.add_months (-1);
+
                optional<dcp::EncryptedKDM> kdm;
                try {
                        kdm = _film->make_kdm (
                                Config::instance()->decryption_chain()->leaf(),
                                vector<string>(),
                                d->cpl (),
-                               dcp::LocalTime ("2012-01-01T01:00:00+00:00"),
-                               dcp::LocalTime ("2112-01-01T01:00:00+00:00"),
+                               from, to,
                                dcp::MODIFIED_TRANSITIONAL_1,
                                true,
                                0
@@ -911,6 +918,18 @@ private:
        {
                ExportDialog* d = new ExportDialog (this, _film->isdcf_name(true));
                if (d->ShowModal() == wxID_OK) {
+                       if (boost::filesystem::exists(d->path())) {
+                               bool ok = confirm_dialog(
+                                               this,
+                                               wxString::Format (_("File %s already exists.  Do you want to overwrite it?"), std_to_wx(d->path().string()).data())
+                                               );
+
+                               if (!ok) {
+                                       d->Destroy ();
+                                       return;
+                               }
+                       }
+
                        shared_ptr<TranscodeJob> job (new TranscodeJob (_film));
                        if (d->format() == EXPORT_FORMAT_SUBTITLES_DCP) {
                                job->set_encoder (
@@ -1468,6 +1487,7 @@ static const wxCmdLineEntryDesc command_line_description[] = {
        { wxCMD_LINE_SWITCH, "n", "new", "create new film", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_OPTION, "c", "content", "add content file / directory", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_OPTION, "d", "dcp", "add content DCP", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+       { wxCMD_LINE_SWITCH, "v", "version", "show DCP-o-matic version", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_PARAM, 0, 0, "film to load or create", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
 };
@@ -1610,6 +1630,11 @@ private:
 
        bool OnCmdLineParsed (wxCmdLineParser& parser)
        {
+               if (parser.Found (wxT("version"))) {
+                       cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
+                       exit (EXIT_SUCCESS);
+               }
+
                if (parser.GetParamCount() > 0) {
                        if (parser.Found (wxT ("new"))) {
                                _film_to_create = wx_to_std (parser.GetParam (0));