X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fadd_video_dialog.cc;h=98825381e832bfe388c607bbbaf81dbeae680307;hb=6e09e72f1112bbd49a174223b82513b78d4093b6;hp=abbb3a0f46284153b4b3e0a0bde8daa20069e4c0;hpb=e250eb55257c596ccf92dbbaed2710c07c6a4473;p=ardour.git diff --git a/gtk2_ardour/add_video_dialog.cc b/gtk2_ardour/add_video_dialog.cc index abbb3a0f46..98825381e8 100644 --- a/gtk2_ardour/add_video_dialog.cc +++ b/gtk2_ardour/add_video_dialog.cc @@ -34,8 +34,9 @@ #include "ardour_ui.h" #include "add_video_dialog.h" +#include "ardour_http.h" #include "utils_videotl.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace Gtk; using namespace std; @@ -59,7 +60,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")) @@ -108,7 +109,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 @@ -192,8 +193,11 @@ AddVideoDialog::AddVideoDialog (Session* s) /* xjadeo checkbox */ if (ARDOUR_UI::instance()->video_timeline->found_xjadeo() +#ifndef PLATFORM_WINDOWS /* TODO xjadeo setup w/ xjremote */ - && video_get_docroot(Config).size() > 0) { + && video_get_docroot(Config).size() > 0 +#endif + ) { xjadeo_checkbox.set_active(true); /* set in ardour_ui.cpp ?! */ } else { printf("xjadeo was not found or video-server docroot is unset (remote video-server)\n"); @@ -271,6 +275,7 @@ static bool check_video_file_extension(std::string file) ".mpg" , ".MPG" , ".mpeg" , ".MPEG" , ".mts" , ".MTS" , + ".m2t" , ".M2T" , ".mov" , ".MOV" , ".mp4" , ".MP4" , ".mkv" , ".MKV" , @@ -287,6 +292,7 @@ static bool check_video_file_extension(std::string file) ".webm" , ".WEBM" , ".wmv" , ".WMV" , ".ts" , ".TS" , + ".mxf" , ".MXF" , }; for (size_t n = 0; n < sizeof(suffixes)/sizeof(suffixes[0]); ++n) { @@ -320,8 +326,15 @@ 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 ( +#ifdef PLATFORM_WINDOWS + (video_get_docroot(Config).size() > 0 || !show_advanced) +#else + video_get_docroot(Config).size() > 0 +#endif + && + (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; @@ -330,7 +343,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)) { @@ -395,8 +408,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) { @@ -415,8 +427,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); @@ -503,7 +514,7 @@ AddVideoDialog::harvid_request(std::string u) harvid_list->clear(); - char *res = a3_curl_http_get(url, &status); + char* res = ArdourCurl::http_get (url, &status); if (status != 200) { printf("request failed\n"); // XXX harvid_path.set_text(" - request failed -"); @@ -683,7 +694,7 @@ AddVideoDialog::request_preview(std::string u) , (long long) (video_duration * seek_slider.get_value() / 1000.0) , clip_width, clip_height, u.c_str()); - char *data = a3_curl_http_get(url, NULL); + char* data = ArdourCurl::http_get (url, NULL); if (!data) { printf("image preview request failed %s\n", url); imgbuf->fill(RGBA_TO_UINT(0,0,0,255));