summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/export_video_dialog.cc24
-rw-r--r--gtk2_ardour/transcode_ffmpeg.cc13
-rw-r--r--gtk2_ardour/transcode_video_dialog.cc4
-rw-r--r--gtk2_ardour/video_server_dialog.cc4
4 files changed, 30 insertions, 15 deletions
diff --git a/gtk2_ardour/export_video_dialog.cc b/gtk2_ardour/export_video_dialog.cc
index 89693aee8e..104a1c5c6d 100644
--- a/gtk2_ardour/export_video_dialog.cc
+++ b/gtk2_ardour/export_video_dialog.cc
@@ -92,7 +92,6 @@ ExportVideoDialog::ExportVideoDialog (PublicEditor& ed, Session* s)
{
set_session (s);
- transcoder = 0;
set_name ("ExportVideoDialog");
set_position (Gtk::WIN_POS_MOUSE);
@@ -105,15 +104,18 @@ ExportVideoDialog::ExportVideoDialog (PublicEditor& ed, Session* s)
VBox* options_box = manage (new VBox);
HBox* path_hbox;
-#if 0
- l = manage (new Label (_("<b>Export Video File</b>"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
- l->set_use_markup ();
- vbox->pack_start (*l, false, false);
- l = manage (new Label (_("The file-format is determined by the extension you choose for the output file."), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
- l->set_size_request(700,-1);
- l->set_line_wrap();
- vbox->pack_start (*l, false, false, 8);
-#endif
+ /* check if ffmpeg can be found */
+ transcoder = new TranscodeFfmpeg("");
+ if (!transcoder->ffexec_ok()) {
+ l = manage (new Label (_("No ffprobe or ffmpeg executables could be found on this system. Video Export is not possible until you install those tools. See the Log widow for more information."), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
+ l->set_line_wrap();
+ vbox->pack_start (*l, false, false, 8);
+ get_vbox()->pack_start (*vbox, false, false);
+ add_button (Stock::OK, RESPONSE_CANCEL);
+ show_all_children ();
+ return;
+ }
+ delete transcoder; transcoder = 0;
l = manage (new Label (_("<b>Files:</b>"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
l->set_use_markup ();
@@ -538,7 +540,7 @@ ExportVideoDialog::encode_pass (int pass)
*/
transcoder = new TranscodeFfmpeg(invid);
if (!transcoder->ffexec_ok()) {
- warning << _("No ffprobe or ffmpeg executables could be found on this system. Transcoding is not possible until you install those tools.") << endmsg;
+ /* ffmpeg binary was not found. TranscodeFfmpeg prints a warning */
unlink (insnd.c_str());
Gtk::Dialog::response(RESPONSE_CANCEL);
return;
diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc
index 76c101e231..57121e257d 100644
--- a/gtk2_ardour/transcode_ffmpeg.cc
+++ b/gtk2_ardour/transcode_ffmpeg.cc
@@ -64,7 +64,18 @@ TranscodeFfmpeg::TranscodeFfmpeg (std::string f)
}
if (ffmpeg_exe.empty() || ffprobe_exe.empty()) {
- PBD::warning << _("No ffprobe or ffmpeg executables could be found on this system. Transcoding is not possible until you install those tools.") << endmsg;
+ PBD::warning << _(
+ "No ffprobe or ffmpeg executables could be found on this system.\n"
+ "Video import and export is not possible until you install those tools.\n"
+ "Ardour requires ffmpeg and ffprobe from ffmpeg.org - version 1.1 or newer.\n"
+ "\n"
+ "The tools are included with the Ardour releases from ardour.org "
+ "and also available with the video-server at http://x42.github.com/harvid/\n"
+ "\n"
+ "Important: the files need to be installed in $PATH and named ffmpeg_harvid and ffprobe_harvid.\n"
+ "If you already have a suitable ffmpeg installation on your system, we recommend creating "
+ "symbolic links from ffmpeg to ffmpeg_harvid and from ffprobe to ffprobe_harvid.\n"
+ ) << endmsg;
return;
}
ffexecok = true;
diff --git a/gtk2_ardour/transcode_video_dialog.cc b/gtk2_ardour/transcode_video_dialog.cc
index a4d0287399..00e7d2ec5c 100644
--- a/gtk2_ardour/transcode_video_dialog.cc
+++ b/gtk2_ardour/transcode_video_dialog.cc
@@ -115,7 +115,7 @@ TranscodeVideoDialog::TranscodeVideoDialog (Session* s, std::string infile)
if (!transcoder->ffexec_ok()) {
- l = manage (new Label (_("No ffprobe or ffmpeg executables could be found on this system. Transcoding is not possible until you install those tools."), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
+ l = manage (new Label (_("No ffprobe or ffmpeg executables could be found on this system. Video Import is not possible until you install those tools. See the Log widow for more information."), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
l->set_line_wrap();
options_box->pack_start (*l, false, true, 4);
transcode_button.set_sensitive(false);
@@ -123,7 +123,7 @@ TranscodeVideoDialog::TranscodeVideoDialog (Session* s, std::string infile)
bitrate_checkbox.set_sensitive(false);
}
else if (!transcoder->probe_ok()) {
- l = manage (new Label (string_compose(_("Video file-info could not be read. Most likely '%1' is not a valid video-file. It could also be a rare unsupported video codec or format."), infn), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
+ l = manage (new Label (string_compose(_("File-info can not be read. Most likely '%1' is not a valid video-file or an unsupported video codec or format."), infn), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
options_box->pack_start (*l, false, true, 4);
transcode_button.set_sensitive(false);
aspect_checkbox.set_sensitive(false);
diff --git a/gtk2_ardour/video_server_dialog.cc b/gtk2_ardour/video_server_dialog.cc
index f8d8172d9e..5809b9a7d4 100644
--- a/gtk2_ardour/video_server_dialog.cc
+++ b/gtk2_ardour/video_server_dialog.cc
@@ -88,7 +88,9 @@ VideoServerDialog::VideoServerDialog (Session* s)
path_entry.set_text(X_("C:\\Program Files\\harvid\\harvid.exe"));
}
else {
- PBD::warning << _("The external video server 'harvid' can not be found, see https://github.com/x42/harvid") << endmsg;
+ PBD::warning <<
+ _("The external video server 'harvid' can not be found. The tool is included with the Ardour releases from ardour.org, "
+ "alternatively you can download it from http://x42.github.com/harvid/ or acquire it from your distribution.") << endmsg;
}