X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fadd_video_dialog.cc;h=5c0db1ff2631b5d6c9f46b41200f2e65c3f74e85;hb=d314a510f67c2b072f856914d2a94b9748fb7e4e;hp=b40b3ead4ceabbe540f05de5b477ee25aa3618c9;hpb=da6790fc214744be81cd74cfa15400d985c6e839;p=ardour.git diff --git a/gtk2_ardour/add_video_dialog.cc b/gtk2_ardour/add_video_dialog.cc index b40b3ead4c..5c0db1ff26 100644 --- a/gtk2_ardour/add_video_dialog.cc +++ b/gtk2_ardour/add_video_dialog.cc @@ -23,6 +23,11 @@ #include #include +#include +#include +#include +#include + #include "pbd/error.h" #include "pbd/convert.h" #include "gtkmm2ext/utils.h" @@ -34,8 +39,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; @@ -108,7 +114,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 +198,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"); @@ -322,8 +331,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; @@ -332,7 +348,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)) { @@ -397,8 +413,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) { @@ -417,8 +432,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); @@ -505,7 +519,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, false); if (status != 200) { printf("request failed\n"); // XXX harvid_path.set_text(" - request failed -"); @@ -685,7 +699,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, false); if (!data) { printf("image preview request failed %s\n", url); imgbuf->fill(RGBA_TO_UINT(0,0,0,255));