From e39bf4d82c902b49d008ebc5c193142c6969e05f Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 09:33:00 +1000 Subject: [PATCH 01/22] Correct file perms on to make scripts executable in windows build files --- tools/windows_packaging/clean.sh | 0 tools/windows_packaging/configure-debug.sh | 0 tools/windows_packaging/configure-release.sh | 0 tools/windows_packaging/cptovm.sh | 0 tools/windows_packaging/make-installer.sh | 0 tools/windows_packaging/mingw-env.sh | 0 tools/windows_packaging/package.sh | 0 tools/windows_packaging/print-env.sh | 0 tools/windows_packaging/run-wine.sh | 0 tools/windows_packaging/startvm.sh | 0 tools/windows_packaging/waf.sh | 0 11 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tools/windows_packaging/clean.sh mode change 100644 => 100755 tools/windows_packaging/configure-debug.sh mode change 100644 => 100755 tools/windows_packaging/configure-release.sh mode change 100644 => 100755 tools/windows_packaging/cptovm.sh mode change 100644 => 100755 tools/windows_packaging/make-installer.sh mode change 100644 => 100755 tools/windows_packaging/mingw-env.sh mode change 100644 => 100755 tools/windows_packaging/package.sh mode change 100644 => 100755 tools/windows_packaging/print-env.sh mode change 100644 => 100755 tools/windows_packaging/run-wine.sh mode change 100644 => 100755 tools/windows_packaging/startvm.sh mode change 100644 => 100755 tools/windows_packaging/waf.sh diff --git a/tools/windows_packaging/clean.sh b/tools/windows_packaging/clean.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/configure-debug.sh b/tools/windows_packaging/configure-debug.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/configure-release.sh b/tools/windows_packaging/configure-release.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/cptovm.sh b/tools/windows_packaging/cptovm.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/make-installer.sh b/tools/windows_packaging/make-installer.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/mingw-env.sh b/tools/windows_packaging/mingw-env.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/package.sh b/tools/windows_packaging/package.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/print-env.sh b/tools/windows_packaging/print-env.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/run-wine.sh b/tools/windows_packaging/run-wine.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/startvm.sh b/tools/windows_packaging/startvm.sh old mode 100644 new mode 100755 diff --git a/tools/windows_packaging/waf.sh b/tools/windows_packaging/waf.sh old mode 100644 new mode 100755 From 1e9301a713ce1905edaf8326879d2b100a5ea6d1 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 22 Jul 2013 11:56:18 +1000 Subject: [PATCH 02/22] Define PLATFORM_WINDOWS and COMPILER_MINGW when dist target is set to mingw --- wscript | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wscript b/wscript index 3088319def..eefa532b1e 100644 --- a/wscript +++ b/wscript @@ -618,6 +618,10 @@ def configure(conf): if Options.options.dist_target == 'mingw': Options.options.fpu_optimization = False + conf.env.append_value('CFLAGS', '-DPLATFORM_WINDOWS') + conf.env.append_value('CFLAGS', '-DCOMPILER_MINGW') + conf.env.append_value('CXXFLAGS', '-DPLATFORM_WINDOWS') + conf.env.append_value('CXXFLAGS', '-DCOMPILER_MINGW') conf.env.append_value('LIB', 'pthreadGC2') # needed for at least libsmf conf.check_cc(function_name='htonl', header_name='winsock2.h', lib='ws2_32') From d0deae357bba112a51a60a30cb97e7736636a120 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:40:29 +1000 Subject: [PATCH 03/22] Remove tools/sanity_check dir from build in mingw cross compile This is already added to build further down. I believe this is result of a partially applied patch. --- wscript | 2 -- 1 file changed, 2 deletions(-) diff --git a/wscript b/wscript index eefa532b1e..b96c8932f4 100644 --- a/wscript +++ b/wscript @@ -47,10 +47,8 @@ i18n_children = [ ] if sys.platform == 'linux2': - children += [ 'tools/sanity_check' ] lxvst_default = True elif sys.platform == 'darwin': - children += [ 'libs/appleutility' ] lxvst_default = False else: lxvst_default = False From 56a6f5285613bd140a71bf476df0e6a822aa7638 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 11:11:39 +1000 Subject: [PATCH 04/22] Remove lxvst variable from wscript that was no longer in use --- wscript | 7 ------- 1 file changed, 7 deletions(-) diff --git a/wscript b/wscript index b96c8932f4..ecc989da64 100644 --- a/wscript +++ b/wscript @@ -46,13 +46,6 @@ i18n_children = [ 'libs/gtkmm2ext', ] -if sys.platform == 'linux2': - lxvst_default = True -elif sys.platform == 'darwin': - lxvst_default = False -else: - lxvst_default = False - # Version stuff def fetch_gcc_version (CC): From ed9dd5ca6261ec511c128af67c4ee522084f4e07 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 11:44:50 +1000 Subject: [PATCH 05/22] Enable lxvst support by default and then disable for build targets that don't support it --- wscript | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/wscript b/wscript index ecc989da64..d4d0cc2be4 100644 --- a/wscript +++ b/wscript @@ -244,7 +244,7 @@ def set_compiler_flags (conf,opt): print("However, this is tricky and not recommended for beginners.") sys.exit (-1) - if opt.lxvst: + if conf.env['LXVST_SUPPORT'] == True: if conf.env['build_target'] == 'x86_64': conf.env.append_value('CXXFLAGS', "-DLXVST_64BIT") else: @@ -416,7 +416,7 @@ def options(opt): help='Compile with support for LV2 (if Lilv+Suil is available)') opt.add_option('--no-lv2', action='store_false', dest='lv2', help='Do not compile with support for LV2') - opt.add_option('--lxvst', action='store_true', default=False, dest='lxvst', + opt.add_option('--lxvst', action='store_true', default=True, dest='lxvst', help='Compile with support for linuxVST plugins') opt.add_option('--nls', action='store_true', default=True, dest='nls', help='Enable i18n (native language support) (default)') @@ -665,8 +665,13 @@ def configure(conf): conf.env.append_value('CXXFLAGS', '-I' + Options.options.wine_include) autowaf.check_header(conf, 'cxx', 'windows.h', mandatory = True) if opts.lxvst: - conf.define('LXVST_SUPPORT', 1) - conf.env['LXVST_SUPPORT'] = True + if sys.platform == 'darwin': + conf.env['LXVST_SUPPORT'] = False + elif Options.options.dist_target == 'mingw': + conf.env['LXVST_SUPPORT'] = False + else: + conf.define('LXVST_SUPPORT', 1) + conf.env['LXVST_SUPPORT'] = True if bool(conf.env['JACK_SESSION']): conf.define('HAVE_JACK_SESSION', 1) conf.define('WINDOWS_KEY', opts.windows_key) From d3850612b47f209f4c594294405918c4a675932d Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 09:32:12 +1000 Subject: [PATCH 06/22] Disable building all surface plugins on MinGW build --- libs/surfaces/wscript | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/surfaces/wscript b/libs/surfaces/wscript index 1b2948c50a..335d14ee87 100644 --- a/libs/surfaces/wscript +++ b/libs/surfaces/wscript @@ -35,10 +35,12 @@ def sub_config_and_use(conf, name, has_objects = True): def configure(conf): autowaf.set_recursive() autowaf.configure(conf) - + for i in children: sub_config_and_use(conf, i) + if (conf.env['build_target'] == 'mingw'): return + #autowaf.check_pkg(conf, 'libusb-1.0', uselib_store='USB', mandatory=False) #if Options.options.tranzport and conf.is_defined('HAVE_USB'): # conf.define('BUILD_TRANZPORT', 1) @@ -63,6 +65,7 @@ def configure(conf): def build(bld): bld.recurse('control_protocol') + if (bld.env['build_target'] == 'mingw'): return if bld.is_defined ('BUILD_MACKIE'): bld.recurse('mackie') if bld.is_defined ('HAVE_LO'): From f7e3b01e23726a457a818781e5638d56ce1d9986 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 18:35:42 +1000 Subject: [PATCH 07/22] Use cross-platform packaging version script in MinGW build --- tools/windows_packaging/mingw-env.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/windows_packaging/mingw-env.sh b/tools/windows_packaging/mingw-env.sh index 37a575885f..28e5bf5fd3 100755 --- a/tools/windows_packaging/mingw-env.sh +++ b/tools/windows_packaging/mingw-env.sh @@ -26,8 +26,9 @@ BUILD_DIR=$BASE/build BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py TOOLS_DIR=$BASE/tools/windows_packaging +. ../define_versions.sh + APPNAME=`grep -m 1 '^APPNAME' $BASE/wscript | awk '{print $3}' | sed "s/'//g"` -VERSION=`grep -m 1 '^VERSION' $BASE/wscript | awk '{print $3}' | sed "s/'//g"` # These are only relevant after a build if test -f $BUILD_CACHE_FILE @@ -35,9 +36,9 @@ then # Figure out the Build Type if grep -q "DEBUG = True" $BUILD_CACHE_FILE; then DEBUG=1 - PACKAGE_DIR="$APPNAME-$VERSION-win32-dbg" + PACKAGE_DIR="$APPNAME-${version}-win32-dbg" else - PACKAGE_DIR="$APPNAME-$VERSION-win32" + PACKAGE_DIR="$APPNAME-${version}-win32" fi if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then From 5ef3d54acbf9e8d5e0f1b945e4afb247d2c7c3fe Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:38:54 +1000 Subject: [PATCH 08/22] Add some dll's to list to copy to mingw based windows package These are some new dependencies in Fedora 19 mingw packages --- tools/windows_packaging/package.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/windows_packaging/package.sh b/tools/windows_packaging/package.sh index 1270bc0cc5..92f55e8906 100755 --- a/tools/windows_packaging/package.sh +++ b/tools/windows_packaging/package.sh @@ -60,6 +60,7 @@ jackserver-0.dll libart_lgpl_2-2.dll libatk-1.0-0.dll libatkmm-1.6-1.dll +libbz2-1.dll libcairo-2.dll libcairo-gobject-2.dll libcairomm-1.0-1.dll @@ -90,6 +91,7 @@ libgobject-2.0-0.dll libgthread-2.0-0.dll libgtkmm-2.4-1.dll libgtk-win32-2.0-0.dll +libharfbuzz-0.dll libiconv-2.dll iconv.dll libFLAC-8.dll @@ -99,6 +101,7 @@ libvorbisenc-2.dll libffi-6.dll libidn-11.dll libintl-8.dll +liblo-7.dll libpango-1.0-0.dll libpangocairo-1.0-0.dll libpangoft2-1.0-0.dll From 77cea1181e0da8eed036d81a8a0da6ab8bfb096f Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 22 Jul 2013 11:57:26 +1000 Subject: [PATCH 09/22] Fix broken using declaration in vamp-plugins --- libs/vamp-plugins/SpectralCentroid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/vamp-plugins/SpectralCentroid.cpp b/libs/vamp-plugins/SpectralCentroid.cpp index f1493bf282..f93fdcaa32 100644 --- a/libs/vamp-plugins/SpectralCentroid.cpp +++ b/libs/vamp-plugins/SpectralCentroid.cpp @@ -44,7 +44,7 @@ #define isnan(val) (bool)_isnan((double)val) #else using std::isnan; -using std:isinf; +using std::isinf; #endif #include "SpectralCentroid.h" From b02fb1dbea550596a37391fafcf4dc5005cdc0f1 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 22 Jul 2013 12:01:44 +1000 Subject: [PATCH 10/22] Reinstate include of regex.h for Linux and MinGW build I'm not sure how boost/regex.h is relevant but it doesn't enable the build to succeed in on Linux or using Mingw so if this is not an error and required for msvc build then fix it --- libs/pbd/pathexpand.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/pbd/pathexpand.cc b/libs/pbd/pathexpand.cc index 3f1f1cf670..5784ec9428 100644 --- a/libs/pbd/pathexpand.cc +++ b/libs/pbd/pathexpand.cc @@ -23,7 +23,7 @@ #include #include -#include +#include #include From c4e02af713c24beb1a472ade00d7b9e81e1f2e8f Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 18:38:46 +1000 Subject: [PATCH 11/22] Fix for ambiguous Polygon type when building with MinGW --- gtk2_ardour/marker.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc index 27fa9f5d42..2492d1a348 100644 --- a/gtk2_ardour/marker.cc +++ b/gtk2_ardour/marker.cc @@ -242,7 +242,7 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con /* adjust to properly locate the tip */ - mark = new Polygon (*group); + mark = new ArdourCanvas::Polygon (*group); mark->property_points() = *points; set_color_rgba (rgba); mark->property_width_pixels() = 1; From 61c8e093ef36721fb24079573842fd1c7a64cfea Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 18:40:50 +1000 Subject: [PATCH 12/22] Use PBD::ffs for portability --- gtk2_ardour/midi_channel_selector.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/midi_channel_selector.cc b/gtk2_ardour/midi_channel_selector.cc index 2f5ca729a6..b51584aef5 100644 --- a/gtk2_ardour/midi_channel_selector.cc +++ b/gtk2_ardour/midi_channel_selector.cc @@ -516,7 +516,7 @@ MidiChannelSelectorWindow::set_playback_selected_channels (uint16_t mask) case ForceChannel: /* only set the lowest set channel in the mask as active */ for (uint16_t i = 0; i < 16; i++) { - playback_buttons[i]->set_active (i == (ffs (mask) - 1)); + playback_buttons[i]->set_active (i == (PBD::ffs (mask) - 1)); } break; } @@ -539,7 +539,7 @@ MidiChannelSelectorWindow::set_capture_selected_channels (uint16_t mask) case ForceChannel: /* only set the lowest set channel in the mask as active */ for (uint16_t i = 0; i < 16; i++) { - capture_buttons[i]->set_active (i == (ffs (mask) - 1)); + capture_buttons[i]->set_active (i == (PBD::ffs (mask) - 1)); } break; } @@ -595,7 +595,7 @@ MidiChannelSelectorWindow::playback_mode_changed () case ForceChannel: if (last_drawn_playback_mode == AllChannels || last_drawn_playback_mode == FilterChannels) { playback_buttons.clear (); - first_channel = ffs (track->get_playback_channel_mask()) - 1; + first_channel = PBD::ffs (track->get_playback_channel_mask()) - 1; } for (vector::iterator i = playback_mask_controls.begin(); i != playback_mask_controls.end(); ++i) { (*i)->set_sensitive (false); @@ -693,7 +693,7 @@ MidiChannelSelectorWindow::capture_mode_changed () case ForceChannel: if (last_drawn_capture_mode == AllChannels || last_drawn_capture_mode == FilterChannels) { capture_buttons.clear (); - first_channel = ffs (track->get_capture_channel_mask()) - 1; + first_channel = PBD::ffs (track->get_capture_channel_mask()) - 1; } for (vector::iterator i = capture_mask_controls.begin(); i != capture_mask_controls.end(); ++i) { (*i)->set_sensitive (false); From fee2c9d71f03336f5a64b08ff10cf90e22372da8 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 18:41:34 +1000 Subject: [PATCH 13/22] Fix ambiguous type CheckMenuItem that is also defined via windows.h --- gtk2_ardour/midi_time_axis.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 3da5f11f10..93649dbebe 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -738,7 +738,7 @@ MidiTimeAxisView::add_single_channel_controller_item(Menu_Helpers::MenuList& ctl } } - Gtk::CheckMenuItem* cmi = static_cast(&ctl_items.back()); + Gtk::CheckMenuItem* cmi = static_cast(&ctl_items.back()); _controller_menu_map[fully_qualified_param] = cmi; cmi->set_active (visible); @@ -794,7 +794,7 @@ MidiTimeAxisView::add_multi_channel_controller_item(Menu_Helpers::MenuList& ctl_ } } - Gtk::CheckMenuItem* cmi = static_cast(&chn_items.back()); + Gtk::CheckMenuItem* cmi = static_cast(&chn_items.back()); _controller_menu_map[fully_qualified_param] = cmi; cmi->set_active (visible); } From f42c51463153bb2f761e722e4a7575cad580da3e Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:17:59 +1000 Subject: [PATCH 14/22] undef SearchPath where needed as it is defined via windows.h --- gtk2_ardour/transcode_ffmpeg.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc index 9499c6c184..9c6a7d801b 100644 --- a/gtk2_ardour/transcode_ffmpeg.cc +++ b/gtk2_ardour/transcode_ffmpeg.cc @@ -32,6 +32,10 @@ #include "i18n.h" +#ifdef SearchPath +#undef SearchPath +#endif + using namespace PBD; TranscodeFfmpeg::TranscodeFfmpeg (std::string f) From f383585094528b62585d9a534a1ea6eff62ed42f Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:21:12 +1000 Subject: [PATCH 15/22] Disable some code on MinGW build until it can be tested NEEDS FIXING Windows has the function strtok_s which is equivalent to strtok_r in versions of msvcrt in Vista and above but not win XP. So either reimplement for WinXP or replace with something more portable and C++'y. --- gtk2_ardour/utils_videotl.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk2_ardour/utils_videotl.cc b/gtk2_ardour/utils_videotl.cc index 504fc3d2eb..1496893e82 100644 --- a/gtk2_ardour/utils_videotl.cc +++ b/gtk2_ardour/utils_videotl.cc @@ -253,6 +253,7 @@ video_query_info ( , filepath.c_str()); char *res = curl_http_get(url, NULL); int pid=0; +#ifndef COMPILER_MINGW if (res) { char *pch, *pst; int version; @@ -285,6 +286,7 @@ video_query_info ( } free(res); } +#endif if (pid!=5) { return false; } From 533e40ca52c9a8f969405d4afbb82552956445ae Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sun, 21 Jul 2013 18:49:29 +1000 Subject: [PATCH 16/22] Work around badly chosen argument name in giomm/dbusmessage.h interface is defined in windows/mingw headers. hopefully this will be fixed in giomm at some point and this crap can be removed --- gtk2_ardour/export_video_infobox.cc | 3 +++ gtk2_ardour/video_server_dialog.cc | 4 ++++ libs/gtkmm2ext/gtkmm2ext/gtk_ui.h | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/gtk2_ardour/export_video_infobox.cc b/gtk2_ardour/export_video_infobox.cc index fbe28bd821..a3e356decc 100644 --- a/gtk2_ardour/export_video_infobox.cc +++ b/gtk2_ardour/export_video_infobox.cc @@ -18,6 +18,9 @@ */ #include "ardour/session.h" +#ifdef interface +#undef interface +#endif #include "export_video_infobox.h" #include "i18n.h" diff --git a/gtk2_ardour/video_server_dialog.cc b/gtk2_ardour/video_server_dialog.cc index 8838409ccf..a8383f4d23 100644 --- a/gtk2_ardour/video_server_dialog.cc +++ b/gtk2_ardour/video_server_dialog.cc @@ -29,6 +29,10 @@ #include "ardour/template_utils.h" #include "ardour/session.h" +#ifdef interface +#undef interface +#endif + #include "video_server_dialog.h" #include "utils_videotl.h" #include "i18n.h" diff --git a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h index 64176232f0..a758ad78f4 100644 --- a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h +++ b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h @@ -27,6 +27,10 @@ #include #include +#ifdef interface +#undef interface +#endif + #include #include From c0e65452b1d8202698d89bfa593da5e0c6aaa015 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 22 Jul 2013 12:44:45 +1000 Subject: [PATCH 17/22] undef SearchPath where needed as it is defined via windows.h --- gtk2_ardour/video_server_dialog.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk2_ardour/video_server_dialog.cc b/gtk2_ardour/video_server_dialog.cc index a8383f4d23..468bcc5c8d 100644 --- a/gtk2_ardour/video_server_dialog.cc +++ b/gtk2_ardour/video_server_dialog.cc @@ -37,6 +37,10 @@ #include "utils_videotl.h" #include "i18n.h" +#ifdef SearchPath +#undef SearchPath +#endif + using namespace Gtk; using namespace std; using namespace PBD; From d975d84437119b4595619a523f1d2afaa14965ff Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Fri, 19 Jul 2013 18:46:52 +1000 Subject: [PATCH 18/22] Use GLib::usleep for portability --- gtk2_ardour/video_image_frame.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/video_image_frame.cc b/gtk2_ardour/video_image_frame.cc index 3c39dea77b..310f3a68d3 100644 --- a/gtk2_ardour/video_image_frame.cc +++ b/gtk2_ardour/video_image_frame.cc @@ -197,7 +197,7 @@ http_get_thread (void *arg) { char *res = NULL; do { res=curl_http_get(url, &status); - if (status == 503) usleep(5000); // try-again + if (status == 503) Glib::usleep(5000); // try-again } while (status == 503 && --timeout > 0); if (status != 200 || !res) { @@ -246,7 +246,7 @@ VideoImageFrame::http_download_done (char *data){ exposeimg(); /* don't request frames too quickly, wait after user has zoomed */ - usleep(40000); + Glib::usleep(40000); if (queued_request) { http_get_again(want_video_frame_number); From ccaa29d210c723aae458bbf607b29fe2b4755b2e Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:17:18 +1000 Subject: [PATCH 19/22] Use Glib::usleep for portability --- gtk2_ardour/transcode_ffmpeg.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc index 9c6a7d801b..15b9f40919 100644 --- a/gtk2_ardour/transcode_ffmpeg.cc +++ b/gtk2_ardour/transcode_ffmpeg.cc @@ -126,7 +126,7 @@ TranscodeFfmpeg::probe () * SystemExec::Terminated is emitted and ffcmd set to NULL */ int timeout = 300; // 1.5 sec while (ffcmd && --timeout > 0) { - usleep(5000); + Glib::usleep(5000); } if (timeout == 0 || ffoutput.empty()) { return false; @@ -507,7 +507,11 @@ TranscodeFfmpeg::cancel () { if (!ffcmd || !ffcmd->is_running()) { return;} ffcmd->write_to_stdin("q"); +#ifdef WIN32 + Sleep(1000); +#else sleep (1); +#endif if (ffcmd) { ffcmd->terminate(); } From 486720de61a22d7c74e956a2478cf0f581d66d9e Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:26:30 +1000 Subject: [PATCH 20/22] Use Glib::usleep for portability --- gtk2_ardour/video_monitor.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/video_monitor.cc b/gtk2_ardour/video_monitor.cc index 2c265365fa..ae4d5faacc 100644 --- a/gtk2_ardour/video_monitor.cc +++ b/gtk2_ardour/video_monitor.cc @@ -94,7 +94,7 @@ VideoMonitor::query_full_state (bool wait) process->write_to_stdin("get osdcfg\n"); int timeout = 40; if (wait && knownstate !=127 && --timeout) { - usleep(50000); + Glib::usleep(50000); sched_yield(); } } @@ -113,7 +113,7 @@ VideoMonitor::quit () */ int timeout = 40; while (is_started() && --timeout) { - usleep(50000); + Glib::usleep(50000); sched_yield(); } if (timeout <= 0) { From f3fe3cfeaacda7194b569314b377b12526e09f54 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:33:48 +1000 Subject: [PATCH 21/22] Fix reference to new location of windows test image --- tools/windows_packaging/mingw-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/windows_packaging/mingw-env.sh b/tools/windows_packaging/mingw-env.sh index 28e5bf5fd3..616f89af5e 100755 --- a/tools/windows_packaging/mingw-env.sh +++ b/tools/windows_packaging/mingw-env.sh @@ -49,4 +49,4 @@ then fi # put this somewhere better... -VIRT_IMAGE_PATH=$HOME/virt-images/winxp.raw +VIRT_IMAGE_PATH=$HOME/Data/virt-images/winxp.raw From b889a3d2f999dc97f21bbba4603ccdc349ba5bf2 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 20 Jul 2013 10:37:41 +1000 Subject: [PATCH 22/22] Use common mingw build script to reference location of windows test image --- tools/windows_packaging/startvm.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/windows_packaging/startvm.sh b/tools/windows_packaging/startvm.sh index 6d36bd8cb7..de65be9b5d 100755 --- a/tools/windows_packaging/startvm.sh +++ b/tools/windows_packaging/startvm.sh @@ -1,3 +1,4 @@ #!/bin/bash +. mingw-env.sh -qemu-kvm -smp 2 -m 1536 -hda $HOME/virt-images/winxp.raw -net nic -net user -vga std -soundhw all +qemu-kvm -smp 2 -m 1536 -hda $VIRT_IMAGE_PATH -net nic -net user -vga std -soundhw all