From 65bb6842c672538f4119fa171d065f91c353fe23 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 19 May 2015 10:59:37 +0200 Subject: [PATCH] Misc fixes to win32, and testing --- source/carla | 2 +- source/carla-control | 2 +- source/carla-patchbay | 2 +- source/carla-rack | 2 +- source/carla_database.py | 2 +- source/carla_settings.py | 2 +- source/native-plugins/Makefile | 2 + source/native-plugins/_all.c | 2 +- .../zynaddsubfx/DSP/SVFilter.cpp | 1 - .../native-plugins/zynaddsubfx/DSP/Unison.cpp | 1 - .../zynaddsubfx/Misc/MiddleWare.cpp | 4 +- .../native-plugins/zynaddsubfx/Misc/Util.cpp | 1 - source/plugin/carla-lv2-export.cpp | 5 +- source/utils/CarlaMutex.hpp | 50 ++++++++++++++++++- source/utils/CarlaPipeUtils.cpp | 1 + 15 files changed, 62 insertions(+), 17 deletions(-) diff --git a/source/carla b/source/carla index 1d2bb52e7..c41776977 100755 --- a/source/carla +++ b/source/carla @@ -28,7 +28,7 @@ if __name__ == '__main__': # ------------------------------------------------------------- # Read CLI args - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) # ------------------------------------------------------------- # App initialization diff --git a/source/carla-control b/source/carla-control index a9e6cfad7..f2a5c62f2 100755 --- a/source/carla-control +++ b/source/carla-control @@ -28,7 +28,7 @@ if __name__ == '__main__': # ------------------------------------------------------------- # Read CLI args - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) for arg in sys.argv: if arg.startswith("osc."): diff --git a/source/carla-patchbay b/source/carla-patchbay index 7c8e22ea8..cbe1595ed 100755 --- a/source/carla-patchbay +++ b/source/carla-patchbay @@ -28,7 +28,7 @@ if __name__ == '__main__': # ------------------------------------------------------------- # Read CLI args - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) # ------------------------------------------------------------- # App initialization diff --git a/source/carla-rack b/source/carla-rack index 5d72578eb..4aec35ebd 100755 --- a/source/carla-rack +++ b/source/carla-rack @@ -28,7 +28,7 @@ if __name__ == '__main__': # ------------------------------------------------------------- # Read CLI args - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) # ------------------------------------------------------------- # App initialization diff --git a/source/carla_database.py b/source/carla_database.py index 88b230d5e..9eccd5665 100755 --- a/source/carla_database.py +++ b/source/carla_database.py @@ -1708,7 +1708,7 @@ if __name__ == '__main__': from carla_app import CarlaApplication from carla_host import initHost, loadHostSettings - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) app = CarlaApplication("Carla2-Database", libPrefix) host = initHost("Carla2-Database", libPrefix, False, False, False) diff --git a/source/carla_settings.py b/source/carla_settings.py index 38ede68e3..aa6c830f1 100755 --- a/source/carla_settings.py +++ b/source/carla_settings.py @@ -851,7 +851,7 @@ if __name__ == '__main__': from carla_app import CarlaApplication from carla_host import initHost, loadHostSettings - initName, libPrefix = handleInitialCommandLineArguments(__file__) + initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else sys.argv[0]) app = CarlaApplication("Carla2-Settings", libPrefix) host = initHost("Carla2-Settings", libPrefix, False, False, False) diff --git a/source/native-plugins/Makefile b/source/native-plugins/Makefile index 001f71f19..98a57c537 100644 --- a/source/native-plugins/Makefile +++ b/source/native-plugins/Makefile @@ -112,6 +112,7 @@ OBJS += \ # ---------------------------------------------------------------------------------------------------------------------------- # ZynAddSubFX +ifeq ($(LINUX),true) ifeq ($(HAVE_ZYN_DEPS),true) OBJS += \ $(OBJDIR)/zynaddsubfx-fx.cpp.o \ @@ -158,6 +159,7 @@ ZYN_UI_FILES_H = \ zynaddsubfx/UI/VirKeyboard.h endif endif +endif # ---------------------------------------------------------------------------------------------------------------------------- # Experimental plugins diff --git a/source/native-plugins/_all.c b/source/native-plugins/_all.c index 2f13d26f9..bbd582989 100644 --- a/source/native-plugins/_all.c +++ b/source/native-plugins/_all.c @@ -116,9 +116,9 @@ void carla_register_all_native_plugins(void) #endif #ifdef HAVE_ZYN_DEPS +# ifdef CARLA_OS_LINUX // ZynAddSubFX carla_register_native_plugin_zynaddsubfx_fx(); -# ifdef CARLA_OS_LINUX carla_register_native_plugin_zynaddsubfx_synth(); # endif #endif diff --git a/source/native-plugins/zynaddsubfx/DSP/SVFilter.cpp b/source/native-plugins/zynaddsubfx/DSP/SVFilter.cpp index 3d198aad3..1595c9496 100644 --- a/source/native-plugins/zynaddsubfx/DSP/SVFilter.cpp +++ b/source/native-plugins/zynaddsubfx/DSP/SVFilter.cpp @@ -24,7 +24,6 @@ #include #include #include -#include #include "../Misc/Util.h" #include "SVFilter.h" diff --git a/source/native-plugins/zynaddsubfx/DSP/Unison.cpp b/source/native-plugins/zynaddsubfx/DSP/Unison.cpp index f51bdb386..d0b20e53b 100644 --- a/source/native-plugins/zynaddsubfx/DSP/Unison.cpp +++ b/source/native-plugins/zynaddsubfx/DSP/Unison.cpp @@ -21,7 +21,6 @@ #include #include -#include #include "../Misc/Allocator.h" #include "Unison.h" diff --git a/source/native-plugins/zynaddsubfx/Misc/MiddleWare.cpp b/source/native-plugins/zynaddsubfx/Misc/MiddleWare.cpp index ccfc2626d..f2861ee34 100644 --- a/source/native-plugins/zynaddsubfx/Misc/MiddleWare.cpp +++ b/source/native-plugins/zynaddsubfx/Misc/MiddleWare.cpp @@ -34,7 +34,9 @@ #include #include -#include +#ifndef errx +# include +#endif using std::string; #ifndef PLUGINVERSION diff --git a/source/native-plugins/zynaddsubfx/Misc/Util.cpp b/source/native-plugins/zynaddsubfx/Misc/Util.cpp index 2ff0f1b66..e7362a485 100644 --- a/source/native-plugins/zynaddsubfx/Misc/Util.cpp +++ b/source/native-plugins/zynaddsubfx/Misc/Util.cpp @@ -26,7 +26,6 @@ #include #include #include -#include #include #include diff --git a/source/plugin/carla-lv2-export.cpp b/source/plugin/carla-lv2-export.cpp index 38b9a304c..d1bf31f2f 100644 --- a/source/plugin/carla-lv2-export.cpp +++ b/source/plugin/carla-lv2-export.cpp @@ -66,11 +66,8 @@ static const String nameToSymbol(const String& name, const uint32_t portIndex) { for (int i=0; i < trimmedName.length(); ++i) { -#ifdef CARLA_OS_WIN - const int32_t c = static_cast(trimmedName[i]); -#else const juce_wchar c = trimmedName[i]; -#endif + if (i == 0 && std::isdigit(c)) symbol += "_"; else if (std::isalpha(c) || std::isdigit(c)) diff --git a/source/utils/CarlaMutex.hpp b/source/utils/CarlaMutex.hpp index 415202468..f45932337 100644 --- a/source/utils/CarlaMutex.hpp +++ b/source/utils/CarlaMutex.hpp @@ -32,10 +32,19 @@ public: * Constructor. */ CarlaMutex() noexcept +#if 0 //def CARLA_OS_WIN + : fAlreadyLocked(false), + fSection(), +#else : fMutex(), +#endif fTryLockWasCalled(false) { +#if 0 //def CARLA_OS_WIN + InitializeCriticalSection(&fSection); +#else pthread_mutex_init(&fMutex, nullptr); +#endif } /* @@ -43,7 +52,11 @@ public: */ ~CarlaMutex() noexcept { +#if 0 //def CARLA_OS_WIN + DeleteCriticalSection(&fSection); +#else pthread_mutex_destroy(&fMutex); +#endif } /* @@ -61,7 +74,16 @@ public: */ void lock() const noexcept { +#if 0 //def CARLA_OS_WIN + EnterCriticalSection(&fSection); + + for (;fAlreadyLocked;) + Sleep(500); + + fAlreadyLocked = true; +#else pthread_mutex_lock(&fMutex); +#endif } /* @@ -72,7 +94,21 @@ public: { fTryLockWasCalled = true; +#if 0 //def CARLA_OS_WIN + if (TryEnterCriticalSection(&fSection) == FALSE) + return false; + + if (fAlreadyLocked) + { + LeaveCriticalSection(&fSection); + return false; + } + + fAlreadyLocked = true; + return true; +#else return (pthread_mutex_trylock(&fMutex) == 0); +#endif } /* @@ -83,12 +119,22 @@ public: if (resetTryLock) fTryLockWasCalled = false; +#if 0 //def CARLA_OS_WIN + fAlreadyLocked = false; + LeaveCriticalSection(&fSection); +#else pthread_mutex_unlock(&fMutex); +#endif } private: - mutable pthread_mutex_t fMutex; // The mutex - mutable volatile bool fTryLockWasCalled; // true if "tryLock()" was called at least once +#if 0 //def CARLA_OS_WIN + mutable volatile bool fAlreadyLocked; + mutable CRITICAL_SECTION fSection; +#else + mutable pthread_mutex_t fMutex; +#endif + mutable volatile bool fTryLockWasCalled; // true if "tryLock()" was called at least once CARLA_PREVENT_HEAP_ALLOCATION CARLA_DECLARE_NON_COPY_CLASS(CarlaMutex) diff --git a/source/utils/CarlaPipeUtils.cpp b/source/utils/CarlaPipeUtils.cpp index 5fa3142c6..ede1788cd 100644 --- a/source/utils/CarlaPipeUtils.cpp +++ b/source/utils/CarlaPipeUtils.cpp @@ -35,6 +35,7 @@ #ifdef CARLA_OS_WIN # include +# include "juce_core.h" #else # include # include