From e494aff6e88599d153abde6a364d946d79798ffe Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 20 Aug 2025 14:15:32 +0200 Subject: [PATCH 1/6] Allow "mapi" build target to build CardinalFX as shared lib Signed-off-by: falkTX --- Makefile | 3 +++ dpf | 2 +- src/CardinalCommon.cpp | 3 ++- src/Makefile | 3 +++ src/Makefile.cardinal.mk | 5 +++++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index be09b5d..9aa443f 100644 --- a/Makefile +++ b/Makefile @@ -238,6 +238,9 @@ clap: carla deps dgl plugins resources lv2: carla deps dgl plugins resources $(MAKE) lv2 -C src $(CARLA_EXTRA_ARGS) +mapi: carla deps dgl plugins resources + $(MAKE) mapi -C src $(CARLA_EXTRA_ARGS) + vst2: carla deps dgl plugins resources $(MAKE) vst2 -C src $(CARLA_EXTRA_ARGS) diff --git a/dpf b/dpf index 79e5339..50f4a7c 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 79e5339bef455583a4b5762addfd6578d4230f05 +Subproject commit 50f4a7c6c2e092e6035cf69b3456b03cbfe412b0 diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index afe2594..e5baea0 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -875,7 +875,8 @@ void Initializer::stopRemoteServer() lo_server_thread_stop(oscServerThread); lo_server_thread_del_method(oscServerThread, nullptr, nullptr); lo_server_thread_free(oscServerThread); - oscServerThread = oscServer = nullptr; + oscServerThread = nullptr; + oscServer = nullptr; } #else if (oscServer != nullptr) diff --git a/src/Makefile b/src/Makefile index 48d3bed..8799bff 100644 --- a/src/Makefile +++ b/src/Makefile @@ -147,6 +147,9 @@ au: $(TARGETS) $(MAKE) au -C CardinalFX $(CARDINAL_SYNTH_ARGS) $(MAKE) au -C CardinalSynth $(CARDINAL_SYNTH_ARGS) +mapi: $(TARGETS) + $(MAKE) mapi -C CardinalFX $(CARDINAL_FX_ARGS) + lv2: $(TARGETS) $(MAKE) lv2 -C Cardinal $(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS) diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 2701aa5..731dc36 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -409,6 +409,11 @@ endif BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"' +# -------------------------------------------------------------- +# we know what we are doing, promise! + +BUILD_CXX_FLAGS += -DDISTRHO_NO_WARNINGS + # -------------------------------------------------------------- # Enable all possible plugin types and setup resources From 6cc9bd16e3628b448706ab70431b05e3ad552e26 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 20 Aug 2025 14:35:23 +0200 Subject: [PATCH 2/6] Use DPF provided functions to find docs and config dir Signed-off-by: falkTX --- src/CardinalCommon.cpp | 51 ++---------------------------------------- 1 file changed, 2 insertions(+), 49 deletions(-) diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index e5baea0..818540a 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -626,47 +626,7 @@ Initializer::Initializer(const CardinalBasePlugin* const plugin, const CardinalB if (asset::userDir.empty()) { - #if defined(DISTRHO_OS_WASM) - asset::userDir = "/userfiles"; - #elif defined(ARCH_MAC) - asset::userDir = system::join(homeDir(), "Documents", "Cardinal"); - #elif defined(ARCH_WIN) - asset::userDir = system::join(getSpecialPath(kSpecialPathMyDocuments), "Cardinal"); - #else - std::string xdgConfigDir; - if (const char* const xdgEnv = getenv("XDG_CONFIG_HOME")) - xdgConfigDir = xdgEnv; - if (xdgConfigDir.empty()) - xdgConfigDir = system::join(homeDir(), ".config"); - - const std::string xdgDirsConfigPath(system::join(xdgConfigDir, "user-dirs.dirs")); - - if (system::exists(xdgDirsConfigPath)) - { - std::ifstream xdgDirsConfigFile(xdgDirsConfigPath, std::ios::in|std::ios::ate); - std::string xdgDirsConfig(xdgDirsConfigFile.tellg(), 0); - - xdgDirsConfigFile.seekg(0); - xdgDirsConfigFile.read(&xdgDirsConfig[0], xdgDirsConfig.size()); - - if (const char* const xdgDocsDir = std::strstr(xdgDirsConfig.c_str(), "XDG_DOCUMENTS_DIR=\"")) - { - if (const char* const xdgDocsDirNL = std::strstr(xdgDocsDir, "\"\n")) - { - asset::userDir = std::string(xdgDocsDir + 19, xdgDocsDirNL - xdgDocsDir - 19); - - if (string::startsWith(asset::userDir, "$HOME")) - asset::userDir.replace(asset::userDir.begin(), asset::userDir.begin() + 5, homeDir()); - - if (! system::exists(asset::userDir)) - asset::userDir.clear(); - } - } - } - - if (asset::userDir.empty()) - asset::userDir = system::join(homeDir(), "Documents", "Cardinal"); - #endif + asset::userDir = system::join(getSpecialDir(kSpecialDirDocuments), "Cardinal"); if (isRealInstance) { @@ -683,17 +643,10 @@ Initializer::Initializer(const CardinalBasePlugin* const plugin, const CardinalB #ifndef CARDINAL_COMMON_DSP_ONLY if (asset::configDir.empty()) { - #if defined(ARCH_MAC) || defined(ARCH_WIN) || defined(DISTRHO_OS_WASM) - asset::configDir = asset::userDir; - #else - if (const char* const xdgEnv = getenv("XDG_CONFIG_HOME")) - asset::configDir = system::join(xdgEnv, "Cardinal"); - else - asset::configDir = system::join(homeDir(), ".config", "Cardinal"); + asset::configDir = system::join(getSpecialDir(kSpecialDirConfig), "Cardinal"); if (isRealInstance) system::createDirectory(asset::configDir); - #endif } #endif From c65993826a97cba149bbdde589383a6e40b7ffdf Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 20 Aug 2025 20:02:21 +0200 Subject: [PATCH 3/6] Fix Linux docs dir when $XDG_CONFIG_HOME does not exist Signed-off-by: falkTX --- dpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dpf b/dpf index 50f4a7c..201fa73 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 50f4a7c6c2e092e6035cf69b3456b03cbfe412b0 +Subproject commit 201fa7387a2ec5bb3bc8352e4551eafccbcfcfb8 From 52c3470e4eee295ece2f85c0b73b9f750d77b322 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Wed, 20 Aug 2025 17:49:04 -0400 Subject: [PATCH 4/6] Sapphire v 2.6.001 (#852) * Sapphire v 2.6.001 release candidate 10. Changes since Sapphire v 2.6.000: - Added new module Sapphire Zoo, a programmable chaotic oscillator. - "Insert Tricorder on right" is a new menu option present in all Sapphire modules that work with Tricorder. - Frolic, Glee, Lark, Zoo include "Insert Chaops on left" menu option. * Fixed Sapphire commit to include bug fix. --- plugins/Sapphire | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index e2bcefc..ef10da4 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit e2bcefcaa7753f017cd131a28aae0e5e346aafec +Subproject commit ef10da4e2578162b2db2f6534857d6504491daf4 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index edcf204..76ace7e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3234,6 +3234,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphireTout); p->addModel(modelSapphireTricorder); p->addModel(modelSapphireTubeUnit); + p->addModel(modelSapphireZoo); } } From 6afb94e2c0ca949a0e86640af81dab2f532a9b8b Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 2 Sep 2025 10:56:28 +0200 Subject: [PATCH 5/6] Fix wasm chrome/ium usage, fix default size in some systems Signed-off-by: falkTX --- carla | 2 +- dpf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/carla b/carla index 034d0c4..12bc40f 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit 034d0c4242ba834e0b5a8967a5eefedf9d97178c +Subproject commit 12bc40fd6c9c5b36481c7df55086b27ba9ae8a80 diff --git a/dpf b/dpf index 201fa73..ab25198 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 201fa7387a2ec5bb3bc8352e4551eafccbcfcfb8 +Subproject commit ab25198ea9f361145e3f8e694d90bd2a93ee830c From 06591bd82a4ff2908d921ff73133657ba5ba13c6 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 2 Sep 2025 10:57:44 +0200 Subject: [PATCH 6/6] Fix macOS CI Signed-off-by: falkTX --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c8684e..b719da5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -180,6 +180,7 @@ jobs: key: macos-universal-v${{ env.CACHE_VERSION }} - name: Setup dependencies run: | + brew uninstall --force --ignore-dependencies cmake ./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-universal-10.15 - name: Build extra dependencies run: |