From d8dce9605e8791b2df8187f3764aad3638cd75bb Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 12:34:21 -0500 Subject: [PATCH 1/7] zynaddsubfx: just don't build if FLTK is not found rather than hard-failing. --- plugins/zynaddsubfx/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/zynaddsubfx/CMakeLists.txt b/plugins/zynaddsubfx/CMakeLists.txt index 9f751f38c..77569dd78 100644 --- a/plugins/zynaddsubfx/CMakeLists.txt +++ b/plugins/zynaddsubfx/CMakeLists.txt @@ -32,7 +32,11 @@ IF(MINGW_PREFIX) SET(FLTK_SKIP_FLUID TRUE) ENDIF() -FIND_PACKAGE(FLTK REQUIRED) +FIND_PACKAGE(FLTK) + +IF(NOT FLTK_FOUND) + RETURN() +ENDIF() IF(MINGW_PREFIX) SET(FLTK_FLUID_EXECUTABLE "${MINGW_PREFIX}/bin/fluid") From 48ac1b02eb1e391a788efa7d549a4ae93bb66dc2 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 12:39:35 -0500 Subject: [PATCH 2/7] DetectMachine: de-convolute 'if' maze and add Haiku. --- cmake/modules/DetectMachine.cmake | 12 ++++++------ lmmsconfig.h.in | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake index ccb8638be..5bbbef44e 100644 --- a/cmake/modules/DetectMachine.cmake +++ b/cmake/modules/DetectMachine.cmake @@ -1,11 +1,11 @@ IF(WIN32) SET(LMMS_BUILD_WIN32 1) -ELSE(WIN32) - IF(APPLE) - SET(LMMS_BUILD_APPLE 1) - ELSE(APPLE) - SET(LMMS_BUILD_LINUX 1) - ENDIF(APPLE) +ELSEIF(APPLE) + SET(LMMS_BUILD_APPLE 1) +ELSEIF(HAIKU) + SET(LMMS_BUILD_HAIKU 1) +ELSE() + SET(LMMS_BUILD_LINUX 1) ENDIF(WIN32) MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") diff --git a/lmmsconfig.h.in b/lmmsconfig.h.in index d645c5025..496d0db67 100644 --- a/lmmsconfig.h.in +++ b/lmmsconfig.h.in @@ -2,6 +2,7 @@ #cmakedefine LMMS_BUILD_WIN32 #cmakedefine LMMS_BUILD_WIN64 #cmakedefine LMMS_BUILD_APPLE +#cmakedefine LMMS_BUILD_HAIKU #cmakedefine LMMS_HOST_X86 #cmakedefine LMMS_HOST_X86_64 From 946d8a143178a75bb3bf6a3bb34aff6f60bc5f2d Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 12:41:59 -0500 Subject: [PATCH 3/7] lmms_math: also enable workarounds on Haiku. --- include/lmms_math.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/lmms_math.h b/include/lmms_math.h index d89280be2..1e3b530ae 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -34,7 +34,7 @@ #include using namespace std; -#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE) +#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE) || defined(LMMS_BUILD_HAIKU) #ifndef isnanf #define isnanf(x) isnan(x) #endif From 9b0c602b65ac8bf4b51fc71548c49f770f6db227 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 12:51:35 -0500 Subject: [PATCH 4/7] LadspaEffect: use same cflags as Linux on Haiku. --- plugins/LadspaEffect/swh/CMakeLists.txt | 4 ++-- plugins/LadspaEffect/tap/CMakeLists.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/LadspaEffect/swh/CMakeLists.txt b/plugins/LadspaEffect/swh/CMakeLists.txt index 080f446e0..64d67bd5f 100644 --- a/plugins/LadspaEffect/swh/CMakeLists.txt +++ b/plugins/LadspaEffect/swh/CMakeLists.txt @@ -24,9 +24,9 @@ FOREACH(_item ${PLUGIN_SOURCES}) ELSE(LMMS_BUILD_APPLE) SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined -Wl,-Bsymbolic -lm") ENDIF(LMMS_BUILD_APPLE) - IF(LMMS_BUILD_LINUX) + IF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU) SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles") - ENDIF(LMMS_BUILD_LINUX) + ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU) ENDFOREACH(_item ${PLUGIN_SOURCES}) diff --git a/plugins/LadspaEffect/tap/CMakeLists.txt b/plugins/LadspaEffect/tap/CMakeLists.txt index d88c6990b..b747f853b 100644 --- a/plugins/LadspaEffect/tap/CMakeLists.txt +++ b/plugins/LadspaEffect/tap/CMakeLists.txt @@ -14,8 +14,8 @@ FOREACH(_item ${PLUGIN_SOURCES}) ELSE(LMMS_BUILD_APPLE) SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined -Wl,-Bsymbolic -lm") ENDIF(LMMS_BUILD_APPLE) - IF(LMMS_BUILD_LINUX) + IF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU) SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles") - ENDIF(LMMS_BUILD_LINUX) + ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU) ENDFOREACH(_item ${PLUGIN_SOURCES}) From d6a55442333120670142b0ca10a06400bc2ee47b Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 12:57:04 -0500 Subject: [PATCH 5/7] lb302: remove unused MIN function. --- plugins/lb302/lb302.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/lb302/lb302.cpp b/plugins/lb302/lb302.cpp index 14ecb8fa1..5864b94c8 100644 --- a/plugins/lb302/lb302.cpp +++ b/plugins/lb302/lb302.cpp @@ -458,10 +458,6 @@ void lb302Synth::recalcFilter() vcf_envpos = ENVINC; // Trigger filter update in process() } -inline int MIN(int a, int b) { - return (aprocessingSampleRate(); // TODO: Use actual sampling rate. } From 582c9ee678f19aeffe112dd59a863e4bf4b9dda5 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 13:47:43 -0500 Subject: [PATCH 6/7] Refactor shared memory logic. --- include/RemotePlugin.h | 45 ++++++++++------------------------ src/core/VstSyncController.cpp | 7 +----- 2 files changed, 14 insertions(+), 38 deletions(-) diff --git a/include/RemotePlugin.h b/include/RemotePlugin.h index d57a5d293..42caa36aa 100644 --- a/include/RemotePlugin.h +++ b/include/RemotePlugin.h @@ -36,17 +36,12 @@ #include #include -#ifdef LMMS_BUILD_WIN32 + +#if defined(LMMS_HAVE_SYS_IPC_H) && defined(LMMS_HAVE_SEMAPHORE_H) +#include +#include +#else #define USE_QT_SEMAPHORES -#define USE_QT_SHMEM -#endif - -#ifdef LMMS_BUILD_APPLE -#define USE_QT_SEMAPHORES -#endif - - -#ifdef USE_QT_SEMAPHORES #ifdef LMMS_HAVE_PROCESS_H #include @@ -54,39 +49,25 @@ #include #include - -#else /* USE_QT_SEMAPHORES */ - -#ifdef LMMS_HAVE_SYS_IPC_H -#include #endif -#ifdef LMMS_HAVE_SEMAPHORE_H -#include -#endif - -#endif - - -#ifdef USE_QT_SHMEM - -#include -#include - -typedef int32_t key_t; - -#else /* USE_QT_SHMEM */ #ifdef LMMS_HAVE_SYS_SHM_H #include -#endif #ifdef LMMS_HAVE_UNISTD_H #include #endif +#else +#define USE_QT_SHMEM +#include +#include + +#if !defined(LMMS_HAVE_SYS_TYPES_H) || defined(LMMS_BUILD_WIN32) +typedef int32_t key_t; +#endif #endif - #ifdef LMMS_HAVE_LOCALE_H diff --git a/src/core/VstSyncController.cpp b/src/core/VstSyncController.cpp index 1e1294c32..a28b9adb1 100644 --- a/src/core/VstSyncController.cpp +++ b/src/core/VstSyncController.cpp @@ -30,12 +30,7 @@ #include "lmmsconfig.h" #include "Mixer.h" #include "VstSyncController.h" - -#ifdef LMMS_BUILD_WIN32 -#ifndef USE_QT_SHMEM -#define USE_QT_SHMEM -#endif -#endif +#include "RemotePlugin.h" #ifndef USE_QT_SHMEM #include From 14ba57a531de120bb3d70fa3365055ecc3bebd6e Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 5 Mar 2015 13:48:10 -0500 Subject: [PATCH 7/7] versioninfo: add Haiku. --- include/versioninfo.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/versioninfo.h b/include/versioninfo.h index 9295a56c4..58f7a79e9 100644 --- a/include/versioninfo.h +++ b/include/versioninfo.h @@ -27,3 +27,7 @@ #ifdef LMMS_BUILD_WIN32 #define PLATFORM "win32" #endif + +#ifdef LMMS_BUILD_HAIKU +#define PLATFORM "Haiku" +#endif