MSVC compatibility for zita-convolver

This commit is contained in:
Robin Gareus 2018-10-21 17:02:14 +02:00
parent 47d341434e
commit 1229d50e45
2 changed files with 20 additions and 5 deletions

View file

@ -22,6 +22,10 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#if _MSC_VER
#include <windows.h> // Needed for 'Sleep()'
#endif
#include "zita-convolver/zita-convolver.h" #include "zita-convolver/zita-convolver.h"
using namespace ArdourZita; using namespace ArdourZita;
@ -352,7 +356,11 @@ Convproc::cleanup (void)
uint32_t k; uint32_t k;
while (!check_stop ()) { while (!check_stop ()) {
#if _MSC_VER
Sleep (100);
#else
usleep (100000); usleep (100000);
#endif
} }
for (k = 0; k < _ninp; k++) { for (k = 0; k < _ninp; k++) {
delete[] _inpbuff[k]; delete[] _inpbuff[k];
@ -403,7 +411,9 @@ Convproc::print (FILE* F)
_convlev[k]->print (F); _convlev[k]->print (F);
} }
#ifdef ENABLE_VECTOR_MODE
typedef float FV4 __attribute__ ((vector_size (16))); typedef float FV4 __attribute__ ((vector_size (16)));
#endif
Convlevel::Convlevel (void) Convlevel::Convlevel (void)
: _stat (ST_IDLE) : _stat (ST_IDLE)

View file

@ -17,9 +17,8 @@
// //
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifndef _ZITA_CONVOLVER_H #ifndef ARDOUR_ZITA_CONVOLVER_H
#define _ZITA_CONVOLVER_H #define ARDOUR_ZITA_CONVOLVER_H
#include <fftw3.h> #include <fftw3.h>
#include <pthread.h> #include <pthread.h>
@ -33,7 +32,11 @@ namespace ArdourZita {
#undef ZCSEMA_IS_IMPLEMENTED #undef ZCSEMA_IS_IMPLEMENTED
#endif #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> #include <semaphore.h>
@ -80,7 +83,7 @@ private:
#define ZCSEMA_IS_IMPLEMENTED #define ZCSEMA_IS_IMPLEMENTED
#endif #endif
#ifdef __APPLE__ #if defined (__APPLE__) || defined (_MSC_VER)
// NOTE: ***** I DO NOT REPEAT NOT PROVIDE SUPPORT FOR OSX ***** // NOTE: ***** I DO NOT REPEAT NOT PROVIDE SUPPORT FOR OSX *****
// //
@ -103,8 +106,10 @@ public:
pthread_cond_destroy (&_cond); pthread_cond_destroy (&_cond);
} }
#ifndef _MSC_VER /* remove for MSVC build */
ZCsema (const ZCsema&); // disabled ZCsema (const ZCsema&); // disabled
ZCsema& operator= (const ZCsema&); // disabled ZCsema& operator= (const ZCsema&); // disabled
#endif
int init (int s, int v) int init (int s, int v)
{ {