#include "lib/check_content_change_job.h"
#include "lib/text_content.h"
#include "lib/dcpomatic_log.h"
+#include "lib/subtitle_encoder.h"
#include <dcp/exceptions.h>
#include <dcp/raw_convert.h>
#include <wx/generic/aboutdlgg.h>
} catch (boost::filesystem::filesystem_error& e) {
#ifdef DCPOMATIC_WINDOWS
string bad_chars = "<>:\"/|?*";
- string const filename = d->path().string();
+ string const filename = d->path().filename().string();
string found_bad_chars;
for (size_t i = 0; i < bad_chars.length(); ++i) {
if (filename.find(bad_chars[i]) != string::npos && found_bad_chars.find(bad_chars[i]) == string::npos) {
}
}
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
start (wx_to_std (wxStandardPaths::Get().GetExecutablePath()));
}
- dcpomatic_sleep (1);
+ dcpomatic_sleep_seconds (1);
}
return true;
)
);
+
+ 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
{
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));
- job->set_encoder (
- shared_ptr<FFmpegEncoder> (
- new FFmpegEncoder (_film, job, d->path(), d->format(), d->mixdown_to_stereo(), d->split_reels(), d->x264_crf()
+ if (d->format() == EXPORT_FORMAT_SUBTITLES_DCP) {
+ job->set_encoder (
+ shared_ptr<SubtitleEncoder>(new SubtitleEncoder(_film, job, d->path(), d->split_reels()))
+ );
+ } else {
+ job->set_encoder (
+ shared_ptr<FFmpegEncoder> (
+ new FFmpegEncoder (_film, job, d->path(), d->format(), d->mixdown_to_stereo(), d->split_reels(), d->x264_crf()
#ifdef DCPOMATIC_VARIANT_SWAROOP
- , optional<dcp::Key>(), optional<string>()
+ , optional<dcp::Key>(), optional<string>()
#endif
+ )
)
- )
- );
+ );
+ }
JobManager::instance()->add (job);
}
d->Destroy ();