X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvideo_server_dialog.cc;h=227671aa5697afec3f43e9da9bfced765352992e;hb=0038820f473664a9a4fb524537cd846a9e024661;hp=bc9e8be4420096af983318b44178ecda399eb3dd;hpb=1745340c67d66d8dd92e5b3a377e935ed5eea973;p=ardour.git diff --git a/gtk2_ardour/video_server_dialog.cc b/gtk2_ardour/video_server_dialog.cc index bc9e8be442..227671aa56 100644 --- a/gtk2_ardour/video_server_dialog.cc +++ b/gtk2_ardour/video_server_dialog.cc @@ -35,8 +35,13 @@ #include "video_server_dialog.h" #include "utils_videotl.h" +#include "video_tool_paths.h" #include "i18n.h" +#ifdef PLATFORM_WINDOWS +#include +#endif + using namespace Gtk; using namespace std; using namespace PBD; @@ -83,22 +88,22 @@ VideoServerDialog::VideoServerDialog (Session* s) listenaddr_combo.append_text("0.0.0.0"); listenaddr_combo.set_active(0); - std::string icsd_file_path; - if (find_file_in_search_path (PBD::Searchpath(Glib::getenv("PATH")), X_("harvid"), icsd_file_path)) { - path_entry.set_text(icsd_file_path); - } - else if (Glib::file_test(X_("C:\\Program Files\\harvid\\harvid.exe"), Glib::FILE_TEST_EXISTS)) { - path_entry.set_text(X_("C:\\Program Files\\harvid\\harvid.exe")); - } - else { + std::string harvid_exe; + if (ArdourVideoToolPaths::harvid_exe(harvid_exe)) { + path_entry.set_text(harvid_exe); + } else { PBD::warning << string_compose( - _("The external video server 'harvid' can not be found. The tool is included with the %1 releases from ardour.org, " - "alternatively you can download it from http://x42.github.com/harvid/ or acquire it from your distribution."), PROGRAM_NAME) + _("The external video server 'harvid' can not be found.\n" + "The tool is included with the %1 releases from ardour.org, " + "alternatively you can download it from http://x42.github.com/harvid/ " + "or acquire it from your distribution.\n" + "\n" + "see also http://manual.ardour.org/video-timeline/setup/" + ), PROGRAM_NAME) << endmsg; } - if (docroot_entry.get_text().empty()) { std::string docroot = Glib::path_get_dirname(_session->session_directory().root_path()); if ((docroot.empty() || docroot.at(docroot.length()-1) != '/')) { docroot += "/"; } @@ -146,7 +151,11 @@ VideoServerDialog::VideoServerDialog (Session* s) if (Config->get_video_advanced_setup()){ vbox->pack_start (*docroot_hbox, false, false); } else { +#ifndef PLATFORM_WINDOWS docroot_entry.set_text(X_("/")); +#else + docroot_entry.set_text(X_("C:\\")); +#endif listenport_spinner.set_sensitive(false); } vbox->pack_start (*options_box, false, true);