From 7bee0220eb4da4c143d194192050b614d60b25b7 Mon Sep 17 00:00:00 2001 From: CV funk Date: Mon, 15 Jul 2024 15:11:08 +0200 Subject: [PATCH 01/21] CV funk v2.0.6 (#675) * Update CV funk to 2.0.3 Added Ouros stereo phase injection oscillator Numerous small buxfixes to other modules * CVfunk bugfix Fixed a bug reported by Windows10 users where switching circ/star modes in PentaSequencer would cause a crash. * CV funk v2.0.4 Added PressedDuck, ducking compressing saturating stereo mixer. Panel updates, CPU improvements. * Update CV funk to 2.0.5 Version 2.0.5 Added Flower Patch visualizer module. Fixed stereo normal on Pressed Duck Sidechain input. Added full-stereo processing of compression to Pressed Duck. Added stereo lights to all ring lights of Pressed Duck. Panel update to PentaSequencer * CV funk 2.0.5 edit: added self-illuminating layers * CV funk v2.0.6 Update CV funk to v2.0.6 New clock module - Syncro Steps update Signals refactoring update, runs smoother Other bugfix * Revert "CV funk v2.0.6" This reverts commit 2394a455535a4a4cc2eacc0c2ebfe60786df9010. * CV funk v2.0.6 Update CV funk to v2.0.6 New clock module - Syncro Steps update Signals refactoring update, runs smoother Other bugfix * CV funk v2.0.7 Added new utility modules: Nona- 9-stage CV scale/offset mixer Decima - 10-stage gate sequencer Morta - Knob macro-controller --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index b158d0b..37d6a2a 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit b158d0bfe48cf685e7b4ff8e406d7e731f973eac +Subproject commit 37d6a2ac4562a266474aab47ff4b490ddd7dfc64 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 8950bf3..6e869d1 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1983,6 +1983,10 @@ static void initStatic__CVfunk() p->addModel(modelOuros); p->addModel(modelPressedDuck); p->addModel(modelFlowerPatch); + p->addModel(modelSyncro); + p->addModel(modelNona); + p->addModel(modelDecima); + p->addModel(modelMorta); #undef modelSteps } } From 56a5565d482d822fa7d5442d3a6fd87da444c0f8 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 28 Jul 2024 13:53:46 -0400 Subject: [PATCH 02/21] Update Sapphire plugin from v2.4.4 to v2.4.8. Added the following new modules: - Galaxy: a clone of Airwindows Galactic reverb by Chris Johnson. - Pivot: an operator that allows reorienting a vector in 3D space. - Rotini: an operator that takes the cross product of a pair of 3D vectors. Improvements to chaos generators: - Glee now has 4 different chaos modes, selectable by right-clicking the CHAOS knob. - Frolic and Glee now have a *turbo mode* option in the right-click menu for the SPEED knob. It allows audio-rate chaotic signals, but it comes with a CPU cost. Other changes: - Tube Unit: support low-sensitivity attenuverter knobs. - Elastika, Nucleus, Polynucleus: right-click menu to toggle sensitivity on all attenuverter knobs. - Elastika: allow sending either left or right output particle's position vector to Tricorder for 3D display. --- plugins/Sapphire | 2 +- plugins/plugins.cpp | 25 ++++++++++++++----------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 0bcc1f4..5232180 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 0bcc1f4a48a7a7d59013f5f4a12574f7453a5edf +Subproject commit 5232180a0e1be52cb87dedc5c7637684cbf9bd23 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 6e869d1..421faf3 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3074,17 +3074,20 @@ static void initStatic__Sapphire() const StaticPluginLoader spl(p, "Sapphire"); if (spl.ok()) { - p->addModel(modelElastika); - p->addModel(modelFrolic); - p->addModel(modelGlee); - p->addModel(modelHiss); - p->addModel(modelMoots); - p->addModel(modelNucleus); - p->addModel(modelPolynucleus); - p->addModel(modelTin); - p->addModel(modelTout); - p->addModel(modelTricorder); - p->addModel(modelTubeUnit); + p->addModel(modelSapphireElastika); + p->addModel(modelSapphireFrolic); + p->addModel(modelSapphireGalaxy); + p->addModel(modelSapphireGlee); + p->addModel(modelSapphireHiss); + p->addModel(modelSapphireMoots); + p->addModel(modelSapphireNucleus); + p->addModel(modelSapphirePivot); + p->addModel(modelSapphirePolynucleus); + p->addModel(modelSapphireRotini); + p->addModel(modelSapphireTin); + p->addModel(modelSapphireTout); + p->addModel(modelSapphireTricorder); + p->addModel(modelSapphireTubeUnit); } } From a9b0b7d1d1d6033f7c0ab7fc1cb1c65572a8c048 Mon Sep 17 00:00:00 2001 From: dreamer Date: Sun, 11 Aug 2024 09:21:01 +0200 Subject: [PATCH 03/21] update DrumKit --- plugins/DrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/DrumKit b/plugins/DrumKit index f2a7d71..e04dd79 160000 --- a/plugins/DrumKit +++ b/plugins/DrumKit @@ -1 +1 @@ -Subproject commit f2a7d717e2ae066ba0127fa5ffade775baba1512 +Subproject commit e04dd795ea8d9f08e82a0ca1457fcb9ad59c00ed From 867a2ac8508e5ddb74cc2aca5c62c58f0be2b406 Mon Sep 17 00:00:00 2001 From: dreamer Date: Sun, 11 Aug 2024 14:11:10 +0200 Subject: [PATCH 04/21] use our own version of the submodule --- plugins/DrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/DrumKit b/plugins/DrumKit index e04dd79..e4eb7ad 160000 --- a/plugins/DrumKit +++ b/plugins/DrumKit @@ -1 +1 @@ -Subproject commit e04dd795ea8d9f08e82a0ca1457fcb9ad59c00ed +Subproject commit e4eb7adaff1afa731563e09c83e35d87319d4654 From 1eec121f215b99e9e987f3a3067a15496db47a13 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Tue, 20 Aug 2024 09:18:15 +0200 Subject: [PATCH 05/21] Update LICENSES.md remove outdated GPL2 mention on DPF --- docs/LICENSES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index d2b048f..024d6ce 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -6,12 +6,12 @@ While Cardinal itself is licensed under GPLv3+, some modules/plugins used by it And since Cardinal builds the entire Rack and modules as a static library, the more restrictive of the **code licenses** will apply to the final binary. -Bellow follows a list of all code licenses used in Cardinal and linked submodules. +Below follows a list of all code licenses used in Cardinal and linked submodules. | Name | License(s) | Additional notes | |-------------------------|--------------------------|------------------| | Carla | GPL-2.0-or-later | Used as plugin host within Cardinal | -| DPF | ISC, GPL-2.0-or-later | Used as the plugin framework, VST2 binary GPLv2+ licensed | +| DPF | ISC | Used as the plugin framework | | Rack | GPL-3.0-or-later | The actual Rack code, internal dependencies are compatible with GPLv3+ | | 21kHz | MIT | | | 8Mode | BSD-3-Clause | | From cddf0926583d91986f398febbc6a92b4a971c9cd Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sat, 24 Aug 2024 18:36:14 -0400 Subject: [PATCH 06/21] Sapphire v 2.4.9: new modules Pop, SplitAddMerge. New module Pop. New module SplitAddMerge. Draw hexagon around 3D vector ports. --- plugins/Sapphire | 2 +- plugins/plugins.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 5232180..70152bc 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 5232180a0e1be52cb87dedc5c7637684cbf9bd23 +Subproject commit 70152bc03b156f1f07bd60296da46d6430c1b66f diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 421faf3..9994594 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3083,7 +3083,9 @@ static void initStatic__Sapphire() p->addModel(modelSapphireNucleus); p->addModel(modelSapphirePivot); p->addModel(modelSapphirePolynucleus); + p->addModel(modelSapphirePop); p->addModel(modelSapphireRotini); + p->addModel(modelSapphireSam); p->addModel(modelSapphireTin); p->addModel(modelSapphireTout); p->addModel(modelSapphireTricorder); From 25dca490eeb0a426a46bd4e10c54352162cd1b68 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Tue, 3 Sep 2024 15:11:35 +0200 Subject: [PATCH 07/21] re-apply scroll multiplier for all OSes (#699) * re-apply scroll multiplier for all OSes * multiply const directly --------- Co-authored-by: dromer --- src/CardinalUI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index f5905d1..806608d 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -1041,7 +1041,7 @@ protected: if (inSelfTest) return false; #endif - const rack::math::Vec scrollDelta = rack::math::Vec(-ev.delta.getX(), ev.delta.getY()); + const rack::math::Vec scrollDelta = rack::math::Vec(-ev.delta.getX(), ev.delta.getY()) * 50 ; const int mods = glfwMods(ev.mod); const ScopedContext sc(this, mods); From f6e9d115d5622963301ff00e2f33cd0544054fe2 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 6 Sep 2024 18:37:49 -0400 Subject: [PATCH 08/21] Sapphire version 2.5.0 Split/Add/Merge module now allows selecting 1..16 output channels. Before this change, the output always had 3 channels. Each Sapphire module now links directly to its own manual, instead of linking to the Sapphire plugin table of contents. Moots now allows you to toggle the anti-ramping option in a more intuitive way: you can now right-click on the controller button and toggle the option. When enabled, a "ramp" symbol appears superimposed on the related button, for visual feedback. The existing panel menu is still there for people who are used to it. Added (X, Y, Z) voltage togglers to Frolic, Glee, Pivot, and Rotini. This provides 8 times as many possible output curves for each module. --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 70152bc..ccca9e1 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 70152bc03b156f1f07bd60296da46d6430c1b66f +Subproject commit ccca9e17a75798746feef177fb6fb63325bcd80b From 1c659cbd679f11c2a8f655df6bed17bffbdc1a13 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Sep 2024 15:00:54 +0200 Subject: [PATCH 09/21] Update carla and dpf submodules, update Befaco plugin Signed-off-by: falkTX --- carla | 2 +- dpf | 2 +- plugins/Befaco | 2 +- plugins/Makefile | 2 +- plugins/plugins.cpp | 4 ++++ src/custom/dep.cpp | 1 + 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/carla b/carla index c37d53a..e39f04d 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit c37d53a4216654118e711fa41e88e7e801d5bd9b +Subproject commit e39f04d2d8587327e741ad881617c427f5014d48 diff --git a/dpf b/dpf index 470c5b7..5446300 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 470c5b7a77091bbea2154cd1d96d3cb1be737aa3 +Subproject commit 5446300eac8f0480d6b2a2967d7dec2f227fe1bd diff --git a/plugins/Befaco b/plugins/Befaco index d3ad6c6..b24e1c3 160000 --- a/plugins/Befaco +++ b/plugins/Befaco @@ -1 +1 @@ -Subproject commit d3ad6c6732cee8a80197aa351dd9efef9c278d4c +Subproject commit b24e1c373c7c54871d33247d40216e311dc00849 diff --git a/plugins/Makefile b/plugins/Makefile index 9bcbbcc..a71fd17 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -551,7 +551,7 @@ MINIPLUGIN_FILES += BaconPlugs/src/Style.cpp # -------------------------------------------------------------- # Befaco -PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp)) +PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp Befaco/src/MidiThing.cpp,$(wildcard Befaco/src/*.cpp)) PLUGIN_FILES += $(wildcard Befaco/src/noise-plethora/*/*.cpp) # modules/types which are present in other plugins diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 9994594..3cd58a3 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1590,9 +1590,13 @@ static void initStatic__Befaco() p->addModel(modelMotionMTR); p->addModel(modelBurst); p->addModel(modelVoltio); + p->addModel(modelOctaves); #undef modelADSR #undef modelMixer #undef modelBurst + + // NOTE disabled in Cardinal due to MIDI usage + spl.removeModule("MidiThingV2"); } } diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index af32036..dc9b710 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -464,6 +464,7 @@ static const struct { { kModeBefaco, "/Befaco/res/panels/SpringReverb.svg" }, { kModeBefaco, "/Befaco/res/panels/StereoStrip.svg" }, { kModeBefaco, "/Befaco/res/panels/Voltio.svg" }, + { kModeBefaco, "/Befaco/res/panels/Octaves.svg" }, // GPLv3+ { kModeCardinal, "/Cardinal/res/AudioFile.svg" }, { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg" }, From 47d4e08f4939946364d5edb216b88b0c57dbd384 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Sep 2024 20:35:04 +0200 Subject: [PATCH 10/21] Better OSC defaults, dont reset context for desktop builds Signed-off-by: falkTX --- src/CardinalCommon.cpp | 23 ++++++++++++++++++++++ src/CardinalRemote.cpp | 42 +++++++++++++++++++++++++---------------- src/CardinalRemote.hpp | 19 +++++-------------- src/override/Engine.cpp | 19 ++++--------------- src/override/Scene.cpp | 38 +++++++++++++++++++------------------ src/override/Window.cpp | 15 ++------------- 6 files changed, 80 insertions(+), 76 deletions(-) diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index 3226cc0..eabdcd7 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -362,6 +362,15 @@ static int osc_hello_handler(const char*, const char*, lo_arg**, int, const lo_m d_stdout("Hello received from OSC, saying hello back to them o/"); const lo_address source = lo_message_get_source(m); const lo_server server = static_cast(self)->oscServer; + + // send list of features first + #ifdef CARDINAL_INIT_OSC_THREAD + lo_send_from(source, server, LO_TT_IMMEDIATE, "/resp", "ss", "features", ":screenshot:"); + #else + lo_send_from(source, server, LO_TT_IMMEDIATE, "/resp", "ss", "features", ""); + #endif + + // then finally hello reply lo_send_from(source, server, LO_TT_IMMEDIATE, "/resp", "ss", "hello", "ok"); return 0; } @@ -386,7 +395,10 @@ static int osc_load_handler(const char*, const char* types, lo_arg** argv, int a std::vector data(size); std::memcpy(data.data(), blob, size); + #ifdef CARDINAL_INIT_OSC_THREAD rack::contextSet(context); + #endif + rack::system::removeRecursively(context->patch->autosavePath); rack::system::createDirectories(context->patch->autosavePath); try { @@ -397,7 +409,10 @@ static int osc_load_handler(const char*, const char* types, lo_arg** argv, int a catch (rack::Exception& e) { WARN("%s", e.what()); } + + #ifdef CARDINAL_INIT_OSC_THREAD rack::contextSet(nullptr); + #endif } const lo_address source = lo_message_get_source(m); @@ -423,10 +438,18 @@ static int osc_param_handler(const char*, const char* types, lo_arg** argv, int const int paramId = argv[1]->i; const float paramValue = argv[2]->f; + #ifdef CARDINAL_INIT_OSC_THREAD + rack::contextSet(context); + #endif + rack::engine::Module* const module = context->engine->getModule(moduleId); DISTRHO_SAFE_ASSERT_RETURN(module != nullptr, 0); context->engine->setParamValue(module, paramId, paramValue); + + #ifdef CARDINAL_INIT_OSC_THREAD + rack::contextSet(nullptr); + #endif } return 0; diff --git a/src/CardinalRemote.cpp b/src/CardinalRemote.cpp index 14db71d..c52023e 100644 --- a/src/CardinalRemote.cpp +++ b/src/CardinalRemote.cpp @@ -1,18 +1,7 @@ /* * DISTRHO Cardinal Plugin * Copyright (C) 2021-2024 Filipe Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. + * SPDX-License-Identifier: GPL-3.0-or-later */ #include @@ -40,6 +29,12 @@ # include #endif +namespace rack { +namespace engine { +void Engine_setRemoteDetails(Engine*, remoteUtils::RemoteDetails*); +} +} + // ----------------------------------------------------------------------------------------------------------- namespace remoteUtils { @@ -53,8 +48,15 @@ static int osc_handler(const char* const path, const char* const types, lo_arg** { d_stdout("osc_handler(\"%s\", ...) - got resp | '%s' '%s'", path, &argv[0]->s, &argv[1]->s); - if (std::strcmp(&argv[0]->s, "hello") == 0 && std::strcmp(&argv[1]->s, "ok") == 0) - static_cast(self)->connected = true; + if (std::strcmp(&argv[0]->s, "hello") == 0) + { + if (std::strcmp(&argv[1]->s, "ok") == 0) + static_cast(self)->connected = true; + } + else if (std::strcmp(&argv[0]->s, "features") == 0) + { + static_cast(self)->screenshot = std::strstr(&argv[1]->s, ":screenshot:") != nullptr; + } } return 0; } @@ -92,8 +94,10 @@ bool connectToRemote(const char* const url) ui->remoteDetails = remoteDetails = new RemoteDetails; remoteDetails->handle = ui; remoteDetails->url = strdup(url); - remoteDetails->connected = true; remoteDetails->autoDeploy = true; + remoteDetails->connected = true; + remoteDetails->first = false; + remoteDetails->screenshot = false; } #elif defined(HAVE_LIBLO) const lo_address addr = lo_address_new_from_url(url); @@ -107,10 +111,16 @@ bool connectToRemote(const char* const url) ui->remoteDetails = remoteDetails = new RemoteDetails; remoteDetails->handle = oscServer; remoteDetails->url = strdup(url); + remoteDetails->autoDeploy = true; + remoteDetails->first = true; remoteDetails->connected = false; - remoteDetails->autoDeploy = false; + remoteDetails->screenshot = false; lo_server_add_method(oscServer, "/resp", nullptr, osc_handler, remoteDetails); + + sendFullPatchToRemote(remoteDetails); + + Engine_setRemoteDetails(context->engine, remoteDetails); } else if (std::strcmp(remoteDetails->url, url) != 0) { diff --git a/src/CardinalRemote.hpp b/src/CardinalRemote.hpp index 991c995..6b67318 100644 --- a/src/CardinalRemote.hpp +++ b/src/CardinalRemote.hpp @@ -1,18 +1,7 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2023 Filipe Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. + * Copyright (C) 2021-2024 Filipe Coelho + * SPDX-License-Identifier: GPL-3.0-or-later */ #pragma once @@ -27,8 +16,10 @@ namespace remoteUtils { struct RemoteDetails { void* handle; const char* url; - bool connected; bool autoDeploy; + bool first; + bool connected; + bool screenshot; }; RemoteDetails* getRemote(); diff --git a/src/override/Engine.cpp b/src/override/Engine.cpp index de59842..ba95f4c 100644 --- a/src/override/Engine.cpp +++ b/src/override/Engine.cpp @@ -1,18 +1,7 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2023 Filipe Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. + * Copyright (C) 2021-2024 Filipe Coelho + * SPDX-License-Identifier: GPL-3.0-or-later */ /** @@ -295,7 +284,7 @@ static void Engine_stepFrame(Engine* that) { Param* smoothParam = &smoothModule->params[smoothParamId]; float value = smoothParam->value; float newValue; - if (internal->remoteDetails != nullptr) { + if (internal->remoteDetails != nullptr && internal->remoteDetails->connected) { newValue = value; sendParamChangeToRemote(internal->remoteDetails, smoothModule->id, smoothParamId, value); } else { @@ -1094,7 +1083,7 @@ void Engine::setParamValue(Module* module, int paramId, float value) { internal->smoothModule = NULL; internal->smoothParamId = 0; } - if (internal->remoteDetails != nullptr) { + if (internal->remoteDetails != nullptr && internal->remoteDetails->connected) { sendParamChangeToRemote(internal->remoteDetails, module->id, paramId, value); } module->params[paramId].setValue(value); diff --git a/src/override/Scene.cpp b/src/override/Scene.cpp index 07976df..909b498 100644 --- a/src/override/Scene.cpp +++ b/src/override/Scene.cpp @@ -1,18 +1,7 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2023 Filipe Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. + * Copyright (C) 2021-2024 Filipe Coelho + * SPDX-License-Identifier: GPL-3.0-or-later */ /** @@ -207,14 +196,19 @@ void Scene::step() { if (remoteUtils::RemoteDetails* const remoteDetails = remoteUtils::getRemote()) { idleRemote(remoteDetails); - if (remoteDetails->autoDeploy) { + if (remoteDetails->autoDeploy && remoteDetails->connected) { const int actionIndex = APP->history->actionIndex; const double time = system::getTime(); if (internal->historyActionIndex == -1) { internal->historyActionIndex = actionIndex; internal->lastSceneChangeTime = time; - } else if (internal->historyActionIndex != actionIndex && actionIndex > 0 && time - internal->lastSceneChangeTime >= 1.0) { + } else if (remoteDetails->first || + (internal->historyActionIndex != actionIndex + && actionIndex > 0 + && time - internal->lastSceneChangeTime >= 1.0)) { + remoteDetails->first = false; + const std::string& name(APP->history->actions[actionIndex - 1]->name); static const std::vector ignoredNames = { "move knob", @@ -224,7 +218,10 @@ void Scene::step() { if (std::find(ignoredNames.cbegin(), ignoredNames.cend(), name) == ignoredNames.cend()) { printf("action '%s'\n", APP->history->actions[actionIndex - 1]->name.c_str()); remoteUtils::sendFullPatchToRemote(remoteDetails); - window::generateScreenshot(); + + if (remoteDetails->screenshot) { + window::generateScreenshot(); + } } internal->historyActionIndex = actionIndex; internal->lastSceneChangeTime = time; @@ -334,8 +331,13 @@ void Scene::onHoverKey(const HoverKeyEvent& e) { if (e.key == GLFW_KEY_F7 && (e.mods & RACK_MOD_MASK) == 0) { if (remoteUtils::RemoteDetails* const remoteDetails = remoteUtils::getRemote()) { - remoteUtils::sendFullPatchToRemote(remoteDetails); - window::generateScreenshot(); + if (remoteDetails->connected) { + remoteUtils::sendFullPatchToRemote(remoteDetails); + + if (remoteDetails->screenshot) { + window::generateScreenshot(); + } + } } e.consume(this); } diff --git a/src/override/Window.cpp b/src/override/Window.cpp index e1b3bf3..6457d04 100644 --- a/src/override/Window.cpp +++ b/src/override/Window.cpp @@ -1,18 +1,7 @@ /* * DISTRHO Cardinal Plugin * Copyright (C) 2021-2024 Filipe Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. + * SPDX-License-Identifier: GPL-3.0-or-later */ /** @@ -598,7 +587,7 @@ static void Window__writeImagePNG(void* context, void* data, int size) { CardinalBaseUI* const ui = static_cast(context); if (char* const screenshot = String::asBase64(data, size).getAndReleaseBuffer()) { ui->setState("screenshot", screenshot); - if (ui->remoteDetails != nullptr) + if (ui->remoteDetails != nullptr && ui->remoteDetails->connected && ui->remoteDetails->screenshot) remoteUtils::sendScreenshotToRemote(ui->remoteDetails, screenshot); std::free(screenshot); } From b5daa7dfa1f3d379bad12ec665af5dee99e309b0 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Sep 2024 20:42:56 +0200 Subject: [PATCH 11/21] Set macOS cmake deploy target to 10.15 on generic builds Signed-off-by: falkTX --- deps/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deps/Makefile b/deps/Makefile index 6e985d4..e9e28a4 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -78,6 +78,9 @@ export MACOSX_DEPLOYMENT_TARGET = $(subst -mmacosx-version-min=,,$(filter -mmaco CMAKE += -DCMAKE_OSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET) else ifeq ($(CIBUILD),true) $(error CI build requires -mmacosx-version-min flag on macOS) +else +export MACOSX_DEPLOYMENT_TARGET = 10.15 +CMAKE += -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 endif CMAKE += -DCMAKE_OSX_SYSROOT="macosx" endif From 7302208a65c48d22b7e353e1bffed4c51f684be5 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Sep 2024 21:09:36 +0200 Subject: [PATCH 12/21] Bump version to 24.09 Signed-off-by: falkTX --- .github/ISSUE_TEMPLATE/bug.yaml | 2 +- Makefile | 2 +- src/CardinalCommon.cpp | 2 +- src/CardinalPlugin.cpp | 2 +- utils/macOS/Info_JACK.plist | 2 +- utils/macOS/Info_Native.plist | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 0511b12..e97eeb4 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -5,7 +5,7 @@ body: id: version attributes: label: Version - value: "24.05" + value: "24.09" validations: required: true - type: dropdown diff --git a/Makefile b/Makefile index b128c43..2e29714 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ include $(ROOT)/Makefile.base.mk # src/CardinalPlugin.cpp `getVersion` # utils/macOS/Info_{JACK,Native}.plist # .github/ISSUE_TEMPLATE/bug.yaml src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist -VERSION = 24.05 +VERSION = 24.09 # -------------------------------------------------------------- # Build targets diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index eabdcd7..fa594db 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -99,7 +99,7 @@ void destroyStaticPlugins(); } } -const std::string CARDINAL_VERSION = "24.05"; +const std::string CARDINAL_VERSION = "24.09"; // ----------------------------------------------------------------------------------------------------------- diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index 5139aec..c6e6616 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -414,7 +414,7 @@ protected: uint32_t getVersion() const override { - return d_version(0, 24, 5); + return d_version(0, 24, 9); } int64_t getUniqueId() const override diff --git a/utils/macOS/Info_JACK.plist b/utils/macOS/Info_JACK.plist index d0980b3..968aa4a 100644 --- a/utils/macOS/Info_JACK.plist +++ b/utils/macOS/Info_JACK.plist @@ -11,7 +11,7 @@ CFBundleIdentifier studio.kx.distrho.cardinal.jack CFBundleShortVersionString - 24.05 + 24.09 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright diff --git a/utils/macOS/Info_Native.plist b/utils/macOS/Info_Native.plist index 1672ad6..2c3d028 100644 --- a/utils/macOS/Info_Native.plist +++ b/utils/macOS/Info_Native.plist @@ -11,7 +11,7 @@ CFBundleIdentifier studio.kx.distrho.cardinal.native CFBundleShortVersionString - 24.05 + 24.09 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright From 6f97bece607cfdb46767909fb82aa0fad2b68b2b Mon Sep 17 00:00:00 2001 From: Filipe Coelho Date: Sun, 22 Sep 2024 18:43:23 +0200 Subject: [PATCH 13/21] Update voxglitch (#706) * Update voxglitch Signed-off-by: falkTX * Fix a voxglitch svg Signed-off-by: falkTX * Add a few symbols to voxglitch LTO Signed-off-by: falkTX --------- Signed-off-by: falkTX --- plugins/Makefile | 3 ++- plugins/plugins.cpp | 47 ++++++++++++++++++++++++++------------------- plugins/voxglitch | 2 +- 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index a71fd17..add96ff 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1301,9 +1301,10 @@ VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob # Voxglitch PLUGIN_FILES += $(filter-out voxglitch/src/plugin.cpp,$(wildcard voxglitch/src/*.cpp)) +PLUGIN_FILES += voxglitch/src/vgLib-2.0/constants.cpp # modules/types which are present in other plugins -VOXGLITCH_CUSTOM = ADSR AudioFile Looper Readout +VOXGLITCH_CUSTOM = $(DRWAV) ADSR AudioFile Looper Quantizer Random Readout SlewLimiter constants VOXGLITCH_CUSTOM_PER_FILE = AudioBuffer GateSequencer Grain SamplePlayer Sequencer SequencerDisplay VoltageSequencer # -------------------------------------------------------------- diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 3cd58a3..3625192 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3350,26 +3350,33 @@ static void initStatic__Voxglitch() if (spl.ok()) { #define modelLooper modelVoxglitchLooper - p->addModel(modelAutobreak); - p->addModel(modelByteBeat); - p->addModel(modelDigitalProgrammer); - p->addModel(modelDigitalSequencer); - p->addModel(modelDigitalSequencerXP); - p->addModel(modelGlitchSequencer); - p->addModel(modelGhosts); - p->addModel(modelGrainEngineMK2); - p->addModel(modelGrainEngineMK2Expander); - p->addModel(modelGrainFx); - p->addModel(modelGrooveBox); - p->addModel(modelGrooveBoxExpander); - p->addModel(modelHazumi); - p->addModel(modelLooper); - p->addModel(modelRepeater); - p->addModel(modelSamplerX8); - p->addModel(modelSatanonaut); - p->addModel(modelWavBank); - p->addModel(modelWavBankMC); - p->addModel(modelXY); + p->addModel(modelArpSeq); + p->addModel(modelAutobreak); + p->addModel(modelAutobreakStudio); + p->addModel(modelByteBeat); + p->addModel(modelDigitalProgrammer); + p->addModel(modelDigitalSequencer); + p->addModel(modelDigitalSequencerXP); + p->addModel(modelDrumRandomizer); + p->addModel(modelGlitchSequencer); + p->addModel(modelGhosts); + p->addModel(modelGrainEngineMK2); + p->addModel(modelGrainEngineMK2Expander); + p->addModel(modelGrainFx); + p->addModel(modelGrooveBox); + p->addModel(modelGrooveBoxExpander); + p->addModel(modelHazumi); + p->addModel(modelOnePoint); + p->addModel(modelOneZero); + p->addModel(modelLooper); + p->addModel(modelNoteDetector); + p->addModel(modelRepeater); + p->addModel(modelSamplerX8); + p->addModel(modelSampler16P); + p->addModel(modelSatanonaut); + p->addModel(modelWavBank); + p->addModel(modelWavBankMC); + p->addModel(modelXY); #undef modelLooper } } diff --git a/plugins/voxglitch b/plugins/voxglitch index 5518697..e609066 160000 --- a/plugins/voxglitch +++ b/plugins/voxglitch @@ -1 +1 @@ -Subproject commit 55186974eeb6c068f2687d7bb4f5c5e1884bf7da +Subproject commit e609066b6371d2b8e3058a374bdaa50c17762407 From 5f4a6786601c6f605fd5fdf1e822090908bc89aa Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 22 Sep 2024 22:26:16 +0200 Subject: [PATCH 14/21] Cleanup cardinal dialogs for voxglitch Signed-off-by: falkTX --- plugins/voxglitch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/voxglitch b/plugins/voxglitch index e609066..3792a1e 160000 --- a/plugins/voxglitch +++ b/plugins/voxglitch @@ -1 +1 @@ -Subproject commit e609066b6371d2b8e3058a374bdaa50c17762407 +Subproject commit 3792a1ee01240c70e4a9d9e9aed6ec90518ac293 From 3c1f9dfb9ab50f01b44687eea5eda10ccbee8725 Mon Sep 17 00:00:00 2001 From: Jojosito Date: Tue, 24 Sep 2024 22:00:49 +0200 Subject: [PATCH 15/21] Add MUS-X plugin (#707) * add MUS-X plugin * fix dual inclusion --------- Co-authored-by: Johannes Rauch --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/MUS-X | 1 + plugins/Makefile | 12 ++++++++++++ plugins/plugins.cpp | 29 +++++++++++++++++++++++++++++ 6 files changed, 48 insertions(+) create mode 160000 plugins/MUS-X diff --git a/.gitmodules b/.gitmodules index 7d9b38a..0c21bd0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -200,6 +200,9 @@ [submodule "plugins/forsitan-modulare"] path = plugins/forsitan-modulare url = https://github.com/gosub/forsitan-modulare.git +[submodule "plugins/MUS-X"] + path = plugins/MUS-X + url = https://github.com/Jojosito/MUS-X.git [submodule "plugins/myth-modules"] path = plugins/myth-modules url = https://github.com/Ahineya/vcv-myth-plugin.git diff --git a/README.md b/README.md index 718db52..5878800 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ At the moment the following 3rd-party modules are provided: - [Mog](https://github.com/JustMog/Mog-VCV) - [mscHack](https://github.com/mschack/VCV-Rack-Plugins) - [MSM](https://github.com/netboy3/MSM-vcvrack-plugin) +- [MUS-X](https://github.com/Jojosito/MUS-X) - [Myth](https://github.com/Ahineya/vcv-myth-plugin) - [Nonlinear Circuits](https://github.com/mhetrick/nonlinearcircuits) - [Orbits](https://github.com/RareBreeds/Orbits) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 024d6ce..745b9d2 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -68,6 +68,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | Mog | CC0-1.0 | | | mscHack | BSD-3-Clause | | | MSM | MIT | Repo's [LICENSE-dist.md](https://github.com/netboy3/MSM-vcvrack-plugin/issues/10) includes wrong information | +| MUS-X | GPL-3.0-or-later | | | Myth | GPL-3.0-or-later | | | Nonlinear Circuits | CC0-1.0 | | | Orbits | GPL-3.0-or-later | | @@ -227,6 +228,7 @@ Below is a list of artwork licenses from plugins | MSM/Fonts/DejaVuSansMono.ttf | Bitstream-Vera | | | MSM/Fonts/Segment7Standard.ttf | OFL-1.1-RFN | | | MSM/Fonts/Sudo.ttf | OFL-1.1-no-RFN | | +| MUS-X/* | GPL-3.0-or-later | No artwork specific license provided | | Myth/* | GPL-3.0-or-later | No artwork specific license provided | | nonlinearcircuits/* | CC0-1.0 | No artwork specific license provided | | nonlinearcircuits/Audiowide-Regular.ttf | OFL-1.1-RFN | | diff --git a/plugins/MUS-X b/plugins/MUS-X new file mode 160000 index 0000000..f622217 --- /dev/null +++ b/plugins/MUS-X @@ -0,0 +1 @@ +Subproject commit f622217ec6b709b7707fb76f85026e0faa93b893 diff --git a/plugins/Makefile b/plugins/Makefile index add96ff..b7fe888 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -930,6 +930,11 @@ PLUGIN_FILES += $(filter-out MSM/src/MSM.cpp,$(wildcard MSM/src/*.cpp)) # modules/types which are present in other plugins MSM_CUSTOM = ADSR BlankPanel Delay LFO LowFrequencyOscillator Mult Noise OP VCA VCO sawTable triTable +# -------------------------------------------------------------- +# MUS-X + +PLUGIN_FILES += $(filter-out MUS-X/src/plugin.cpp,$(wildcard MUS-X/src/*.cpp)) + # -------------------------------------------------------------- # myth-modules @@ -2621,6 +2626,13 @@ $(BUILD_DIR)/MSM/%.cpp.o: MSM/%.cpp $(foreach m,$(MSM_CUSTOM),$(call custom_module_names,$(m),MSM)) \ -DpluginInstance=pluginInstance__MSM +$(BUILD_DIR)/MUS-X/%.cpp.o: MUS-X/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(MUS_X_CUSTOM),$(call custom_module_names,$(m),MUS_X)) \ + -DpluginInstance=pluginInstance__MUS_X + $(BUILD_DIR)/myth-modules/%.cpp.o: myth-modules/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 3625192..ef1da5d 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -759,6 +759,9 @@ extern Model* modelBlankPanel; #undef modelVCA #undef modelVCO +// MUS-X +#include "MUS-X/src/plugin.hpp" + // myth-modules #include "myth-modules/src/plugin.hpp" @@ -955,6 +958,7 @@ Plugin* pluginInstance__MockbaModular; Plugin* pluginInstance__Mog; extern Plugin* pluginInstance__mscHack; Plugin* pluginInstance__MSM; +Plugin* pluginInstance__MUS_X; Plugin* pluginInstance__myth_modules; Plugin* pluginInstance__nonlinearcircuits; Plugin* pluginInstance__Orbits; @@ -2850,6 +2854,30 @@ static void initStatic__MSM() } } +static void initStatic__MUS_X() +{ + Plugin* const p = new Plugin; + pluginInstance__MUS_X = p; + + const StaticPluginLoader spl(p, "MUS-X"); + if (spl.ok()) + { + p->addModel(musx::modelADSR); + p->addModel(musx::modelDelay); + p->addModel(musx::modelDrift); + p->addModel(musx::modelFilter); + p->addModel(musx::modelLast); + p->addModel(musx::modelLFO); + p->addModel(musx::modelModMatrix); + p->addModel(musx::modelOnePole); + p->addModel(musx::modelOnePoleLP); + p->addModel(musx::modelOscillators); + p->addModel(musx::modelSplitStack); + p->addModel(musx::modelSynth); + p->addModel(musx::modelTuner); + } +} + static void initStatic__myth_modules() { Plugin* const p = new Plugin; @@ -3495,6 +3523,7 @@ void initStaticPlugins() initStatic__Mog(); initStatic__mscHack(); initStatic__MSM(); + initStatic__MUS_X(); initStatic__myth_modules(); initStatic__nonlinearcircuits(); initStatic__Orbits(); From 2798ef3819fa3265cc850c150536491dd33ff43b Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 24 Sep 2024 22:11:45 +0200 Subject: [PATCH 16/21] Add MUS-X presets to resources Signed-off-by: falkTX --- plugins/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/Makefile b/plugins/Makefile index b7fe888..d912281 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1472,6 +1472,7 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes RESOURCE_FILES += Mog/res +RESOURCE_FILES += MUS-X/presets RESOURCE_FILES += nonlinearcircuits/res RESOURCE_FILES += ParableInstruments/res/Neil.png RESOURCE_FILES += surgext/build/surge-data/configuration.xml From c3c87659cf43b4f8732173f07d3d722447b2f6bc Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 29 Sep 2024 23:11:21 +0200 Subject: [PATCH 17/21] CI: add macOS debug artifacts Signed-off-by: falkTX --- .github/workflows/build.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1517211..d94a3ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -159,12 +159,20 @@ jobs: macos: strategy: matrix: + debug: [0, 1] target: [universal-10.15] runs-on: macos-12 steps: - uses: actions/checkout@v4 with: submodules: recursive + - name: Set debug or release + shell: bash + run: | + if [ "${{ matrix.debug }}" -eq 1 ]; then + echo "TARGET_SUFFIX=-debug" >> $GITHUB_ENV + echo "PAWPAW_DEBUG=1" >> $GITHUB_ENV + fi - name: Set up cache id: cache uses: actions/cache@v4 @@ -179,7 +187,7 @@ jobs: src/Rack/dep/libarchive-3.4.3 src/Rack/dep/libsamplerate-0.1.9 src/Rack/dep/zstd-1.4.5 - key: macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }} + key: macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }} - name: Setup dependencies run: | ./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-${{ matrix.target }} @@ -191,7 +199,7 @@ jobs: if: steps.cache.outputs.cache-hit == 'true' uses: hendrikmuhs/ccache-action@v1.2 with: - key: ccache-macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }} + key: ccache-macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }} - name: Build macOS (base) if: steps.cache.outputs.cache-hit == 'true' shell: bash @@ -215,14 +223,14 @@ jobs: - name: Rename macOS bundle if: steps.cache.outputs.cache-hit == 'true' run: | - mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}.pkg + mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-${{ github.event.pull_request.number || env.SHA8 }}.pkg - uses: actions/upload-artifact@v4 with: - name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }} + name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-${{ github.event.pull_request.number || env.SHA8 }} path: | ${{ github.event.repository.name }}-*.pkg - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') + if: ${{ matrix.debug == '0' && startsWith(github.ref, 'refs/tags/') }} with: tag_name: ${{ github.ref_name }} name: ${{ github.ref_name }} From 813772d598b350d8b585ebe08306062d0927e4d9 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Fri, 4 Oct 2024 17:35:17 -0400 Subject: [PATCH 18/21] Update DIFFERENCES.md In the section "Additionally, Cardinal contains the following built-in modules not present in the official plugin or standalone:" - Removed mscHack (it was ported to v2) - Added Arable Instruments and Parable Instruments - Made it clear which modules were in the DISTRHO collection - Minor grammar fixes --- docs/DIFFERENCES.md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/DIFFERENCES.md b/docs/DIFFERENCES.md index 024b81d..ef31a08 100644 --- a/docs/DIFFERENCES.md +++ b/docs/DIFFERENCES.md @@ -47,16 +47,17 @@ Bellow follows a list of features comparing the official plugin to Cardinal. Additionally, Cardinal contains the following built-in modules not present in the official plugin or standalone: * Aria Salvatrice modules (except Arcane related modules, due to their online requirement) + * Arable Instruments and Parable Instruments (never updated to v2) * Mog (never updated to v2) - * mscHack (never updated to v2) - * rackwindows - * AIDA-X - * Audio File - * Audio to CV Pitch converter - * Carla Plugin Host - * Ildaeil Host - * glBars (OpenGL bars visualization, as seen in XMMS and XBMC/Kodi) - * Text Editor (resizable and with syntax highlight) - * Host Parameters (24 host-exposed parameters as CV sources) - * Host Time (play, reset, bar, beat, tick, bar-phase and beat-phase CV sources) - * Host CV (for the Raw-CV plugin variant, allows direct CV access to/from the DAW) + * Rackwindows (never updated to v2) + * The DISTRHO collection, including: + * AIDA-X + * Audio File + * Audio to CV Pitch converter + * Carla Plugin Host + * Ildaeil Host + * glBars (OpenGL bars visualization, as seen in XMMS and XBMC/Kodi) + * Text Editor (resizable and with syntax highlight) + * Host Parameters (24 host-exposed parameters as CV sources) + * Host Time (play, reset, bar, beat, tick, bar-phase and beat-phase CV sources) + * Host CV (for the Raw-CV plugin variant, allows direct CV access to/from the DAW) From 52d71a107ff156c6aadd6d2135fdeff73ff85fdd Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 6 Oct 2024 11:47:12 +0200 Subject: [PATCH 19/21] Update pugl for custom macOS wheel handling Signed-off-by: falkTX --- deps/PawPaw | 2 +- dpf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/PawPaw b/deps/PawPaw index 0edef21..789379d 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit 0edef2120e7fd493493e66967438c0b2ea8c8552 +Subproject commit 789379db057cff319a2322de4fa92090334a4e72 diff --git a/dpf b/dpf index 5446300..6b04262 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 5446300eac8f0480d6b2a2967d7dec2f227fe1bd +Subproject commit 6b042628933f220a05571bde6a02fe0198a96b5d From 5755eddcbea4e96a77c8eccd5a12e4337a0374de Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 8 Oct 2024 10:43:38 +0200 Subject: [PATCH 20/21] Fix macos-debug build Signed-off-by: falkTX --- deps/PawPaw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/PawPaw b/deps/PawPaw index 789379d..e0a81ba 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit 789379db057cff319a2322de4fa92090334a4e72 +Subproject commit e0a81ba6f24b194c7aa0c6828d422f1354256a09 From 980deb2f31937abd29ab4c20d30dac2676ee8541 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Wed, 9 Oct 2024 01:38:37 -0400 Subject: [PATCH 21/21] Sapphire version 2.5.1 (#713) --- plugins/Sapphire | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index ccca9e1..b5d2fc1 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit ccca9e17a75798746feef177fb6fb63325bcd80b +Subproject commit b5d2fc122382d7934b3ea92e05ad91a9aec89504 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index ef1da5d..01905d1 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3110,6 +3110,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphireFrolic); p->addModel(modelSapphireGalaxy); p->addModel(modelSapphireGlee); + p->addModel(modelSapphireGravy); p->addModel(modelSapphireHiss); p->addModel(modelSapphireMoots); p->addModel(modelSapphireNucleus);