X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fadd_video_dialog.cc;h=31cb7432cbaaeee9557705840b2a0275d77d8379;hb=09bd7a4bcad3e4f3ba7fa221d2aae414c2c250c6;hp=5c58b7abcd4b71da8f98b4c44620c4e77cbe3414;hpb=cf61fb07b80fafd76275eacdddddf78522caf42e;p=ardour.git diff --git a/gtk2_ardour/add_video_dialog.cc b/gtk2_ardour/add_video_dialog.cc index 5c58b7abcd..31cb7432cb 100644 --- a/gtk2_ardour/add_video_dialog.cc +++ b/gtk2_ardour/add_video_dialog.cc @@ -33,7 +33,6 @@ #include "ardour/session.h" #include "ardour_ui.h" -#include "utils.h" #include "add_video_dialog.h" #include "utils_videotl.h" #include "i18n.h" @@ -60,7 +59,7 @@ AddVideoDialog::AddVideoDialog (Session* s) , pi_aspect ("-", Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false) , pi_fps ("-", Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false) , chooser (FILE_CHOOSER_ACTION_OPEN) - , xjadeo_checkbox (_("Launch External Video Monitor")) + , xjadeo_checkbox (_("Open Video Monitor Window")) , set_session_fps_checkbox (_("Adjust Session Framerate to Match Video Framerate")) , harvid_path ("") , harvid_reset (_("Reload docroot")) @@ -109,7 +108,7 @@ AddVideoDialog::AddVideoDialog (Session* s) /* file chooser */ chooser.set_border_width (4); -#ifdef GTKOSX +#ifdef __APPLE__ /* some broken redraw behaviour - this is a bandaid */ chooser.signal_selection_changed().connect (mem_fun (chooser, &Widget::queue_draw)); #endif @@ -270,6 +269,9 @@ static bool check_video_file_extension(std::string file) ".ogg" , ".OGG" , ".ogv" , ".OGV" , ".mpg" , ".MPG" , + ".mpeg" , ".MPEG" , + ".mts" , ".MTS" , + ".m2t" , ".M2T" , ".mov" , ".MOV" , ".mp4" , ".MP4" , ".mkv" , ".MKV" , @@ -284,6 +286,9 @@ static bool check_video_file_extension(std::string file) ".dv" , ".DV" , ".dirac" , ".DIRAC" , ".webm" , ".WEBM" , + ".wmv" , ".WMV" , + ".ts" , ".TS" , + ".mxf" , ".MXF" , }; for (size_t n = 0; n < sizeof(suffixes)/sizeof(suffixes[0]); ++n) { @@ -317,8 +322,9 @@ AddVideoDialog::file_name (bool &local_file) std::string video_server_url = video_get_server_url(Config); /* check if video server is running locally */ - if (video_get_docroot(Config).size() > 0 - && !video_server_url.compare(0, 16, "http://localhost")) + if (video_get_docroot(Config).size() > 0 && + (0 == video_server_url.compare (0, 16, "http://127.0.0.1") || 0 == video_server_url.compare (0, 16, "http://localhost")) + ) { /* check if the file can be accessed */ int plen; @@ -327,7 +333,7 @@ AddVideoDialog::file_name (bool &local_file) char *ue = curl_easy_unescape(curl, uri.c_str(), uri.length(), &plen); #ifdef PLATFORM_WINDOWS char *tmp; - while (tmp = strchr(ue, '/')) *tmp = '\\'; + while ((tmp = strchr(ue, '/'))) *tmp = '\\'; #endif std::string path = video_get_docroot(Config) + ue; if (!::access(path.c_str(), R_OK)) { @@ -392,8 +398,7 @@ AddVideoDialog::file_selection_changed () if (chooser.get_filename().size() > 0) { std::string path = chooser.get_filename(); bool ok = - check_video_file_extension(path) - && Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_REGULAR | Glib::FILE_TEST_IS_SYMLINK) + Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_REGULAR | Glib::FILE_TEST_IS_SYMLINK) && !Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_DIR); set_action_ok(ok); if (ok) { @@ -412,8 +417,7 @@ AddVideoDialog::file_activated () std::string path = chooser.get_filename(); // TODO check docroot -> set import options bool ok = - check_video_file_extension(path) - && Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_REGULAR | Glib::FILE_TEST_IS_SYMLINK) + Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_REGULAR | Glib::FILE_TEST_IS_SYMLINK) && !Glib::file_test(path.c_str(), Glib::FILE_TEST_IS_DIR); if (ok) { Gtk::Dialog::response(RESPONSE_ACCEPT);