- shared_ptr<TranscodeJob> job (new TranscodeJob (_film));
- 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->split_streams(), d->x264_crf()
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- , optional<dcp::Key>(), optional<string>()
-#endif
- )
- )
- );
- }
+ auto job = make_shared<TranscodeJob>(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
+ job->set_encoder (
+ make_shared<FFmpegEncoder> (
+ _film, job, d->path(), d->format(), d->mixdown_to_stereo(), d->split_reels(), d->split_streams(), d->x264_crf())
+ );
+ JobManager::instance()->add (job);
+ }
+ d->Destroy ();
+ }
+
+
+ void jobs_export_subtitles ()
+ {
+ auto d = new ExportSubtitlesDialog (this, _film->reels().size(), _film->interop());
+ if (d->ShowModal() == wxID_OK) {
+ auto job = make_shared<TranscodeJob>(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
+ job->set_encoder (
+ make_shared<SubtitleEncoder>(_film, job, d->path(), _film->isdcf_name(true), d->split_reels(), d->include_font())
+ );