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 (_("Export Video File"), 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 (_("Files:"), 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; }