From 489753e866eba93e1263f61b716c31ca80a32181 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 28 Feb 2016 12:07:00 +0100 Subject: specialize isfinite for MSVC compat --- libs/ardour/automation_control.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libs/ardour') diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc index 7e9b55976c..3629345d94 100644 --- a/libs/ardour/automation_control.cc +++ b/libs/ardour/automation_control.cc @@ -18,6 +18,7 @@ */ +#include #include #include "ardour/automation_control.h" #include "ardour/automation_watch.h" @@ -29,6 +30,14 @@ #include "i18n.h" +#ifdef COMPILER_MSVC +#include +// C99 'isfinite()' is not available in MSVC. +#define isfinite_local(val) (bool)_finite((double)val) +#else +#define isfinite_local isfinite +#endif + using namespace std; using namespace ARDOUR; using namespace PBD; @@ -199,7 +208,7 @@ AutomationControl::internal_to_interface (double val) const double AutomationControl::interface_to_internal (double val) const { - if (!isfinite (val)) { + if (!isfinite_local (val)) { val = 0; } if (_desc.logarithmic) { -- cgit v1.2.3