X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic.cc;h=0226eb7af1ac32e69217959bde0e491d27dd4ff5;hb=cde563eea0cc9291f2c5eb5205a23723cce010f3;hp=ca45963f440a90b52cf0dd4b4c330501436a2b99;hpb=a5f481aae19a6ef5b0cad48edaea5b58fc00ee05;p=dcpomatic.git
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index ca45963f4..0226eb7af 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -799,7 +799,7 @@ private:
a long time, and crashes/power failures are moderately likely.
*/
_film->write_metadata ();
- _film->make_dcp (true);
+ _film->make_dcp (TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
} catch (BadSettingError& e) {
error_dialog (this, wxString::Format (_("Bad setting for %s."), std_to_wx(e.setting()).data()), std_to_wx(e.what()));
} catch (std::exception& e) {
@@ -933,7 +933,7 @@ private:
_("You are making a DKDM which is encrypted by a private key held in"
"\n\n%s\n\nIt is VITALLY IMPORTANT "
"that you BACK UP THIS FILE since if it is lost "
- "your DKDMs (and the DCPs they protect) will become useless."), std_to_wx(Config::config_file().string()).data()
+ "your DKDMs (and the DCPs they protect) will become useless."), std_to_wx(Config::config_read_file().string()).data()
)
);
@@ -993,7 +993,7 @@ private:
}
}
- auto job = make_shared(_film);
+ auto job = make_shared(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
job->set_encoder (
make_shared (
_film, job, d->path(), d->format(), d->mixdown_to_stereo(), d->split_reels(), d->split_streams(), d->x264_crf())
@@ -1008,7 +1008,7 @@ private:
{
auto d = new ExportSubtitlesDialog (this, _film->reels().size(), _film->interop());
if (d->ShowModal() == wxID_OK) {
- auto job = make_shared(_film);
+ auto job = make_shared(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
job->set_encoder (
make_shared(_film, job, d->path(), _film->isdcf_name(true), d->split_reels(), d->include_font())
);
@@ -1101,8 +1101,17 @@ private:
body += i.first + "\n" + i.second + "\n\n";
}
list to = { "carl@dcpomatic.com" };
- Emailer emailer (d->email(), to, "DCP-o-matic translations", body);
- emailer.send ("main.carlh.net", 2525, EmailProtocol::STARTTLS);
+ if (d->email().find("@") == string::npos) {
+ error_dialog (this, _("You must enter a valid email address when sending translations, "
+ "otherwise the DCP-o-matic maintainers cannot credit you or contact you with questions."));
+ } else {
+ Emailer emailer (d->email(), to, "DCP-o-matic translations", body);
+ try {
+ emailer.send ("main.carlh.net", 2525, EmailProtocol::STARTTLS);
+ } catch (NetworkError& e) {
+ error_dialog (this, _("Could not send translations"), std_to_wx(e.what()));
+ }
+ }
}
d->Destroy ();
@@ -1798,7 +1807,7 @@ private:
switch (reason) {
case Config::BAD_SIGNER_UTF8_STRINGS:
{
- if (config->nagged(Config::NAG_BAD_SIGNER_CHAIN)) {
+ if (config->nagged(Config::NAG_BAD_SIGNER_CHAIN_UTF8)) {
return false;
}
auto d = new RecreateChainDialog (
@@ -1807,7 +1816,24 @@ private:
"which will prevent DCPs from being validated correctly on some systems. Do you want to re-create\n"
"the certificate chain for signing DCPs and KDMs?"),
_("Do nothing"),
- Config::NAG_BAD_SIGNER_CHAIN
+ Config::NAG_BAD_SIGNER_CHAIN_UTF8
+ );
+ int const r = d->ShowModal ();
+ d->Destroy ();
+ return r == wxID_OK;
+ }
+ case Config::BAD_SIGNER_VALIDITY_TOO_LONG:
+ {
+ if (config->nagged(Config::NAG_BAD_SIGNER_CHAIN_VALIDITY)) {
+ return false;
+ }
+ auto d = new RecreateChainDialog (
+ _frame, _("Recreate signing certificates"),
+ _("The certificate chain that DCP-o-matic uses for signing DCPs and KDMs has a validity period\n"
+ "that is too long. This will cause problems playing back DCPs on some systems.\n"
+ "Do you want to re-create the certificate chain for signing DCPs and KDMs?"),
+ _("Do nothing"),
+ Config::NAG_BAD_SIGNER_CHAIN_VALIDITY
);
int const r = d->ShowModal ();
d->Destroy ();