#include "wx/save_template_dialog.h"
#include "wx/templates_dialog.h"
#include "wx/nag_dialog.h"
-#include "wx/export_dialog.h"
+#include "wx/export_subtitles_dialog.h"
+#include "wx/export_video_file_dialog.h"
#include "wx/paste_dialog.h"
#include "wx/focus_manager.h"
#include "wx/html_dialog.h"
-#include "wx/initial_setup_dialog.h"
#include "wx/send_i18n_dialog.h"
#include "wx/i18n_hook.h"
#include "lib/film.h"
using boost::function;
using boost::is_any_of;
using boost::algorithm::find;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
using dcp::raw_convert;
class FilmChangedClosingDialog : public boost::noncopyable
ID_jobs_make_kdms,
ID_jobs_make_dkdms,
ID_jobs_make_self_dkdm,
- ID_jobs_export,
+ ID_jobs_export_video_file,
+ ID_jobs_export_subtitles,
ID_jobs_send_dcp_to_tms,
ID_jobs_show_dcp,
ID_jobs_open_dcp_in_player,
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_dkdms, this), ID_jobs_make_dkdms);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_dcp_batch, this), ID_jobs_make_dcp_batch);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_self_dkdm, this), ID_jobs_make_self_dkdm);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_export, this), ID_jobs_export);
+ Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_export_video_file, this), ID_jobs_export_video_file);
+ Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_export_subtitles, this), ID_jobs_export_subtitles);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_send_dcp_to_tms, this), ID_jobs_send_dcp_to_tms);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_show_dcp, this), ID_jobs_show_dcp);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_open_dcp_in_player, this), ID_jobs_open_dcp_in_player);
_film->write_metadata ();
if (send_to_other_tool (BATCH_JOB_PORT, &start_batch_converter, _film->directory()->string())) {
+#ifdef DCPOMATIC_OSX
+ error_dialog (this, _("Could not start the batch converter. You may need to download it from dcpomatic.com."));
+#else
error_dialog (this, _("Could not find batch converter."));
+#endif
}
}
}
if (send_to_other_tool (PLAYER_PLAY_PORT, &start_player, _film->dir(_film->dcp_name(false)).string())) {
+#ifdef DCPOMATIC_OSX
+ error_dialog (this, _("Could not start the player. You may need to download it from dcpomatic.com."));
+#else
error_dialog (this, _("Could not find player."));
+#endif
}
}
d->Destroy ();
}
- void jobs_export ()
+
+ void jobs_export_video_file ()
{
- ExportDialog* d = new ExportDialog (this, _film->isdcf_name(true));
+ ExportVideoFileDialog* d = new ExportVideoFileDialog (this, _film->isdcf_name(true));
if (d->ShowModal() == wxID_OK) {
if (boost::filesystem::exists(d->path())) {
bool ok = confirm_dialog(
}
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()
+ 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>()
+ , optional<dcp::Key>(), optional<string>()
#endif
- )
)
- );
- }
+ )
+ );
JobManager::instance()->add (job);
}
d->Destroy ();
}
+
+ void jobs_export_subtitles ()
+ {
+ ExportSubtitlesDialog* d = new ExportSubtitlesDialog (this, _film->reels().size(), _film->interop());
+ if (d->ShowModal() == wxID_OK) {
+ shared_ptr<TranscodeJob> job (new TranscodeJob (_film));
+ job->set_encoder (
+ shared_ptr<SubtitleEncoder>(new SubtitleEncoder(_film, job, d->path(), _film->isdcf_name(true), d->split_reels(), d->include_font()))
+ );
+ JobManager::instance()->add (job);
+ }
+ d->Destroy ();
+ }
+
+
void jobs_send_dcp_to_tms ()
{
_film->send_dcp_to_tms ();
add_item (jobs_menu, _("Make &DKDMs...\tCtrl-D"), ID_jobs_make_dkdms, NEEDS_FILM);
add_item (jobs_menu, _("Make DKDM for DCP-o-matic..."), ID_jobs_make_self_dkdm, NEEDS_FILM | NEEDS_ENCRYPTION);
jobs_menu->AppendSeparator ();
- add_item (jobs_menu, _("Export...\tCtrl-E"), ID_jobs_export, NEEDS_FILM);
+ add_item (jobs_menu, _("Export video file...\tCtrl-E"), ID_jobs_export_video_file, NEEDS_FILM);
+ add_item (jobs_menu, _("Export subtitles..."), ID_jobs_export_subtitles, NEEDS_FILM);
jobs_menu->AppendSeparator ();
add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
_frame->Maximize ();
close_splash ();
- if (!Config::instance()->nagged(Config::NAG_INITIAL_SETUP)) {
- InitialSetupDialog* d = new InitialSetupDialog ();
- d->ShowModal ();
- d->Destroy ();
- Config::instance()->set_nagged(Config::NAG_INITIAL_SETUP, true);
- }
-
if (running_32_on_64 ()) {
NagDialog::maybe_nag (
_frame, Config::NAG_32_ON_64,