diff options
author | Robin Gareus <robin@gareus.org> | 2018-10-21 17:02:14 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-10-21 17:02:14 +0200 |
commit | 1229d50e45b47dce5ab59d0c0185e75d50bf3b84 (patch) | |
tree | 2d9bb9cefa60510ac9ad2480cf7968158a610087 /libs/zita-convolver | |
parent | 47d341434e1cdcca8b7c359bc01c9032898123dc (diff) |
MSVC compatibility for zita-convolver
Diffstat (limited to 'libs/zita-convolver')
-rw-r--r-- | libs/zita-convolver/zita-convolver.cc | 10 | ||||
-rw-r--r-- | libs/zita-convolver/zita-convolver/zita-convolver.h | 15 |
2 files changed, 20 insertions, 5 deletions
diff --git a/libs/zita-convolver/zita-convolver.cc b/libs/zita-convolver/zita-convolver.cc index 3a2d053be9..91637b46d4 100644 --- a/libs/zita-convolver/zita-convolver.cc +++ b/libs/zita-convolver/zita-convolver.cc @@ -22,6 +22,10 @@ #include <string.h> #include <unistd.h> +#if _MSC_VER +#include <windows.h> // Needed for 'Sleep()' +#endif + #include "zita-convolver/zita-convolver.h" using namespace ArdourZita; @@ -352,7 +356,11 @@ Convproc::cleanup (void) uint32_t k; while (!check_stop ()) { +#if _MSC_VER + Sleep (100); +#else usleep (100000); +#endif } for (k = 0; k < _ninp; k++) { delete[] _inpbuff[k]; @@ -403,7 +411,9 @@ Convproc::print (FILE* F) _convlev[k]->print (F); } +#ifdef ENABLE_VECTOR_MODE typedef float FV4 __attribute__ ((vector_size (16))); +#endif Convlevel::Convlevel (void) : _stat (ST_IDLE) diff --git a/libs/zita-convolver/zita-convolver/zita-convolver.h b/libs/zita-convolver/zita-convolver/zita-convolver.h index e655c63643..39ec4ed474 100644 --- a/libs/zita-convolver/zita-convolver/zita-convolver.h +++ b/libs/zita-convolver/zita-convolver/zita-convolver.h @@ -17,9 +17,8 @@ // // ---------------------------------------------------------------------------- -#ifndef _ZITA_CONVOLVER_H -#define _ZITA_CONVOLVER_H - +#ifndef ARDOUR_ZITA_CONVOLVER_H +#define ARDOUR_ZITA_CONVOLVER_H #include <fftw3.h> #include <pthread.h> @@ -33,7 +32,11 @@ namespace ArdourZita { #undef ZCSEMA_IS_IMPLEMENTED #endif -#if defined(__linux__) || defined(__GNU__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined (_WIN32) +/* Note: + * - __MINGW32__ is also defined for 64bit builds + * - mingw, x-compile uses PTW32's implementation of semaphores, we should prefer defined(PTW32_VERSION) + */ +#if defined(__linux__) || defined(__GNU__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined (__MINGW32__) #include <semaphore.h> @@ -80,7 +83,7 @@ private: #define ZCSEMA_IS_IMPLEMENTED #endif -#ifdef __APPLE__ +#if defined (__APPLE__) || defined (_MSC_VER) // NOTE: ***** I DO NOT REPEAT NOT PROVIDE SUPPORT FOR OSX ***** // @@ -103,8 +106,10 @@ public: pthread_cond_destroy (&_cond); } +#ifndef _MSC_VER /* remove for MSVC build */ ZCsema (const ZCsema&); // disabled ZCsema& operator= (const ZCsema&); // disabled +#endif int init (int s, int v) { |