summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-03-04 15:25:58 +0100
committerRobin Gareus <robin@gareus.org>2014-03-04 15:25:58 +0100
commit912f07b919c1ec44f0cdd5278d74a9bc29b91846 (patch)
tree1cd5f158ada5e8b9b73cf0d52ca5f9fa430c1fe9 /gtk2_ardour
parent3e250d5f0649256c8e4c7c53da4f67383dd52f78 (diff)
mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/plugin_eq_gui.cc18
-rw-r--r--gtk2_ardour/utils.cc4
-rw-r--r--gtk2_ardour/vst_plugin_ui.cc8
-rw-r--r--gtk2_ardour/windows_vst_plugin_ui.cc23
-rw-r--r--gtk2_ardour/wscript10
5 files changed, 38 insertions, 25 deletions
diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc
index 306746d556..13c475e27c 100644
--- a/gtk2_ardour/plugin_eq_gui.cc
+++ b/gtk2_ardour/plugin_eq_gui.cc
@@ -18,19 +18,17 @@
*/
+#include <math.h>
#include <iostream>
-#include <cmath>
#ifdef COMPILER_MSVC
#include <float.h>
/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
-#define isinf(val) !((bool)_finite((double)val))
-#define isnan(val) (bool)_isnan((double)val)
-#endif
-
-#ifdef __APPLE__
-#define isinf(val) std::isinf((val))
-#define isnan(val) std::isnan((val))
+#define ISINF(val) !((bool)_finite((double)val))
+#define ISNAN(val) (bool)_isnan((double)val)
+#else
+#define ISINF(val) std::isinf((val))
+#define ISNAN(val) std::isnan((val))
#endif
#include <gtkmm/box.h>
@@ -777,13 +775,13 @@ PluginEqGui::plot_signal_amplitude_difference(Gtk::Widget *w, cairo_t *cr)
}
*/
- if (isinf(power)) {
+ if (ISINF(power)) {
if (power < 0) {
power = _min_dB - 1.0;
} else {
power = _max_dB - 1.0;
}
- } else if (isnan(power)) {
+ } else if (ISNAN(power)) {
power = _min_dB - 1.0;
}
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index 777eb62616..a8b46f1f57 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -64,6 +64,10 @@ using Gtkmm2ext::Keyboard;
sigc::signal<void> DPIReset;
+#ifdef PLATFORM_WINDOWS
+#define random() rand()
+#endif
+
/** Add an element to a menu, settings its sensitivity.
* @param m Menu to add to.
diff --git a/gtk2_ardour/vst_plugin_ui.cc b/gtk2_ardour/vst_plugin_ui.cc
index 35f59a71f5..3afb17a652 100644
--- a/gtk2_ardour/vst_plugin_ui.cc
+++ b/gtk2_ardour/vst_plugin_ui.cc
@@ -17,10 +17,18 @@
*/
+#include <gtkmm.h>
#include "ardour/vst_plugin.h"
#include "ardour/vst_types.h"
#include "vst_plugin_ui.h"
+
+#ifdef PLATFORM_WINDOWS
+#include <gdk/gdkwin32.h>
+#elif defined __APPLE__
+// TODO
+#else
#include <gdk/gdkx.h>
+#endif
VSTPluginUI::VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> insert, boost::shared_ptr<ARDOUR::VSTPlugin> plugin)
: PlugUIBase (insert)
diff --git a/gtk2_ardour/windows_vst_plugin_ui.cc b/gtk2_ardour/windows_vst_plugin_ui.cc
index 72e9952dec..1ce83f8992 100644
--- a/gtk2_ardour/windows_vst_plugin_ui.cc
+++ b/gtk2_ardour/windows_vst_plugin_ui.cc
@@ -18,6 +18,7 @@
*/
#include <fst.h>
+#include <gtkmm.h>
#include <gtk/gtk.h>
#include <gtk/gtksocket.h>
#include "ardour/plugin_insert.h"
@@ -25,12 +26,12 @@
#include "windows_vst_plugin_ui.h"
-#ifdef GDK_WINDOWING_X11
-#include <gdk/gdkx.h>
-#elif defined GDK_WINDOWING_WIN32
+#ifdef PLATFORM_WINDOWS
#include <gdk/gdkwin32.h>
-#elif defined GDK_WINDOWING_QUARTZ
-/* not yet supported */
+#elif defined __APPLE__
+// TODO
+#else
+#include <gdk/gdkx.h>
#endif
using namespace Gtk;
@@ -42,17 +43,21 @@ WindowsVSTPluginUI::WindowsVSTPluginUI (boost::shared_ptr<PluginInsert> pi, boos
{
#ifdef GDK_WINDOWING_WIN32
- GtkWindow* wobj = win->gobj();
+
+#if 0 // TODO verify window vs vbox-widget WRT to plugin_analysis_expander
+ GtkWindow* wobj = GTK_WINDOW(gtk_widget_get_toplevel(this->gobj()));
+#else
+ GtkVBox* wobj = this->gobj();
+#endif
+
gtk_widget_realize(GTK_WIDGET(wobj));
void* hWndHost = gdk_win32_drawable_get_handle(GTK_WIDGET(wobj)->window);
fst_run_editor (_vst->state(), hWndHost);
#else
fst_run_editor (_vst->state(), NULL);
-#endif
-
-
pack_start (plugin_analysis_expander, true, true);
+#endif
}
WindowsVSTPluginUI::~WindowsVSTPluginUI ()
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index 008b0f4884..92f584fc1f 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -398,14 +398,11 @@ def build(bld):
obj.source = gtk2_ardour_sources
obj.target = 'ardour-' + bld.env['VERSION']
obj.includes = ['.']
+ obj.ldflags = ['-no-undefined']
if bld.is_defined('WINDOWS_VST_SUPPORT'):
# Windows VST support mingw
- obj.source += (
- '../libs/fst/fst.c',
- '../libs/fst/vstwin.c',
- '../vst/winmain.c',
- )
+ obj.source += [ '../vst/winmain.c' ]
obj.includes += [ '../libs/fst' ]
# at this point, "obj" refers to either the normal native executable
@@ -459,7 +456,8 @@ def build(bld):
if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj.source += [ 'windows_vst_plugin_ui.cc' ]
obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
- obj.use += [ 'X11' ]
+ if bld.env['build_target'] != 'mingw':
+ obj.use += [ 'X11' ]
if bld.is_defined('LXVST_SUPPORT'):
obj.source += [ 'linux_vst_gui_support.cc', 'lxvst_plugin_ui.cc' ]