From 7b9bd6cf64785dd1671aca8510869f14afe82200 Mon Sep 17 00:00:00 2001 From: CV funk Date: Mon, 15 Apr 2024 10:32:29 +0200 Subject: [PATCH 01/57] Update CV funk to 2.0.3 Added Ouros stereo phase injection oscillator Numerous small buxfixes to other modules --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 9829130..9b36e61 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 9829130ab972ff4a0c0b1467580bf04b9efcd7b2 +Subproject commit 9b36e612109fef8eee8edfe25d6868e47d13b6f2 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 3ab90db..b2080f6 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1852,6 +1852,7 @@ static void initStatic__CVfunk() p->addModel(modelCollatz); p->addModel(modelStrings); p->addModel(modelMagnets); + p->addModel(modelOuros); #undef modelSteps } } From b8acc6e91d913fbac0f01a154fcac67c5b05eec7 Mon Sep 17 00:00:00 2001 From: CV funk Date: Wed, 17 Apr 2024 12:36:56 +0200 Subject: [PATCH 02/57] CVfunk bugfix Fixed a bug reported by Windows10 users where switching circ/star modes in PentaSequencer would cause a crash. --- plugins/CVfunk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 9b36e61..cfafceb 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 9b36e612109fef8eee8edfe25d6868e47d13b6f2 +Subproject commit cfafceb1c2b0b64b496d3118972b3330460290ab From c2d495274c9d12e93d64d3a14929396d96d05a35 Mon Sep 17 00:00:00 2001 From: CV funk Date: Thu, 2 May 2024 23:27:24 +0200 Subject: [PATCH 03/57] CV funk v2.0.4 Added PressedDuck, ducking compressing saturating stereo mixer. Panel updates, CPU improvements. --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index cfafceb..d0abf0e 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit cfafceb1c2b0b64b496d3118972b3330460290ab +Subproject commit d0abf0ea9c7847f61cc280a18c3d01ad4e0b5100 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 8b2d834..3bb4372 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1966,6 +1966,7 @@ static void initStatic__CVfunk() p->addModel(modelStrings); p->addModel(modelMagnets); p->addModel(modelOuros); + p->addModel(modelPressedDuck); #undef modelSteps } } From 2bcedefd585fc6c34c97870d369ad39fe36adc84 Mon Sep 17 00:00:00 2001 From: CV funk Date: Fri, 10 May 2024 18:30:13 +0200 Subject: [PATCH 04/57] 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 --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index d0abf0e..49a1b69 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit d0abf0ea9c7847f61cc280a18c3d01ad4e0b5100 +Subproject commit 49a1b695db62cc93a9aa0a84a01dd00fd63ccb34 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index c4ce74e..5caa03b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1978,6 +1978,7 @@ static void initStatic__CVfunk() p->addModel(modelMagnets); p->addModel(modelOuros); p->addModel(modelPressedDuck); + p->addModel(modelFlowerPatch); #undef modelSteps } } From 7f1e0c95da01eee39c59e0a7291ae8e7f41808d2 Mon Sep 17 00:00:00 2001 From: CV funk Date: Fri, 10 May 2024 20:49:18 +0200 Subject: [PATCH 05/57] CV funk 2.0.5 edit: added self-illuminating layers --- plugins/CVfunk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 49a1b69..b158d0b 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 49a1b695db62cc93a9aa0a84a01dd00fd63ccb34 +Subproject commit b158d0bfe48cf685e7b4ff8e406d7e731f973eac From 2394a455535a4a4cc2eacc0c2ebfe60786df9010 Mon Sep 17 00:00:00 2001 From: CV funk Date: Sat, 1 Jun 2024 09:41:11 +0200 Subject: [PATCH 06/57] 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 --- plugins/CVfunk | 2 +- plugins/Sapphire | 2 +- plugins/plugins.cpp | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index b158d0b..0ffebb1 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit b158d0bfe48cf685e7b4ff8e406d7e731f973eac +Subproject commit 0ffebb17c460953f8bd8f97c34c43227705531f2 diff --git a/plugins/Sapphire b/plugins/Sapphire index 0bcc1f4..b66e26b 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 0bcc1f4a48a7a7d59013f5f4a12574f7453a5edf +Subproject commit b66e26bc7aa5c5464382cac307aac82fa45fbc11 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 5caa03b..24b6f63 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1979,6 +1979,7 @@ static void initStatic__CVfunk() p->addModel(modelOuros); p->addModel(modelPressedDuck); p->addModel(modelFlowerPatch); + p->addModel(modelSyncro); #undef modelSteps } } From 3dcdfe0ee138e2b8f3749da91f841fee2829971c Mon Sep 17 00:00:00 2001 From: CV funk Date: Sat, 1 Jun 2024 09:46:59 +0200 Subject: [PATCH 07/57] Revert "CV funk v2.0.6" This reverts commit 2394a455535a4a4cc2eacc0c2ebfe60786df9010. --- plugins/CVfunk | 2 +- plugins/Sapphire | 2 +- plugins/plugins.cpp | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 0ffebb1..b158d0b 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 0ffebb17c460953f8bd8f97c34c43227705531f2 +Subproject commit b158d0bfe48cf685e7b4ff8e406d7e731f973eac diff --git a/plugins/Sapphire b/plugins/Sapphire index b66e26b..0bcc1f4 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit b66e26bc7aa5c5464382cac307aac82fa45fbc11 +Subproject commit 0bcc1f4a48a7a7d59013f5f4a12574f7453a5edf diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 24b6f63..5caa03b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1979,7 +1979,6 @@ static void initStatic__CVfunk() p->addModel(modelOuros); p->addModel(modelPressedDuck); p->addModel(modelFlowerPatch); - p->addModel(modelSyncro); #undef modelSteps } } From e937d0cba16e6a194e30ce0b1ee2db96d39b2c7b Mon Sep 17 00:00:00 2001 From: CV funk Date: Sat, 1 Jun 2024 09:51:57 +0200 Subject: [PATCH 08/57] 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 --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index b158d0b..0ffebb1 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit b158d0bfe48cf685e7b4ff8e406d7e731f973eac +Subproject commit 0ffebb17c460953f8bd8f97c34c43227705531f2 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 8950bf3..0b1bda1 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1983,6 +1983,7 @@ static void initStatic__CVfunk() p->addModel(modelOuros); p->addModel(modelPressedDuck); p->addModel(modelFlowerPatch); + p->addModel(modelSyncro); #undef modelSteps } } From 3475d401e868258860a2cb957f0b98ff921b55d9 Mon Sep 17 00:00:00 2001 From: CV funk Date: Thu, 6 Jun 2024 22:56:05 +0200 Subject: [PATCH 09/57] 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 | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 0ffebb1..37d6a2a 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 0ffebb17c460953f8bd8f97c34c43227705531f2 +Subproject commit 37d6a2ac4562a266474aab47ff4b490ddd7dfc64 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 0b1bda1..6e869d1 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1984,6 +1984,9 @@ static void initStatic__CVfunk() p->addModel(modelPressedDuck); p->addModel(modelFlowerPatch); p->addModel(modelSyncro); + p->addModel(modelNona); + p->addModel(modelDecima); + p->addModel(modelMorta); #undef modelSteps } } From ba0b35135329cedcb33bdf0185b86d8f7a207a18 Mon Sep 17 00:00:00 2001 From: Cody Geary Date: Sat, 12 Oct 2024 21:19:38 +0200 Subject: [PATCH 10/57] Update to CV funk 2.0.9 --- plugins/CVfunk | 2 +- plugins/plugins.cpp | 42 +++++++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 37d6a2a..994b6cd 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 37d6a2ac4562a266474aab47ff4b490ddd7dfc64 +Subproject commit 994b6cde4ff17c2ff5b070b31b4a5fb5ba957bb5 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 01905d1..209a48a 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1977,25 +1977,29 @@ static void initStatic__CVfunk() const StaticPluginLoader spl(p, "CVfunk"); if (spl.ok()) { -#define modelSteps modelCVfunkSteps - p->addModel(modelSteps); - p->addModel(modelEnvelopeArray); - p->addModel(modelPentaSequencer); - p->addModel(modelImpulseController); - p->addModel(modelSignals); - p->addModel(modelRanges); - p->addModel(modelHexMod); - p->addModel(modelCollatz); - p->addModel(modelStrings); - p->addModel(modelMagnets); - p->addModel(modelOuros); - p->addModel(modelPressedDuck); - p->addModel(modelFlowerPatch); - p->addModel(modelSyncro); - p->addModel(modelNona); - p->addModel(modelDecima); - p->addModel(modelMorta); -#undef modelSteps + #define modelSteps modelCVfunkSteps + p->addModel(modelSteps); + p->addModel(modelEnvelopeArray); + p->addModel(modelPentaSequencer); + p->addModel(modelImpulseController); + p->addModel(modelSignals); + p->addModel(modelRanges); + p->addModel(modelHexMod); + p->addModel(modelCollatz); + p->addModel(modelStrings); + p->addModel(modelMagnets); + p->addModel(modelOuros); + p->addModel(modelPressedDuck); + p->addModel(modelFlowerPatch); + p->addModel(modelSyncro); + p->addModel(modelNona); + p->addModel(modelDecima); + p->addModel(modelMorta); + p->addModel(modelStepWave); + p->addModel(modelPreeeeeeeeeeessedDuck); + p->addModel(modelArrange); + p->addModel(modelTriDelay); + #undef modelSteps } } From 69377a5858e7e81636b245649d344175323a95e2 Mon Sep 17 00:00:00 2001 From: Cody Geary Date: Sat, 14 Dec 2024 08:57:09 +0100 Subject: [PATCH 11/57] Update CVfunk --- plugins/CVfunk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index 994b6cd..a116e6b 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit 994b6cde4ff17c2ff5b070b31b4a5fb5ba957bb5 +Subproject commit a116e6b18ac05974a23509cc47adfd86e8406385 From da825bdfb2852f9f2f0ab5b6470e6926f8ba5540 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 14 Dec 2024 15:14:13 +0100 Subject: [PATCH 12/57] Tag MPE as supported (used in CLAP and AU) Signed-off-by: falkTX --- dpf | 2 +- src/Cardinal/DistrhoPluginInfo.h | 1 + src/CardinalFX/DistrhoPluginInfo.h | 1 + src/CardinalMini/DistrhoPluginInfo.h | 1 + src/CardinalMiniSep/DistrhoPluginInfo.h | 1 + src/CardinalNative/DistrhoPluginInfo.h | 1 + src/CardinalSynth/DistrhoPluginInfo.h | 1 + 7 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dpf b/dpf index c1ef624..32d911c 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit c1ef6244581cf8378366c686cf210e3062ec40a5 +Subproject commit 32d911c1decd721520e44adce2ca7a92ca0ec4f0 diff --git a/src/Cardinal/DistrhoPluginInfo.h b/src/Cardinal/DistrhoPluginInfo.h index 200488a..dca872d 100644 --- a/src/Cardinal/DistrhoPluginInfo.h +++ b/src/Cardinal/DistrhoPluginInfo.h @@ -53,6 +53,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 1 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS + 10 #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS + 10 +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalFX/DistrhoPluginInfo.h b/src/CardinalFX/DistrhoPluginInfo.h index 1401000..b01d6f2 100644 --- a/src/CardinalFX/DistrhoPluginInfo.h +++ b/src/CardinalFX/DistrhoPluginInfo.h @@ -53,6 +53,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 0 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalMini/DistrhoPluginInfo.h b/src/CardinalMini/DistrhoPluginInfo.h index c98736a..f9fcd18 100644 --- a/src/CardinalMini/DistrhoPluginInfo.h +++ b/src/CardinalMini/DistrhoPluginInfo.h @@ -44,6 +44,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 0 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS + 5 #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS + 5 +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalMiniSep/DistrhoPluginInfo.h b/src/CardinalMiniSep/DistrhoPluginInfo.h index 3593730..cab92d1 100644 --- a/src/CardinalMiniSep/DistrhoPluginInfo.h +++ b/src/CardinalMiniSep/DistrhoPluginInfo.h @@ -43,6 +43,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 0 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS + 5 #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS + 5 +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalNative/DistrhoPluginInfo.h b/src/CardinalNative/DistrhoPluginInfo.h index 3b8081d..88eff03 100644 --- a/src/CardinalNative/DistrhoPluginInfo.h +++ b/src/CardinalNative/DistrhoPluginInfo.h @@ -53,6 +53,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 0 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalSynth/DistrhoPluginInfo.h b/src/CardinalSynth/DistrhoPluginInfo.h index 2d9c3fd..6cf1102 100644 --- a/src/CardinalSynth/DistrhoPluginInfo.h +++ b/src/CardinalSynth/DistrhoPluginInfo.h @@ -52,6 +52,7 @@ #define DISTRHO_PLUGIN_IS_SYNTH 1 #define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS #define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS +#define DISTRHO_PLUGIN_WANT_MIDI_AS_MPE 1 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 From e4abb1cd78cfe9700eb68914c9b34bf55e196bad Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 14 Dec 2024 17:03:03 +0100 Subject: [PATCH 13/57] Fix DrumKit shadow code (bad license) and sequencer reset Signed-off-by: falkTX --- plugins/DrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/DrumKit b/plugins/DrumKit index e4eb7ad..b94c5de 160000 --- a/plugins/DrumKit +++ b/plugins/DrumKit @@ -1 +1 @@ -Subproject commit e4eb7adaff1afa731563e09c83e35d87319d4654 +Subproject commit b94c5deb9b93d810f582221f03db8a6feaee6679 From b7a53837127470c6bb5689d1f9c9d7a141db6a60 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Mon, 23 Dec 2024 01:36:21 -0500 Subject: [PATCH 14/57] Sapphire v2.5.6: Bug fixes in Chaops. (#776) The chaos modules Frolic/Glee/Lark were setting the polyphonic P output correctly based on the Chaops MORPH control, and they sent the correct output to a Tricorder on the right, but they did not include the morphed vector to their monophonic XYZ ports. This has been corrected so that XYZ match P. Added help text to Chaops MORPH CV input port. --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index fcfdfab..9665f4b 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit fcfdfab93efed535ea65e0a47c870f6e2e6654be +Subproject commit 9665f4bddb59841ef74ff206fe91345c146fed52 From b10c88026b046ff1c316829a92eb80020de8bf2c Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 14 Dec 2024 17:03:03 +0100 Subject: [PATCH 15/57] Update ZZC --- plugins/ZZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ZZC b/plugins/ZZC index 1536461..f590088 160000 --- a/plugins/ZZC +++ b/plugins/ZZC @@ -1 +1 @@ -Subproject commit 15364616da500d31f7545dcbfc01b4fda7f7c9d4 +Subproject commit f5900888025fcfad7842770e83365ba743bb51bd From 777c5ae3e5c324d60160f08a6804053489fc1893 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Thu, 26 Dec 2024 21:50:18 -0500 Subject: [PATCH 16/57] Updated PathSet. --- plugins/PathSet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PathSet b/plugins/PathSet index 66e69a2..2f55b4b 160000 --- a/plugins/PathSet +++ b/plugins/PathSet @@ -1 +1 @@ -Subproject commit 66e69a2f2047e3dab06275b12852e56d143388cf +Subproject commit 2f55b4b115e76623ef54e24c30daad4d576a4446 From 5b7ce484b5534a6ad1e5e2d65860d9a8df057056 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Thu, 26 Dec 2024 21:57:01 -0500 Subject: [PATCH 17/57] Update Amalgamated Harmonics. --- plugins/AmalgamatedHarmonics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/AmalgamatedHarmonics b/plugins/AmalgamatedHarmonics index 97700c0..bf74c2b 160000 --- a/plugins/AmalgamatedHarmonics +++ b/plugins/AmalgamatedHarmonics @@ -1 +1 @@ -Subproject commit 97700c06af7df4d8fcf173ae3670b7907a682627 +Subproject commit bf74c2b7674c610cfc57421157d814c98bd92438 From 7b46f11da6194641f42792463b3ac8f486471fab Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Thu, 26 Dec 2024 22:11:17 -0500 Subject: [PATCH 18/57] Update MockbaModular. --- plugins/MockbaModular | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/MockbaModular b/plugins/MockbaModular index 479d2c8..b819787 160000 --- a/plugins/MockbaModular +++ b/plugins/MockbaModular @@ -1 +1 @@ -Subproject commit 479d2c8007b2087cdf557a491df25c5b85784a96 +Subproject commit b819787d86a1db0ad6f4208cb96b8e3589b5e4ee From f4ba8790db182fda3af32e6f3bdfcbb1ff20ee7c Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Thu, 26 Dec 2024 22:27:59 -0500 Subject: [PATCH 19/57] Update LyraeModules --- plugins/LyraeModules | 2 +- plugins/plugins.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/LyraeModules b/plugins/LyraeModules index 8162f0d..b6dde88 160000 --- a/plugins/LyraeModules +++ b/plugins/LyraeModules @@ -1 +1 @@ -Subproject commit 8162f0d6aee157425c7d7eb3582d905c9ac6c43e +Subproject commit b6dde88e4d780de0207ece26c5b7de23d61c84e6 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index b7a7b42..2513986 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -611,6 +611,8 @@ extern Model* modelDelta; extern Model* modelVega; extern Model* modelBD383238; extern Model* modelZeta; +extern Model* modelSheliak; +extern Model* modelBeta; #undef modelDelta // Meander @@ -2655,6 +2657,8 @@ static void initStatic__Lyrae() p->addModel(modelVega); p->addModel(modelBD383238); p->addModel(modelZeta); + p->addModel(modelSheliak); + p->addModel(modelBeta); #undef modelDelta } } From 426fda50543d76d20885de43fcfb39e0cfd21231 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Tue, 31 Dec 2024 16:15:24 -0500 Subject: [PATCH 20/57] Update HetrickCV. (#784) * Add OptikEcho, a polyphonic piano emulator. * Update HetrickCV * Revert "Add OptikEcho, a polyphonic piano emulator." This reverts commit 5099055c7734b98b41a3e112f194f989db09a637. * Fix whitespace. * Fix whitespace again. * Fix even more whitespace. --- plugins/HetrickCV | 2 +- plugins/plugins.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/HetrickCV b/plugins/HetrickCV index 4dc7c53..49e2bc0 160000 --- a/plugins/HetrickCV +++ b/plugins/HetrickCV @@ -1 +1 @@ -Subproject commit 4dc7c53b9f230bfd4f6c4deb432c477a65188ac0 +Subproject commit 49e2bc0f6a3ef4d1616b78d6280a6d4e7ee222d3 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 2513986..2d8ca4b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -484,6 +484,7 @@ extern Model* modelPhasorAnalyzer; extern Model* modelPhasorBurstGen; extern Model* modelPhasorDivMult; extern Model* modelPhasorEuclidean; +extern Model* modelPhasorFreezer; extern Model* modelPhasorGates; extern Model* modelPhasorGates32; extern Model* modelPhasorGates64; @@ -492,6 +493,7 @@ extern Model* modelPhasorGeometry; extern Model* modelPhasorHumanizer; extern Model* modelPhasorMixer; extern Model* modelPhasorOctature; +extern Model* modelPhasorProbability; extern Model* modelPhasorQuadrature; extern Model* modelPhasorRandom; extern Model* modelPhasorRanger; @@ -499,6 +501,7 @@ extern Model* modelPhasorReset; extern Model* modelPhasorRhythmGroup; extern Model* modelPhasorShape; extern Model* modelPhasorShift; +extern Model* modelPhasorSplitter; extern Model* modelPhasorStutter; extern Model* modelPhasorSubstepShape; extern Model* modelPhasorSwing; @@ -511,6 +514,7 @@ extern Model* modelRandomGates; extern Model* modelRotator; extern Model* modelRungler; extern Model* modelScanner; +extern Model* modelTrigShaper; extern Model* modelVectorMix; extern Model* modelWaveshape; extern Model* modelXYToPolar; @@ -2413,6 +2417,7 @@ static void initStatic__HetrickCV() p->addModel(modelPhasorBurstGen); p->addModel(modelPhasorDivMult); p->addModel(modelPhasorEuclidean); + p->addModel(modelPhasorFreezer); p->addModel(modelPhasorGates); p->addModel(modelPhasorGates32); p->addModel(modelPhasorGates64); @@ -2421,6 +2426,7 @@ static void initStatic__HetrickCV() p->addModel(modelPhasorHumanizer); p->addModel(modelPhasorMixer); p->addModel(modelPhasorOctature); + p->addModel(modelPhasorProbability); p->addModel(modelPhasorQuadrature); p->addModel(modelPhasorRandom); p->addModel(modelPhasorRanger); @@ -2428,6 +2434,7 @@ static void initStatic__HetrickCV() p->addModel(modelPhasorRhythmGroup); p->addModel(modelPhasorShape); p->addModel(modelPhasorShift); + p->addModel(modelPhasorSplitter); p->addModel(modelPhasorStutter); p->addModel(modelPhasorSubstepShape); p->addModel(modelPhasorSwing); @@ -2440,6 +2447,7 @@ static void initStatic__HetrickCV() p->addModel(modelRotator); p->addModel(modelRungler); p->addModel(modelScanner); + p->addModel(modelTrigShaper); p->addModel(modelVectorMix); p->addModel(modelWaveshape); p->addModel(modelXYToPolar); From e8afd711b0cfe54c187aeae8fb36dba9db9db43c Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Tue, 31 Dec 2024 18:21:58 -0500 Subject: [PATCH 21/57] Update kocmoc. (#786) * Update kocmoc * Fix whitespace. * Update HetrickCV. (#784) * Add OptikEcho, a polyphonic piano emulator. * Update HetrickCV * Revert "Add OptikEcho, a polyphonic piano emulator." This reverts commit 5099055c7734b98b41a3e112f194f989db09a637. * Fix whitespace. * Fix whitespace again. * Fix even more whitespace. * Update module colors. * Revert "Update HetrickCV. (#784)" This reverts commit 008ddbc2d756d276a95fd0781234a3127c7ee950. --- plugins/kocmoc | 2 +- plugins/plugins.cpp | 2 ++ src/custom/dep.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/kocmoc b/plugins/kocmoc index eb46ce3..eaf7cbf 160000 --- a/plugins/kocmoc +++ b/plugins/kocmoc @@ -1 +1 @@ -Subproject commit eb46ce3a8b5795d61c2e3eb60f6ca58799a8cee2 +Subproject commit eaf7cbf3af0a8525d3c649c53eab476c3052d41b diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 2d8ca4b..5882a85 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -2574,8 +2574,10 @@ static void initStatic__kocmoc() if (spl.ok()) { p->addModel(modelSVF_1); + p->addModel(modeluSVF); p->addModel(modelTRG); p->addModel(modelLADR); + p->addModel(modeluLADR); p->addModel(modelOP); p->addModel(modelPHASR); p->addModel(modelMUL); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 72b76f4..c6b83cf 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -285,11 +285,13 @@ static const struct { // GPL-3.0-or-later { kModeKocmoc, "/kocmoc/res/DDLY.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/LADR.svg", {}, -1 }, + { kModeKocmoc, "/kocmoc/res/uLADR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/MUL.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/OP.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/PHASR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/SKF.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/SVF.svg", {}, -1 }, + { kModeKocmoc, "/kocmoc/res/uSVF.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/TRG.svg", {}, -1 }, // GPL-3.0-or-later { kModeMyth, "/myth-modules/res/Mavka.svg", {}, -1 }, From 8e62521572bb8c76c1e6b81fb67eb94ed96f50bb Mon Sep 17 00:00:00 2001 From: Don Cross Date: Tue, 7 Jan 2025 01:03:18 -0500 Subject: [PATCH 22/57] Sapphire v2.5.7: Elastika CPU optimization + resampler option. (#789) Elastika now uses about 60% of the CPU it used to, thanks to a complete overhaul of its physics engine. Added an optional resampler to run Elastika at a different rate than the engine rate. For backward compatibility, the resampler is disabled by default. UI improvement: the channel count sliders in Hiss, Pop, and Split/Add/Merge now visually "snap" in steps, instead of sliding smoothly. --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 9665f4b..53464d2 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 9665f4bddb59841ef74ff206fe91345c146fed52 +Subproject commit 53464d2e626f5203e4f666069a43950481bc2b42 From 89a18eb2f8af0c78bd60d621718fcec10c0327fb Mon Sep 17 00:00:00 2001 From: Don Cross Date: Wed, 8 Jan 2025 03:26:40 -0500 Subject: [PATCH 23/57] Sapphire v2.5.7, release candidate 2: Elastika minor cleanup (#790) Removed unused member variable PhysicsMesh::gravity. The gravity concept was abandoned before I released the first version of Elastika, and has never been used. --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 53464d2..f838c23 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 53464d2e626f5203e4f666069a43950481bc2b42 +Subproject commit f838c2364366c2b258cd63dd5ec5158237c96ed1 From 2e9bc2d68a31114c5170007b83fd6b983c126132 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 28 Feb 2025 06:18:17 -0500 Subject: [PATCH 24/57] Sapphire v2.5.8 - new module "Env". (#805) Added new module Sapphire Env: envelope follower and pitch detector. Elastika adds polyphonic stereo in/out options. Minor display glitch fixed in Tin + Tricorder combination. --- plugins/Sapphire | 2 +- plugins/plugins.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index f838c23..c65bf21 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit f838c2364366c2b258cd63dd5ec5158237c96ed1 +Subproject commit c65bf21e00c984613749ce76ba07633f3eb8d61f diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 5882a85..67829de 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3174,6 +3174,7 @@ static void initStatic__Sapphire() { p->addModel(modelSapphireChaops); p->addModel(modelSapphireElastika); + p->addModel(modelSapphireEnv); p->addModel(modelSapphireFrolic); p->addModel(modelSapphireGalaxy); p->addModel(modelSapphireGlee); From fc854653dac9b7c7f662a28391be8b97f5ca7518 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Mon, 10 Mar 2025 07:10:41 +0100 Subject: [PATCH 25/57] update Befaco to v2.9.0 and add new modules (#810) --- plugins/Befaco | 2 +- plugins/Makefile | 2 +- plugins/plugins.cpp | 15 ++++++++++++++- src/custom/dep.cpp | 5 +++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/plugins/Befaco b/plugins/Befaco index 5a80023..5914634 160000 --- a/plugins/Befaco +++ b/plugins/Befaco @@ -1 +1 @@ -Subproject commit 5a80023d86e0f67ead3e27385170310cd430d44c +Subproject commit 5914634cd91cf11cc32394616252beb19c5c934c diff --git a/plugins/Makefile b/plugins/Makefile index 58bd300..ff10677 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -560,7 +560,7 @@ PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp Befaco/src/MidiThing.cpp,$(wi PLUGIN_FILES += $(wildcard Befaco/src/noise-plethora/*/*.cpp) # modules/types which are present in other plugins -BEFACO_CUSTOM = ADSR Mixer chowdsp Burst RecordButton +BEFACO_CUSTOM = ADSR Mixer chowdsp Burst RecordButton Mixer2 Slew BEFACO_FLAGS = $(filter-out -fsingle-precision-constant,$(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS))) BEFACO_FLAGS += -std=gnu++17 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 67829de..096d2d9 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -147,10 +147,14 @@ extern Model* modelChord; #define modelADSR modelBefacoADSR #define modelMixer modelBefacoMixer #define modelBurst modelBefacoBurst +#define modelMixer2 modelBefacoMixer2 +#define modelSlew modelBefacoSlew #include "Befaco/src/plugin.hpp" #undef modelADSR #undef modelMixer #undef modelBurst +#undef modelMixer2 +#undef modelSlew // Bidoo #include "Bidoo/src/plugin.hpp" @@ -1614,6 +1618,8 @@ static void initStatic__Befaco() #define modelADSR modelBefacoADSR #define modelMixer modelBefacoMixer #define modelBurst modelBefacoBurst +#define modelMixer2 modelBefacoMixer2 +#define modelSlew modelBefacoSlew p->addModel(modelEvenVCO); p->addModel(modelRampage); p->addModel(modelABC); @@ -1640,9 +1646,16 @@ static void initStatic__Befaco() p->addModel(modelOctaves); p->addModel(modelBypass); p->addModel(modelBandit); + p->addModel(modelAtte); + p->addModel(modelAxBC); + p->addModel(modelMixer2); + p->addModel(modelMuDi); + p->addModel(modelSlew); #undef modelADSR #undef modelMixer #undef modelBurst +#undef modelMixer2 +#undef modelSlew // NOTE disabled in Cardinal due to MIDI usage spl.removeModule("MidiThingV2"); @@ -2044,7 +2057,7 @@ static void initStatic__CVfunk() p->addModel(modelStepWave); p->addModel(modelPreeeeeeeeeeessedDuck); p->addModel(modelArrange); - p->addModel(modelTriDelay); + p->addModel(modelTriDelay); #undef modelSteps } } diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index c6b83cf..12feb52 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -435,6 +435,11 @@ static const struct { { kModeBefaco, "/Befaco/res/panels/Octaves.svg" }, { kModeBefaco, "/Befaco/res/panels/Bypass.svg" }, { kModeBefaco, "/Befaco/res/panels/Bandit.svg" }, + { kModeBefaco, "/Befaco/res/panels/Atte.svg" }, + { kModeBefaco, "/Befaco/res/panels/AxBC.svg" }, + { kModeBefaco, "/Befaco/res/panels/Mixer2.svg" }, + { kModeBefaco, "/Befaco/res/panels/MuDi.svg" }, + { kModeBefaco, "/Befaco/res/panels/Slew.svg" }, // GPLv3+ { kModeCardinal, "/Cardinal/res/AudioFile.svg" }, { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg" }, From 04d9e2762d2741a46572e0e5f1312ff36055335e Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Tue, 18 Mar 2025 02:08:49 -0400 Subject: [PATCH 26/57] Update JW-Modules to 2.0.8. (#814) * Update JW-Modules to 2.0.8 * Update build.yml --- .github/workflows/build.yml | 4 ++-- plugins/JW-Modules | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ba1e33c..b76a8c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -583,8 +583,8 @@ jobs: - name: Set up dependencies run: | # custom repos - wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb - sudo dpkg -i kxstudio-repos_11.1.0_all.deb + wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.2.0_all.deb + sudo dpkg -i kxstudio-repos_11.2.0_all.deb sudo apt-get update -qq # build-deps sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev diff --git a/plugins/JW-Modules b/plugins/JW-Modules index 9d8f851..d49cb1d 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit 9d8f8515deb20d7e14ca85b4c1d04ec6b66b3e8d +Subproject commit d49cb1de630f278852d098dfbb09e3f4c9a8165e From 0407fefafb20044097b502ed7265165aac38e74d Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 23 Apr 2025 21:58:33 +0200 Subject: [PATCH 27/57] Update dpf Signed-off-by: falkTX --- dpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dpf b/dpf index 32d911c..d2f31da 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 32d911c1decd721520e44adce2ca7a92ca0ec4f0 +Subproject commit d2f31dadba31dcd33feaac7c26587491f796ab87 From 1d8278b591e90679334b937f222b5a00fec6ec49 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Wed, 23 Apr 2025 16:04:45 -0400 Subject: [PATCH 28/57] [Build System] Update Ubuntu version to 22.04 (#824) * Update Ubuntu build. * Add package python-is-python3. * Try installing python3 instead of python. * Replace Ubuntu version with 22.04. * Update macos to 14. * Revert "Update macos to 14." --- .github/workflows/build.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b76a8c4..c5c9785 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,7 @@ jobs: target: [aarch64, armhf, i686, riscv64, x86_64] runs-on: ubuntu-latest container: - image: ubuntu:20.04 + image: ubuntu:22.04 steps: - name: Install git run: | @@ -125,7 +125,7 @@ jobs: *.tar.gz linux-x86_64-debug: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -239,7 +239,7 @@ jobs: target: modduox-static - name: moddwarf target: moddwarf - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -254,7 +254,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static + sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python3 libtool-bin liblo-dev qemu-user-static sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra sudo apt-get clean - name: Bootstrap toolchain @@ -471,7 +471,7 @@ jobs: Cardinal-*.zip headless: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -488,7 +488,7 @@ jobs: make HEADLESS=true -j $(nproc) lto: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -505,7 +505,7 @@ jobs: make WITH_LTO=true -j $(nproc) native sysdeps: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -521,7 +521,7 @@ jobs: make SYSDEPS=true -j $(nproc) source-tarball: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -561,7 +561,7 @@ jobs: /home/runner/*/*/cardinal*.tar.xz plugin-validation: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: From 850e76ec10d565712df3b63a91e78985e6dff845 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 23 Apr 2025 23:39:51 +0200 Subject: [PATCH 29/57] Update PawPaw, fixing build with new cmake Signed-off-by: falkTX --- deps/PawPaw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/PawPaw b/deps/PawPaw index 0985cf8..0946f78 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit 0985cf8d1c3a00b1958ef90e0f1aa511b865241a +Subproject commit 0946f783f0e9e230bca893289325f91144a3429f From fbea15e1036e70685fe0121c2991d95bd16b7fda Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 26 Apr 2025 22:36:49 +0200 Subject: [PATCH 30/57] Add darkglass-anagram headless build Signed-off-by: falkTX --- .github/workflows/build.yml | 4 +++- dpf | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c5c9785..aef017e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -228,10 +228,12 @@ jobs: files: | ${{ github.event.repository.name }}-*.pkg - modaudio: + mod-plugin-builder: strategy: matrix: include: + - name: darkglass-anagram + target: darkglass-anagram - name: modduo target: modduo-static extraflags: MODDUO=true diff --git a/dpf b/dpf index d2f31da..f3be5ae 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit d2f31dadba31dcd33feaac7c26587491f796ab87 +Subproject commit f3be5aee081d87cc7a6795110525569670ff0907 From 52fa1604f0118ea1c769f694ecf2421b8dae9360 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 27 Apr 2025 00:40:14 +0200 Subject: [PATCH 31/57] Force-fix build with cmake 4 Signed-off-by: falkTX --- deps/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/deps/Makefile b/deps/Makefile index 0354e0c..c53e998 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -57,6 +57,7 @@ SPACE += CMAKE = cmake CMAKE += -DCMAKE_INSTALL_LIBDIR=lib CMAKE += -DCMAKE_INSTALL_PREFIX='$(RACK_DEP_PATH)' +CMAKE += -DCMAKE_POLICY_VERSION_MINIMUM=3.5 CMAKE += -DBUILD_SHARED_LIBS=OFF # make sure debug/release matches From d30b356845f948e9db43311182554a5465d71644 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Tue, 13 May 2025 15:05:58 -0400 Subject: [PATCH 32/57] Added eightfold. (#735) * Added eightfold. * Add C++17 flags for eightfold. * Add comment to explain C++17 flags. * Undo "Add comment to explain C++17 flags." * Update license.md to add artwork infomation about eightfold. * eightfold -> eightfold/* in LICENSES.md --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 18 ++++++++++++++++++ plugins/eightfold | 1 + plugins/plugins.cpp | 21 +++++++++++++++++++++ 6 files changed, 46 insertions(+) create mode 160000 plugins/eightfold diff --git a/.gitmodules b/.gitmodules index 8460a09..b054833 100644 --- a/.gitmodules +++ b/.gitmodules @@ -260,4 +260,7 @@ [submodule "plugins/admiral"] path = plugins/admiral url = https://github.com/wapiflapi/admiral.git +[submodule "plugins/eightfold"] + path = plugins/eightfold + url = https://github.com/scanner-darkly/eightfold.git diff --git a/README.md b/README.md index 3de00ba..a216d0e 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ At the moment the following 3rd-party modules are provided: - [dBiz](https://github.com/dBiz/dBiz) - [DHE Modules](https://github.com/dhemery/DHE-Modules) - [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html) +- [eightfold](https://github.com/scanner-darkly/eightfold) - [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack) - [E-Series](https://github.com/VCVRack/ESeries) - [ExpertSleepers Encoders](https://expert-sleepers.co.uk/vcvrack_encoders.html) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 7e17118..7e6318c 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -40,6 +40,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | dBiz | GPL-3.0-or-later | | | DHE-Modules | MIT | | | DrumKit | CC0-1.0 | | +| eightfold | GPL-3.0-or-later | | | EnigmaCurry | GPL-3.0-or-later | | | E-Series | GPL-3.0-or-later | | | ExpertSleepers Encoders | MIT | | @@ -178,6 +179,7 @@ Below is a list of artwork licenses from plugins | DHE-Modules/* | MIT | Same license as source code | | DrumKit/* | CC0-1.0 | | | DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | | +| eightfold/* | GPL-3.0-or-later | No artwork specific license provided | | EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | | | EnigmaCurry/res/fonts/Fantasque/* | OFL-1.1 | | | EnigmaCurry/res/fonts/manrope/* | OFL-1.1 | | diff --git a/plugins/Makefile b/plugins/Makefile index ff10677..07901ec 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -707,6 +707,17 @@ PLUGIN_FILES += $(wildcard DrumKit/deps/SynthDevKit/src/*.cpp) # modules/types which are present in other plugins DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator +# -------------------------------------------------------------- +# eightfold + +PLUGIN_FILES += $(filter-out eightfold/src/plugin.cpp,$(wildcard eightfold/src/*.cpp)) +# modules/types which are present in other plugins +EIGHTFOLD_CUSTOM = Comparator comparator + + +EIGHTFOLD_FLAGS = $(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS)) +EIGHTFOLD_FLAGS += -std=gnu++17 + # -------------------------------------------------------------- # EnigmaCurry @@ -2347,6 +2358,13 @@ $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp -Dinit=init__DrumKit \ -Wno-sign-compare +$(BUILD_DIR)/eightfold/src/%.cpp.o: eightfold/src/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(EIGHTFOLD_FLAGS) -c -o $@ \ + $(foreach m,$(EIGHTFOLD_CUSTOM),$(call custom_module_names,$(m),eightfold)) \ + -DpluginInstance=pluginInstance__eightfold + $(BUILD_DIR)/EnigmaCurry/src/%.cpp.o: EnigmaCurry/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/eightfold b/plugins/eightfold new file mode 160000 index 0000000..a541c5c --- /dev/null +++ b/plugins/eightfold @@ -0,0 +1 @@ +Subproject commit a541c5cfdc3fb9ad8e4f345470f817eaf576b987 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 096d2d9..0bdb641 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -399,6 +399,9 @@ namespace xycloid { void init(Plugin*); } #include "DrumKit/src/DrumKit.hpp" void setupSamples(); +// eightfold +#include "eightfold/src/plugin.hpp" + // EnigmaCurry #define modelPulse modelEnigmaCurryPulse #include "EnigmaCurry/src/plugin.hpp" @@ -952,6 +955,7 @@ Plugin* pluginInstance__CVfunk; Plugin* pluginInstance__dBiz; Plugin* pluginInstance__DHE; extern Plugin* pluginInstance__DrumKit; +Plugin* pluginInstance__eightfold; Plugin* pluginInstance__EnigmaCurry; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__ExpertSleepersEncoders; @@ -2164,6 +2168,22 @@ static void initStatic__DrumKit() } } +static void initStatic__eightfold() +{ + Plugin* const p = new Plugin; + pluginInstance__eightfold = p; + + const StaticPluginLoader spl(p, "eightfold"); + if (spl.ok()) + { + p->addModel(modelSDOrcasHeartV2); + p->addModel(modelSDFormation); + p->addModel(modelSDLines); + p->addModel(modelSDTransgate); + p->addModel(modelSDComparator); + } +} + static void initStatic__EnigmaCurry() { Plugin* const p = new Plugin; @@ -3580,6 +3600,7 @@ void initStaticPlugins() initStatic__dBiz(); initStatic__DHE(); initStatic__DrumKit(); + initStatic__eightfold(); initStatic__EnigmaCurry(); initStatic__ESeries(); initStatic__ExpertSleepersEncoders(); From ed75b4989c7e3c9bf0f38e174c7e4352fc4a8b59 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Tue, 13 May 2025 15:06:05 -0400 Subject: [PATCH 33/57] Update HetrickCV. (#795) * Update HetrickCV. * Update makefile --- plugins/HetrickCV | 2 +- plugins/Makefile | 1 + plugins/plugins.cpp | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/HetrickCV b/plugins/HetrickCV index 49e2bc0..52b1e03 160000 --- a/plugins/HetrickCV +++ b/plugins/HetrickCV @@ -1 +1 @@ -Subproject commit 49e2bc0f6a3ef4d1616b78d6280a6d4e7ee222d3 +Subproject commit 52b1e03c34bd1baa264395c150cd62d8e192b12f diff --git a/plugins/Makefile b/plugins/Makefile index 07901ec..c3a7e3f 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1457,6 +1457,7 @@ clean: PLUGIN_LIST = $(subst /plugin.json,,$(wildcard */plugin.json)) UNWANTED_FILES = HetrickCV/res/illustrator - deprecated/MyModule.svg +UNWANTED_FILES += $(wildcard "HetrickCV/res/affinity redo/*") UNWANTED_FILES += $(wildcard Meander/res/*) UNWANTED_FILES += $(wildcard Mog/res/*) UNWANTED_FILES += $(wildcard Mog/res/*/*) diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 0bdb641..9f499fe 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -457,6 +457,7 @@ void saveGtgPluginDefault(const char*, int) {} extern Model* modelTwoToFour; extern Model* modelAnalogToDigital; extern Model* modelASR; +extern Model* modelBinaryCounter; extern Model* modelBinaryGate; extern Model* modelBinaryNoise; extern Model* modelBitshift; @@ -2416,6 +2417,7 @@ static void initStatic__HetrickCV() p->addModel(modelTwoToFour); p->addModel(modelAnalogToDigital); p->addModel(modelASR); + p->addModel(modelBinaryCounter); p->addModel(modelBinaryGate); p->addModel(modelBinaryNoise); p->addModel(modelBitshift); From 7587c28d12bfcec29bdd8791a21d801768a2ffae Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Wed, 14 May 2025 07:05:37 +0200 Subject: [PATCH 34/57] update JW-Modules (#828) --- docs/LICENSES.md | 1 + plugins/JW-Modules | 2 +- plugins/Makefile | 2 +- plugins/plugins.cpp | 5 +++++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 7e6318c..671f0e3 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -203,6 +203,7 @@ Below is a list of artwork licenses from plugins | ImpromptuModular/res/comp/complib/* | CC-BY-NC-4.0 | | | JW-Modules/* | BSD-3-Clause | No artwork specific license provided | | JW-Modules/DejaVuSansMono.ttf | Bitstream-Vera | Unused in Cardinal | +| JW-Modules/res/fonts/ShareTechMono-Regular.ttf | OFL-1.1 | | | kocmoc/* | GPL-3.0-or-later | No artwork specific license provided | | LifeFormModular/* | MIT | No artwork specific license provided | | LilacLoop/* | GPL-3.0-or-later | No artwork specific license provided | diff --git a/plugins/JW-Modules b/plugins/JW-Modules index d49cb1d..72c8b56 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit d49cb1de630f278852d098dfbb09e3f4c9a8165e +Subproject commit 72c8b569dd2cc12ce16abe2da582fc58e07c3d54 diff --git a/plugins/Makefile b/plugins/Makefile index c3a7e3f..53042ba 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -835,7 +835,7 @@ endif endif # modules/types which are present in other plugins -JW_CUSTOM = PlayHead Quantizer +JW_CUSTOM = PlayHead Quantizer Arrange # -------------------------------------------------------------- # kocmoc diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 9f499fe..1ed3649 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -574,8 +574,10 @@ extern Model* modelBlankPanel; // JW-Modules #define modelQuantizer modelJWQuantizer +#define modelArrange modelJWArrange #include "JW-Modules/src/JWModules.hpp" #undef modelQuantizer +#undef modelArrange // kocmoc #include "kocmoc/src/plugin.hpp" @@ -2561,6 +2563,7 @@ static void initStatic__JW() if (spl.ok()) { #define modelQuantizer modelJWQuantizer +#define modelArrange modelJWArrange p->addModel(modelAdd5); p->addModel(modelAbcdSeq); p->addModel(modelBouncyBalls); @@ -2596,7 +2599,9 @@ static void initStatic__JW() #else spl.removeModule("Str1ker"); #endif + p->addModel(modelArrange); #undef modelQuantizer +#undef modelArrange } } From 87d6e4eeceb27a4ad62238d60f34eeb5e352c010 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 30 May 2025 22:26:51 -0400 Subject: [PATCH 35/57] Sapphire v2.5.9 - new module Echo (#832) * Sapphire v2.5.9 - new module Echo Added a new multitap delay module: [Echo](https://github.com/cosinekitty/sapphire/blob/main/doc/Echo.md). Added "neon mode" menu options to make the Sapphire panel glow. This effect is most visible when the room brightness is dim. Chaops did not reset the FREEZE button on initialize. This has been fixed. Fixed minor polyphony bug in Env: the number of channels in the GAIN control's CV input did not affect the number of output channels. This has been fixed. Fixed typos in help text for Gravy and Sauce. * Sapphire v2.5.9 attempt 2: fixed memory errors * Sapphire v2.5.9 - fixed build problem for Windows. There was a compatibility problem between MINGW and my own member function named `format`. I don't need MINGW so I disabled it in the Cardinal Makefile. This solution was suggested by @falkTX. It is nice because I don't have to change any Sapphire code! --- plugins/Makefile | 1 + plugins/Sapphire | 2 +- plugins/plugins.cpp | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index 53042ba..b975411 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -2763,6 +2763,7 @@ $(BUILD_DIR)/Sapphire/%.cpp.o: Sapphire/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -std=gnu++17 -c -o $@ \ $(foreach m,$(SAPPHIRE_CUSTOM),$(call custom_module_names,$(m),Sapphire)) \ + -DSKIP_MINGW_FORMAT \ -DpluginInstance=pluginInstance__sapphire $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp diff --git a/plugins/Sapphire b/plugins/Sapphire index c65bf21..a1f7deb 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit c65bf21e00c984613749ce76ba07633f3eb8d61f +Subproject commit a1f7deb7931b7ef0fc4fa9f8a3871d9e37e81e73 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 1ed3649..45c0f52 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -3213,6 +3213,9 @@ static void initStatic__Sapphire() if (spl.ok()) { p->addModel(modelSapphireChaops); + p->addModel(modelSapphireEcho); + p->addModel(modelSapphireEchoOut); + p->addModel(modelSapphireEchoTap); p->addModel(modelSapphireElastika); p->addModel(modelSapphireEnv); p->addModel(modelSapphireFrolic); From 088953ad90d9a6b17bdfc6bcdc6565c487bd3fc2 Mon Sep 17 00:00:00 2001 From: rl2939 <60378449+rl2939@users.noreply.github.com> Date: Sun, 15 Jun 2025 05:36:38 -0400 Subject: [PATCH 36/57] Update kocmoc. (#837) --- plugins/kocmoc | 2 +- plugins/plugins.cpp | 1 + src/custom/dep.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/kocmoc b/plugins/kocmoc index eaf7cbf..ea69aca 160000 --- a/plugins/kocmoc +++ b/plugins/kocmoc @@ -1 +1 @@ -Subproject commit eaf7cbf3af0a8525d3c649c53eab476c3052d41b +Subproject commit ea69acab96db49c32601b609cdfe06444ecee0e8 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 45c0f52..6f73b37 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -2618,6 +2618,7 @@ static void initStatic__kocmoc() p->addModel(modelTRG); p->addModel(modelLADR); p->addModel(modeluLADR); + p->addModel(modelDIOD); p->addModel(modelOP); p->addModel(modelPHASR); p->addModel(modelMUL); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 12feb52..e99f2ba 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -284,6 +284,7 @@ static const struct { { kModeLittleUtils, "/LittleUtils/res/TeleportOut.svg", {}, -1 }, // GPL-3.0-or-later { kModeKocmoc, "/kocmoc/res/DDLY.svg", {}, -1 }, + { kModeKocmoc, "/kocmoc/res/DIOD.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/LADR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/uLADR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/MUL.svg", {}, -1 }, From a6e5f1915771ac08b275e5d25ff51d41a29013a7 Mon Sep 17 00:00:00 2001 From: falkTX Date: Mon, 16 Jun 2025 20:55:22 +0200 Subject: [PATCH 37/57] Fix wasm build Signed-off-by: falkTX --- plugins/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index b975411..53088e9 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -843,7 +843,7 @@ JW_CUSTOM = PlayHead Quantizer Arrange PLUGIN_FILES += $(filter-out kocmoc/src/plugin.cpp,$(wildcard kocmoc/src/*.cpp)) # modules/types which are present in other plugins -KOCMOC_CUSTOM = Phasor __ct_base __ct_comp +KOCMOC_CUSTOM = Diode Phasor __ct_base __ct_comp # -------------------------------------------------------------- # LifeFormModular From 03eee39a6ae79de2aa11525f83166d33063a59d2 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Tue, 17 Jun 2025 01:43:11 -0400 Subject: [PATCH 38/57] Sapphire v2.6.000 (#838) * Sapphire v2.6.000 Complete overhaul of undo/redo: now you can undo/redo most actions across Sapphire modules. Now in Echo, when you undo creating an Echo module, then redo it, it no longer automatically re-creates the Echo Out to the right. This is because doing so destroys any future actions that still could be redone. You can redo creating the Echo Out, followed by redoing anything that happened after that. Echo used to only support panning when there were exactly 2 channels of audio. Now you can pan any even number of polyphonic channels arranged in the order (L0, R0, L1, R1, ..., L7, R7). Now when a Sapphire module is initialized, any low-sensitivity attenuverters are reset to normal sensitivity. I also fixed some other miscellaneous things that weren't being reset to their default on initialize. Sapphire Pop now has two new buttons: - Pulse mode: toggles output between triggers/gates - Sync: press the button to sync polyphonic channels The option to enable/disable the output limiter warning light now appears on the gain knob itself in the following modules: Elastika, Nucleus, Polynucleus, Sauce, Gravy. The option still exists in the main menu. Display a gate/trigger symbol over the REV label and FRZ label. You can click on it to toggle the gate/trigger mode. Sapphire Gravy no longer makes a click/pop sound when you press the 3-way band mode switch (LP, BP, HP). When you click on the GATE/TRIGGER label in Moots, it now toggles between GATE and TRIGGER. Before, you had to use a menu option to toggle. The menu option is still there, but the new way is much easier. * Second attempt at merging Sapphire v2.6.000 : C++ template help for some compilers. * Third attempt to merge Sapphire v 2.6.000. The use of a deduction hint did not help build Sapphire. This one compiler is not able to figure out the template parameters, so I added explicit template parameters in every case that caused an error. --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index a1f7deb..e2bcefc 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit a1f7deb7931b7ef0fc4fa9f8a3871d9e37e81e73 +Subproject commit e2bcefcaa7753f017cd131a28aae0e5e346aafec From 5a0b783fbef7e55265e8f8e2d4f75067ae63a565 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Tue, 17 Jun 2025 17:00:27 +0200 Subject: [PATCH 39/57] use WSTD-Drums (#836) * use WSTD-Drums --- .gitmodules | 7 ++--- README.md | 2 +- docs/LICENSES.md | 2 +- plugins/DrumKit | 1 - plugins/Makefile | 46 ++++++++++++++-------------- plugins/WSTD-Drums | 1 + plugins/plugins.cpp | 60 ++++++++++++++++++------------------- src/CardinalRemote/Makefile | 2 +- src/Makefile.cardinal.mk | 2 +- src/custom/dep.cpp | 35 ++++++++++------------ src/override/plugin.cpp | 13 ++++++++ 11 files changed, 89 insertions(+), 82 deletions(-) delete mode 160000 plugins/DrumKit create mode 160000 plugins/WSTD-Drums diff --git a/.gitmodules b/.gitmodules index b054833..fadc093 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,9 +49,9 @@ [submodule "plugins/ValleyAudio"] path = plugins/ValleyAudio url = https://github.com/ValleyAudio/ValleyRackFree.git -[submodule "plugins/DrumKit"] - path = plugins/DrumKit - url = https://github.com/SVModular/DrumKit.git +[submodule "plugins/WSTD-Drums"] + path = plugins/WSTD-Drums + url = https://github.com/Wasted-Audio/WSTD-Drums.git [submodule "carla"] path = carla url = https://github.com/falkTX/Carla.git @@ -263,4 +263,3 @@ [submodule "plugins/eightfold"] path = plugins/eightfold url = https://github.com/scanner-darkly/eightfold.git - diff --git a/README.md b/README.md index a216d0e..2f6bdb7 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,6 @@ At the moment the following 3rd-party modules are provided: - [CVfunk](https://github.com/codygeary/CVfunk-Modules) - [dBiz](https://github.com/dBiz/dBiz) - [DHE Modules](https://github.com/dhemery/DHE-Modules) -- [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html) - [eightfold](https://github.com/scanner-darkly/eightfold) - [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack) - [E-Series](https://github.com/VCVRack/ESeries) @@ -199,6 +198,7 @@ At the moment the following 3rd-party modules are provided: - [Valley](https://github.com/ValleyAudio/ValleyRackFree) - [Voxglitch](https://github.com/clone45/voxglitch) - [WhatTheRack](https://github.com/korfuri/WhatTheRack) +- [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums) - [ZetaCarinae](https://github.com/mhampton/ZetaCarinaeModules) - [ZZC](https://github.com/zezic/ZZC) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 671f0e3..abd1431 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -39,7 +39,6 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | CVfunk | MIT | | | dBiz | GPL-3.0-or-later | | | DHE-Modules | MIT | | -| DrumKit | CC0-1.0 | | | eightfold | GPL-3.0-or-later | | | EnigmaCurry | GPL-3.0-or-later | | | E-Series | GPL-3.0-or-later | | @@ -92,6 +91,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | unless_modules | GPL-3.0-or-later | | | Valley | GPL-3.0-or-later | | | Voxglitch | GPL-3.0-or-later | | +| WSTD-Drums | CC0-1.0 | | | WhatTheRack | WTFPL | | | ZetaCarinae | GPL-3.0-or-later | | | ZZC | GPL-3.0-or-later | | diff --git a/plugins/DrumKit b/plugins/DrumKit deleted file mode 160000 index b94c5de..0000000 --- a/plugins/DrumKit +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b94c5deb9b93d810f582221f03db8a6feaee6679 diff --git a/plugins/Makefile b/plugins/Makefile index 53088e9..a97ac9f 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -694,19 +694,6 @@ DBIZ_CUSTOM_PER_FILE = LERP MultiFilter Oscillator calcOutput sineOsc subBank PLUGIN_FILES += $(filter-out DHE-Modules/src/plugin.cpp,$(wildcard DHE-Modules/src/modules/*/init.cpp)) -# -------------------------------------------------------------- -# DrumKit - -PLUGIN_FILES += $(wildcard DrumKit/src/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/controller/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/view/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/model/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/deps/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/deps/SynthDevKit/src/*.cpp) - -# modules/types which are present in other plugins -DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator - # -------------------------------------------------------------- # eightfold @@ -1338,6 +1325,19 @@ VOXGLITCH_CUSTOM_PER_FILE = AudioBuffer GateSequencer Grain SamplePlayer Sequenc PLUGIN_FILES += $(filter-out WhatTheRack/src/WhatTheRack.cpp,$(wildcard WhatTheRack/src/*.cpp)) +# -------------------------------------------------------------- +# WSTD-Drums + +PLUGIN_FILES += $(wildcard WSTD-Drums/src/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/controller/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/view/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/model/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/deps/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/deps/SynthDevKit/src/*.cpp) + +# modules/types which are present in other plugins +WSTD_DRUMS_CUSTOM = ADSR Envelope LowFrequencyOscillator + # -------------------------------------------------------------- # ZetaCarinaeModules @@ -1487,7 +1487,7 @@ RESOURCE_FILES += BaconPlugs/res/midi/goldberg RESOURCE_FILES += Befaco/res/SpringReverbIR.f32 RESOURCE_FILES += cf/playeroscs RESOURCE_FILES += DHE-Modules/svg -RESOURCE_FILES += DrumKit/res/samples +RESOURCE_FILES += WSTD-Drums/res/samples RESOURCE_FILES += Meander/res RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes @@ -2350,15 +2350,6 @@ $(BUILD_DIR)/DHE-Modules/src/%.cpp.o: DHE-Modules/src/%.cpp -DpluginInstance=pluginInstance__DHE \ -IDHE-Modules/src -$(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp - -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" - @echo "Compiling $<" - $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ - $(foreach m,$(DRUMKIT_CUSTOM),$(call custom_module_names,$(m),DrumKit)) \ - -DpluginInstance=pluginInstance__DrumKit \ - -Dinit=init__DrumKit \ - -Wno-sign-compare - $(BUILD_DIR)/eightfold/src/%.cpp.o: eightfold/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" @@ -2846,6 +2837,15 @@ $(BUILD_DIR)/WhatTheRack/%.cpp.o: WhatTheRack/%.cpp $(foreach m,$(WHATTHERACK_CUSTOM),$(call custom_module_names,$(m),WhatTheRack)) \ -DpluginInstance=pluginInstance__WhatTheRack +$(BUILD_DIR)/WSTD-Drums/%.cpp.o: WSTD-Drums/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(WSTD_DRUMS_CUSTOM),$(call custom_module_names,$(m),WSTD_Drums)) \ + -DpluginInstance=pluginInstance__WSTD_Drums \ + -Dinit=init__WSTD_Drums \ + -Wno-sign-compare + $(BUILD_DIR)/ZamAudio/%.cpp.o: ZamAudio/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/WSTD-Drums b/plugins/WSTD-Drums new file mode 160000 index 0000000..05330ce --- /dev/null +++ b/plugins/WSTD-Drums @@ -0,0 +1 @@ +Subproject commit 05330ce99f4ec742f906c77ab5d8758a15decb4c diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 6f73b37..bc11224 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -395,10 +395,6 @@ namespace truth { void init(Plugin*); } namespace xycloid { void init(Plugin*); } } -// DrumKit -#include "DrumKit/src/DrumKit.hpp" -void setupSamples(); - // eightfold #include "eightfold/src/plugin.hpp" @@ -900,6 +896,10 @@ void surgext_rack_update_theme(); // WhatTheRack #include "WhatTheRack/src/WhatTheRack.hpp" +// WSTD-Drums +#include "WSTD-Drums/src/WSTD_Drums.hpp" +void setupSamples(); + // ZetaCarinaeModules #include "ZetaCarinaeModules/src/plugin.hpp" @@ -957,7 +957,6 @@ Plugin* pluginInstance__Computerscare; Plugin* pluginInstance__CVfunk; Plugin* pluginInstance__dBiz; Plugin* pluginInstance__DHE; -extern Plugin* pluginInstance__DrumKit; Plugin* pluginInstance__eightfold; Plugin* pluginInstance__EnigmaCurry; Plugin* pluginInstance__ESeries; @@ -1010,6 +1009,7 @@ Plugin* pluginInstance__unless_modules; Plugin* pluginInstance__ValleyAudio; Plugin* pluginInstance__Voxglitch; Plugin* pluginInstance__WhatTheRack; +extern Plugin* pluginInstance__WSTD_Drums; Plugin* pluginInstance__ZetaCarinaeModules; Plugin* pluginInstance__ZZC; @@ -2147,30 +2147,6 @@ static void initStatic__DHE() } } -static void initStatic__DrumKit() -{ - Plugin* const p = new Plugin; - pluginInstance__DrumKit = p; - - const StaticPluginLoader spl(p, "DrumKit"); - if (spl.ok()) - { - setupSamples(); - p->addModel(modelBD9); - p->addModel(modelSnare); - p->addModel(modelClosedHH); - p->addModel(modelOpenHH); - p->addModel(modelDMX); - p->addModel(modelCR78); - p->addModel(modelSBD); - p->addModel(modelGnome); - p->addModel(modelSequencer); - p->addModel(modelTomi); - p->addModel(modelBaronial); - p->addModel(modelMarionette); - } -} - static void initStatic__eightfold() { Plugin* const p = new Plugin; @@ -3538,6 +3514,30 @@ static void initStatic__WhatTheRack() } } +static void initStatic__WSTD_Drums() +{ + Plugin* const p = new Plugin; + pluginInstance__WSTD_Drums = p; + + const StaticPluginLoader spl(p, "WSTD-Drums"); + if (spl.ok()) + { + setupSamples(); + p->addModel(modelBD9); + p->addModel(modelSnare); + p->addModel(modelClosedHH); + p->addModel(modelOpenHH); + p->addModel(modelDMX); + p->addModel(modelCR78); + p->addModel(modelSBD); + p->addModel(modelGnome); + p->addModel(modelSequencer); + p->addModel(modelTomi); + p->addModel(modelBaronial); + p->addModel(modelMarionette); + } +} + static void initStatic__ZetaCarinaeModules() { Plugin* p = new Plugin; @@ -3610,7 +3610,6 @@ void initStaticPlugins() initStatic__CVfunk(); initStatic__dBiz(); initStatic__DHE(); - initStatic__DrumKit(); initStatic__eightfold(); initStatic__EnigmaCurry(); initStatic__ESeries(); @@ -3663,6 +3662,7 @@ void initStaticPlugins() initStatic__ValleyAudio(); initStatic__Voxglitch(); initStatic__WhatTheRack(); + initStatic__WSTD_Drums(); initStatic__ZetaCarinaeModules(); initStatic__ZZC(); diff --git a/src/CardinalRemote/Makefile b/src/CardinalRemote/Makefile index 8c89164..6e53f44 100644 --- a/src/CardinalRemote/Makefile +++ b/src/CardinalRemote/Makefile @@ -229,7 +229,6 @@ SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/chopin SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/debussy SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/goldberg SYMLINKED_DIRS_RESOURCES += cf/playeroscs -SYMLINKED_DIRS_RESOURCES += DrumKit/res/samples SYMLINKED_DIRS_RESOURCES += Fundamental/presets SYMLINKED_DIRS_RESOURCES += GrandeModular/presets SYMLINKED_DIRS_RESOURCES += LyraeModules/presets @@ -247,6 +246,7 @@ SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/fx_presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/wavetables SYMLINKED_DIRS_RESOURCES += surgext/patches SYMLINKED_DIRS_RESOURCES += surgext/presets +SYMLINKED_DIRS_RESOURCES += WSTD-Drums/res/samples LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) endif LINK_FLAGS += -sALLOW_MEMORY_GROWTH diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 0cc66af..576a893 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -317,7 +317,6 @@ SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/debussy SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/goldberg SYMLINKED_DIRS_RESOURCES += cf/playeroscs SYMLINKED_DIRS_RESOURCES += DHE-Modules/svg -SYMLINKED_DIRS_RESOURCES += DrumKit/res/samples SYMLINKED_DIRS_RESOURCES += GrandeModular/presets SYMLINKED_DIRS_RESOURCES += LyraeModules/presets SYMLINKED_DIRS_RESOURCES += Meander/res @@ -332,6 +331,7 @@ SYMLINKED_DIRS_RESOURCES += Orbits/presets SYMLINKED_DIRS_RESOURCES += stoermelder-packone/presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/fx_presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/wavetables +SYMLINKED_DIRS_RESOURCES += WSTD-Drums/res/samples endif LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index e99f2ba..74bbebf 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -54,7 +54,6 @@ enum DarkMode { kModeCf, kModeComputerscare, kModeDHE, - kModeDrumKit, kModeESeries, kModeLilacLoop, kModeLittleUtils, @@ -258,19 +257,6 @@ static const struct { { kModeDHE, "/DHE-Modules/svg/truth-4.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/upstage.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/xycloid.svg", {}, -1 }, - // CC0-1.0 - { kModeDrumKit, "/DrumKit/res/Baronial.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/BD9.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/ClosedHH.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/CR78.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/DMX.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Gnome.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Marionette.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/OpenHH.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/SBD.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Sequencer.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Snare.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Tomi.svg", {}, -1 }, // Custom, runtime dark mode used with permission { kModeESeries,"/ESeries/res/E340.svg", {}, -1 }, // GPL3.0-or-later @@ -374,6 +360,7 @@ enum LightMode { kModePrism, kModeRepelzen, kModeSonusmodular, + kModeWSTDDrums, }; static const struct { @@ -594,6 +581,20 @@ static const struct { { kModeSonusmodular, "/sonusmodular/res/tropicana.svg" }, { kModeSonusmodular, "/sonusmodular/res/twoff.svg" }, { kModeSonusmodular, "/sonusmodular/res/yabp.svg" }, + // CC0-1.0 + { kModeWSTDDrums, "/WSTD-Drums/res/Baronial.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/BD9.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/ClosedHH.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/CR78.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/DMX.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Gnome.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Marionette.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/OpenHH.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/SBD.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Sequencer.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Snare.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Tomi.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/component/Knob.svg" }, }; static inline @@ -630,12 +631,6 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai { switch (mode) { - // Special case for DrumKit background gradient - case kModeDrumKit: - std::free(paint.gradient); - paint.type = NSVG_PAINT_COLOR; - paint.color = 0xff191919; - return true; // Special case for PathSet shifty gradient case kModePathSet: paint.gradient->stops[0].color = 0xff7c4919; // 50% darker than main blue diff --git a/src/override/plugin.cpp b/src/override/plugin.cpp index 957fe9d..7b059e4 100644 --- a/src/override/plugin.cpp +++ b/src/override/plugin.cpp @@ -48,6 +48,7 @@ static const std::map pluginSlugFallbacks = { {"AudibleInstrumentsPreview", "AudibleInstruments"}, {"SequelSequencers", "DanielDavies"}, {"DelexanderVol1", "DelexandraVol1"}, + {"DrumKit", "WSTD-Drums"} // {"", ""}, }; @@ -102,6 +103,18 @@ static const std::map moduleSlugFallbacks = {{"Core", "Notes"}, {"Cardinal", "TextEditor"}}, {{"Core", "Blank"}, {"Cardinal", "Blank"}}, {{"MindMeld-ShapeMasterPro", "ShapeMasterPro"}, {"MindMeldModular", "ShapeMaster"}}, + {{"DrumKit", "BassDrum9"}, {"WSTD-Drums", "BassDrum9"}}, + {{"DrumKit", "ClosedHiHat"}, {"WSTD-Drums", "ClosedHiHat"}}, + {{"DrumKit", "CR78"}, {"WSTD-Drums", "CR78"}}, + {{"DrumKit", "DMX"}, {"WSTD-Drums", "DMX"}}, + {{"DrumKit", "OpenHiHat"}, {"WSTD-Drums", "OpenHiHat"}}, + {{"DrumKit", "SyntheticBassDrum"}, {"WSTD-Drums", "SyntheticBassDrum"}}, + {{"DrumKit", "SnareDrumN"}, {"WSTD-Drums", "SnareDrumN"}}, + {{"DrumKit", "Tomi"}, {"WSTD-Drums", "Tomi"}}, + {{"DrumKit", "Gnome"}, {"WSTD-Drums", "Gnome"}}, + {{"DrumKit", "Sequencer"}, {"WSTD-Drums", "Sequencer"}}, + {{"DrumKit", "Baronial"}, {"WSTD-Drums", "Baronial"}}, + {{"DrumKit", "MarionetteBass"}, {"WSTD-Drums", "MarionetteBass"}}, // {{"", ""}, {"", ""}}, }; From f28288899f57a78ba4da0f12f634afe1ae49277a Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 20 Jun 2025 18:05:41 +0200 Subject: [PATCH 40/57] Update dpf and PawPaw deps, rebuild CI cache Signed-off-by: falkTX --- .github/workflows/build.yml | 3 ++- deps/PawPaw | 2 +- dpf | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aef017e..0c8684e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,11 +3,12 @@ name: build on: [push, pull_request] env: - CACHE_VERSION: 11 + CACHE_VERSION: 12 CARDINAL_UNDER_WINE: 1 CIBUILD: true DEBIAN_FRONTEND: noninteractive LIBGL_ALWAYS_SOFTWARE: true + PAWPAW_CI: 1 PAWPAW_FAST_MATH: 1 PAWPAW_SKIP_GLIB: 1 PAWPAW_SKIP_LTO: 1 diff --git a/deps/PawPaw b/deps/PawPaw index 0946f78..f6eaed1 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit 0946f783f0e9e230bca893289325f91144a3429f +Subproject commit f6eaed13bdeccec013d81ba2261f98aa8f452702 diff --git a/dpf b/dpf index f3be5ae..6d4bf6b 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit f3be5aee081d87cc7a6795110525569670ff0907 +Subproject commit 6d4bf6b47e69516b3e9a8925279364f98456d959 From 713cb6b2a55e5c1288795f5fa4d40764d16a579f Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 20 Jun 2025 18:23:23 +0200 Subject: [PATCH 41/57] Fix shell basename command used for building plugins Signed-off-by: falkTX --- plugins/Makefile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index a97ac9f..e641c00 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -2210,7 +2210,7 @@ $(BUILD_DIR)/AS/%.cpp.o: AS/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(AS_CUSTOM),$(call custom_module_names,$(m),AS)) \ - $(foreach m,$(AS_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),AS_$(shell basename $*))) \ + $(foreach m,$(AS_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),AS_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__AS \ -Wno-unused-private-field @@ -2266,7 +2266,7 @@ $(BUILD_DIR)/Bidoo%.cpp.o: Bidoo%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(BIDOO_CUSTOM),$(call custom_module_names,$(m),Bidoo)) \ - $(foreach m,$(BIDOO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bidoo_$(shell basename $*))) \ + $(foreach m,$(BIDOO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bidoo_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Bidoo \ -DSKIP_MINGW_FORMAT \ -IBidoo/src/dep/gverb/include \ @@ -2286,7 +2286,7 @@ $(BUILD_DIR)/BogaudioModules%.cpp.o: BogaudioModules%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(BOGAUDIO_CUSTOM),$(call custom_module_names,$(m),Bogaudio)) \ - $(foreach m,$(BOGAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bogaudio_$(shell basename $*))) \ + $(foreach m,$(BOGAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bogaudio_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__BogaudioModules \ -DRACK_SIMD=1 \ -DSKIP_MINGW_FORMAT \ @@ -2339,7 +2339,7 @@ $(BUILD_DIR)/dBiz/src/%.cpp.o: dBiz/src/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(DBIZ_CUSTOM),$(call custom_module_names,$(m),dBiz)) \ - $(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename $*))) \ + $(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__dBiz $(BUILD_DIR)/DHE-Modules/src/%.cpp.o: DHE-Modules/src/%.cpp @@ -2499,7 +2499,7 @@ $(BUILD_DIR)/ImpromptuModular%.cpp.o: ImpromptuModular%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \ - $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename $*))) \ + $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ImpromptuModular \ -Wno-format-truncation @@ -2508,7 +2508,7 @@ $(BUILD_DIR)/ihtsyn/%.cpp.o: ihtsyn/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(IHTSYN_CUSTOM),$(call custom_module_names,$(m),ihtsyn)) \ - $(foreach m,$(IHTSYN_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ihtsyn_$(shell basename $*))) \ + $(foreach m,$(IHTSYN_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ihtsyn_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ihtsyn $(BUILD_DIR)/JW-Modules/src/WavHead.cpp.o: JW-Modules/src/WavHead.cpp @@ -2629,7 +2629,7 @@ $(BUILD_DIR)/mscHack/%.cpp.o: mscHack/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(MSCHACK_CUSTOM),$(call custom_module_names,$(m),mscHack)) \ - $(foreach m,$(MSCHACK_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),mscHack_$(shell basename $*))) \ + $(foreach m,$(MSCHACK_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),mscHack_$(shell basename -- $*))) \ -DthePlugin=pluginInstance__mscHack \ -Dinit=init__mscHack \ -Wno-class-memaccess \ @@ -2710,7 +2710,7 @@ $(BUILD_DIR)/Prism/%.cpp.o: Prism/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(PRISM_CUSTOM),$(call custom_module_names,$(m),Prism)) \ - $(foreach m,$(PRISM_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Prism_$(shell basename $*))) \ + $(foreach m,$(PRISM_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Prism_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Prism \ $(BUILD_DIR)/rackwindows/%.cpp.o: rackwindows/%.cpp @@ -2784,7 +2784,7 @@ $(BUILD_DIR)/stoermelder-packone/%.cpp.o: stoermelder-packone/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(STOERMELDER_PACKONE_CUSTOM),$(call custom_module_names,$(m),stoermelder_p1)) \ - $(foreach m,$(STOERMELDER_PACKONE_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),stoermelder_p1_$(shell basename $*))) \ + $(foreach m,$(STOERMELDER_PACKONE_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),stoermelder_p1_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__stoermelder_p1 \ -Dinit=init__stoermelder_p1 @@ -2814,7 +2814,7 @@ $(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(VALLEYAUDIO_CUSTOM),$(call custom_module_names,$(m),ValleyAudio)) \ - $(foreach m,$(VALLEYAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ValleyAudio_$(shell basename $*))) \ + $(foreach m,$(VALLEYAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ValleyAudio_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ValleyAudio \ -DSTDIO_OVERRIDE=ValleyAudio \ -IValleyAudio/src \ @@ -2826,7 +2826,7 @@ $(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(VOXGLITCH_CUSTOM),$(call custom_module_names,$(m),Voxglitch)) \ - $(foreach m,$(VOXGLITCH_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Voxglitch_$(shell basename $*))) \ + $(foreach m,$(VOXGLITCH_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Voxglitch_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Voxglitch \ -DSKIP_MINGW_FORMAT From 5bd2f87cf3760ecfdde626cbfff19c8edca892eb Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 20 Jun 2025 18:27:07 +0200 Subject: [PATCH 42/57] Bump version to 25.06 Signed-off-by: falkTX --- .github/ISSUE_TEMPLATE/bug.yaml | 2 +- Makefile | 2 +- src/CardinalCommon.cpp | 4 ++-- src/CardinalPlugin.cpp | 4 ++-- utils/macOS/Info_JACK.plist | 4 ++-- utils/macOS/Info_Native.plist | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index e04dd50..c8e1ced 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.12" + value: "25.06" validations: required: true - type: dropdown diff --git a/Makefile b/Makefile index 507cd76..ce97c4b 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.12 +VERSION = 25.06 # -------------------------------------------------------------- # Build targets diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index 1c4cc46..afe2594 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -99,7 +99,7 @@ void destroyStaticPlugins(); } } -const std::string CARDINAL_VERSION = "24.12"; +const std::string CARDINAL_VERSION = "25.06"; // ----------------------------------------------------------------------------------------------------------- diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index b69ab28..f154871 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -414,7 +414,7 @@ protected: uint32_t getVersion() const override { - return d_version(0, 24, 12); + return d_version(0, 25, 6); } int64_t getUniqueId() const override diff --git a/utils/macOS/Info_JACK.plist b/utils/macOS/Info_JACK.plist index c97c0e1..80a5cf1 100644 --- a/utils/macOS/Info_JACK.plist +++ b/utils/macOS/Info_JACK.plist @@ -11,11 +11,11 @@ CFBundleIdentifier studio.kx.distrho.cardinal.jack CFBundleShortVersionString - 24.12 + 25.06 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright - (C) 2011-2024 Filipe Coelho. + (C) 2011-2025 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. NSHighResolutionCapable diff --git a/utils/macOS/Info_Native.plist b/utils/macOS/Info_Native.plist index 5051b55..b9c5068 100644 --- a/utils/macOS/Info_Native.plist +++ b/utils/macOS/Info_Native.plist @@ -11,11 +11,11 @@ CFBundleIdentifier studio.kx.distrho.cardinal.native CFBundleShortVersionString - 24.12 + 25.06 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright - (C) 2011-2024 Filipe Coelho. + (C) 2011-2025 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. NSHighResolutionCapable From bc287aaadd0951887c5e148ccad5baaf4ef885d0 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 20 Jun 2025 20:00:40 +0200 Subject: [PATCH 43/57] Update carla and dpf deps Signed-off-by: falkTX --- carla | 2 +- dpf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/carla b/carla index 17000e7..154047d 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit 17000e7fe99459b25a50094a8b00bdfa12f2bfbc +Subproject commit 154047d9e203d3e6de472d1a1c9ad1e7531176b0 diff --git a/dpf b/dpf index 6d4bf6b..2ba9bea 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 6d4bf6b47e69516b3e9a8925279364f98456d959 +Subproject commit 2ba9bea2871bf4c37b102e88b1ec6219fa513950 From 4bb5c804b7f2619ca29499132d460b2533a90f6d Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Jun 2025 11:10:45 +0200 Subject: [PATCH 44/57] Fix macOS builds Signed-off-by: falkTX --- dpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dpf b/dpf index 2ba9bea..889681f 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 2ba9bea2871bf4c37b102e88b1ec6219fa513950 +Subproject commit 889681f58e5426e99a61d0c569f963e46cf0cce3 From 54b481356cba3d7a091d593267a502ad293879f4 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Jun 2025 12:16:44 +0200 Subject: [PATCH 45/57] Fix Windows builds Signed-off-by: falkTX --- carla | 2 +- dpf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/carla b/carla index 154047d..c9b6055 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit 154047d9e203d3e6de472d1a1c9ad1e7531176b0 +Subproject commit c9b60551497a7a9b76d86d694b6af08afe96335c diff --git a/dpf b/dpf index 889681f..8c30f9f 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 889681f58e5426e99a61d0c569f963e46cf0cce3 +Subproject commit 8c30f9f1eddba89805f4131aeb2d6ca3e31a46b1 From 51dd5be9143eec98842ecaf94c66347b6aee9809 Mon Sep 17 00:00:00 2001 From: markterm Date: Sat, 21 Jun 2025 15:04:30 +0100 Subject: [PATCH 46/57] Support triggering bar phase/clock every 4/8 bars (#798) * Support triggering bar phase/clock every 4/8 bars * Fixed kHostTimeBeatPhase * Fixed barPhase calculation --- plugins/Cardinal/src/HostTime.cpp | 46 +++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/plugins/Cardinal/src/HostTime.cpp b/plugins/Cardinal/src/HostTime.cpp index a28c4cd..f6c2f9d 100644 --- a/plugins/Cardinal/src/HostTime.cpp +++ b/plugins/Cardinal/src/HostTime.cpp @@ -40,11 +40,18 @@ struct HostTime : TerminalModule { kHostTimeCount }; + enum BarDivisions { + Bars1 = 1, + Bars4 = 4, + Bars8 = 8 + }; + const CardinalPluginContext* const pcontext; rack::dsp::PulseGenerator pulseReset, pulseBar, pulseBeat, pulseClock; float sampleTime = 0.0f; uint32_t lastProcessCounter = 0; + BarDivisions barDivision = Bars1; // cached time values struct { bool reset = true; @@ -122,7 +129,9 @@ struct HostTime : TerminalModule { { timeInfo.beat = 1; ++timeInfo.bar; - pulseBar.trigger(); + + if (timeInfo.bar % barDivision == 1) + pulseBar.trigger(); } } @@ -148,9 +157,10 @@ struct HostTime : TerminalModule { ? tick / pcontext->ticksPerBeat : 0.0f; const float barPhase = playingWithBBT && pcontext->beatsPerBar > 0 - ? ((float) (timeInfo.beat - 1) + beatPhase) / pcontext->beatsPerBar + ? ((float)((timeInfo.bar - 1) % barDivision) + (timeInfo.beat - 1) + beatPhase) + / (pcontext->beatsPerBar * barDivision) : 0.0f; - + lights[kHostTimeRolling].setBrightness(playing ? 1.0f : 0.0f); lights[kHostTimeReset].setBrightnessSmooth(hasReset ? 1.0f : 0.0f, args.sampleTime * 0.5f); lights[kHostTimeBar].setBrightnessSmooth(hasBar ? 1.0f : 0.0f, args.sampleTime * 0.5f); @@ -170,6 +180,20 @@ struct HostTime : TerminalModule { void processTerminalOutput(const ProcessArgs&) override {} + + json_t* dataToJson() override { + json_t* rootJ = json_object(); + json_object_set_new(rootJ, "barDivision", json_integer(barDivision)); + return rootJ; + } + + void dataFromJson(json_t* rootJ) override { + if (json_t* bdJ = json_object_get(rootJ, "barDivision")) { + int value = json_integer_value(bdJ); + if (value == Bars1 || value == Bars4 || value == Bars8) + barDivision = static_cast(value); + } + } }; // -------------------------------------------------------------------------------------------------------------------- @@ -286,6 +310,22 @@ struct HostTimeWidget : ModuleWidgetWith8HP { ModuleWidget::drawLayer(args, layer); } + + void appendContextMenu(Menu* menu) override { + struct BarDivisionItem : MenuItem { + HostTime* module; + HostTime::BarDivisions value; + void onAction(const event::Action& e) override { + module->barDivision = value; + } + }; + + menu->addChild(new MenuSeparator); + menu->addChild(construct(&MenuLabel::text, "Bar Division")); + menu->addChild(construct(&BarDivisionItem::text, "Bars/1", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars1)); + menu->addChild(construct(&BarDivisionItem::text, "Bars/4", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars4)); + menu->addChild(construct(&BarDivisionItem::text, "Bars/8", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars8)); + } }; #else struct HostTimeWidget : ModuleWidget { From 47e2db19a3eaa66758889bc97909ad3fad9a851b Mon Sep 17 00:00:00 2001 From: dreamer Date: Sat, 21 Jun 2025 16:48:32 +0200 Subject: [PATCH 47/57] update HetrickCV --- plugins/HetrickCV | 2 +- plugins/plugins.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/HetrickCV b/plugins/HetrickCV index 52b1e03..8c46fbe 160000 --- a/plugins/HetrickCV +++ b/plugins/HetrickCV @@ -1 +1 @@ -Subproject commit 52b1e03c34bd1baa264395c150cd62d8e192b12f +Subproject commit 8c46fbe13acdcb87991719bddcc6ec8abcf152ef diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index bc11224..e012e94 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -464,6 +464,7 @@ extern Model* modelChaos2Op; extern Model* modelChaos3Op; extern Model* modelChaoticAttractors; extern Model* modelClockedNoise; +extern Model* modelClockToPhasor; extern Model* modelComparator; extern Model* modelContrast; extern Model* modelCrackle; @@ -482,6 +483,7 @@ extern Model* modelGingerbread; extern Model* modelLogicCombine; extern Model* modelMidSide; extern Model* modelMinMax; +extern Model* modelNormals; extern Model* modelPhaseDrivenSequencer; extern Model* modelPhaseDrivenSequencer32; extern Model* modelPhasorAnalyzer; @@ -511,8 +513,10 @@ extern Model* modelPhasorSubstepShape; extern Model* modelPhasorSwing; extern Model* modelPhasorTimetable; extern Model* modelPhasorToClock; +extern Model* modelPhasorToRandom; extern Model* modelPhasorToLFO; extern Model* modelPhasorToWaveforms; +extern Model* modelPolymetricPhasors; extern Model* modelProbability; extern Model* modelRandomGates; extern Model* modelRotator; @@ -2406,6 +2410,7 @@ static void initStatic__HetrickCV() p->addModel(modelChaos3Op); p->addModel(modelChaoticAttractors); p->addModel(modelClockedNoise); + p->addModel(modelClockToPhasor); p->addModel(modelComparator); p->addModel(modelContrast); p->addModel(modelCrackle); @@ -2424,6 +2429,7 @@ static void initStatic__HetrickCV() p->addModel(modelLogicCombine); p->addModel(modelMidSide); p->addModel(modelMinMax); + p->addModel(modelNormals); p->addModel(modelPhaseDrivenSequencer); p->addModel(modelPhaseDrivenSequencer32); p->addModel(modelPhasorAnalyzer); @@ -2453,8 +2459,10 @@ static void initStatic__HetrickCV() p->addModel(modelPhasorSwing); p->addModel(modelPhasorTimetable); p->addModel(modelPhasorToClock); + p->addModel(modelPhasorToRandom); p->addModel(modelPhasorToLFO); p->addModel(modelPhasorToWaveforms); + p->addModel(modelPolymetricPhasors); p->addModel(modelProbability); p->addModel(modelRandomGates); p->addModel(modelRotator); From 9132ddb9752bc1b0dd70dd668a0f8c4d2d5ac411 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 14 Aug 2025 16:33:31 +0300 Subject: [PATCH 48/57] Fix crash when connecting to OSC remote Signed-off-by: falkTX --- src/override/Scene.cpp | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/override/Scene.cpp b/src/override/Scene.cpp index 909b498..5b6e85a 100644 --- a/src/override/Scene.cpp +++ b/src/override/Scene.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -207,20 +207,23 @@ void Scene::step() { (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", - "move modules", - "move switch", - }; - if (std::find(ignoredNames.cbegin(), ignoredNames.cend(), name) == ignoredNames.cend()) { - printf("action '%s'\n", APP->history->actions[actionIndex - 1]->name.c_str()); + if (remoteDetails->first) { + remoteDetails->first = false; remoteUtils::sendFullPatchToRemote(remoteDetails); - - if (remoteDetails->screenshot) { - window::generateScreenshot(); + } else { + const std::string& name(APP->history->actions[actionIndex - 1]->name); + static const std::vector ignoredNames = { + "move knob", + "move modules", + "move switch", + }; + if (std::find(ignoredNames.cbegin(), ignoredNames.cend(), name) == ignoredNames.cend()) { + d_debug("action '%s'\n", APP->history->actions[actionIndex - 1]->name.c_str()); + remoteUtils::sendFullPatchToRemote(remoteDetails); + + if (remoteDetails->screenshot) { + window::generateScreenshot(); + } } } internal->historyActionIndex = actionIndex; From e162c4a266e0e9673635d99d46d0d56c4d19b961 Mon Sep 17 00:00:00 2001 From: Cody Geary Date: Sat, 16 Aug 2025 13:37:28 +0200 Subject: [PATCH 49/57] CV funk v2.0.24 (#850) * CV funk v2.0.24 Adding new modules: Tatami - stereo polyphonic wavelder Cartesia - 4x4x4 channel 3D sequencer JunkDNA - A DNA sequence generator and gate sequencer Picus - Burst Generator Node - 2Channel stereo crossfading mixer Weave - Advanced chord generator and permutator Wonk - Chaotic LFO Hammer - Rotating clock modulator Hub - 2X bipolar VCAs for LFO mixing. * Resolve conflict with Node Treated Node the same as Steps in the makefile and plugins.cpp. Hopefully it works to resolve things. * Update plugins.cpp Fixing the fix.. There was an earlier part in plugins.cpp where I also had to temp rename/unrename 'Node'. --- plugins/CVfunk | 2 +- plugins/Makefile | 2 +- plugins/plugins.cpp | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/CVfunk b/plugins/CVfunk index a116e6b..51f2b4e 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit a116e6b18ac05974a23509cc47adfd86e8406385 +Subproject commit 51f2b4e61cde7978fb84cdd892a1d3aaedc0ff5b diff --git a/plugins/Makefile b/plugins/Makefile index e641c00..45c50b3 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -678,7 +678,7 @@ COMPUTERSCARE_CUSTOM = Quantizer PanelBorder PLUGIN_FILES += $(filter-out CVfunk/src/plugin.cpp,$(wildcard CVfunk/src/*.cpp)) # modules/types which are present in other plugins -CVFUNK_CUSTOM = Steps +CVFUNK_CUSTOM = Steps Node # -------------------------------------------------------------- # dBiz diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index e012e94..edcf204 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -343,9 +343,11 @@ extern Model* modelTestVCF; #include "cf/src/plugin.hpp" // CVfunk +#define modelNode modelCVfunkNode #define modelSteps modelCVfunkSteps #include "CVfunk/src/plugin.hpp" #undef modelSteps +#undef modelNode // ChowDSP #include "ChowDSP/src/plugin.hpp" @@ -2048,6 +2050,7 @@ static void initStatic__CVfunk() if (spl.ok()) { #define modelSteps modelCVfunkSteps + #define modelNode modelCVfunkNode p->addModel(modelSteps); p->addModel(modelEnvelopeArray); p->addModel(modelPentaSequencer); @@ -2069,6 +2072,16 @@ static void initStatic__CVfunk() p->addModel(modelPreeeeeeeeeeessedDuck); p->addModel(modelArrange); p->addModel(modelTriDelay); + p->addModel(modelTatami); + p->addModel(modelCartesia); + p->addModel(modelJunkDNA); + p->addModel(modelPicus); + p->addModel(modelNode); + p->addModel(modelWeave); + p->addModel(modelWonk); + p->addModel(modelHammer); + p->addModel(modelHub); + #undef modelNode #undef modelSteps } } From 2b9e629a7332a38a30a2d0c7a782a549628788f6 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 16 Aug 2025 16:06:51 +0200 Subject: [PATCH 50/57] Update dpf, fix wasm audio input quality Signed-off-by: falkTX --- carla | 2 +- dpf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/carla b/carla index c9b6055..bd96b7c 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit c9b60551497a7a9b76d86d694b6af08afe96335c +Subproject commit bd96b7c403832bfc2f96e55c71711f136e1a4f88 diff --git a/dpf b/dpf index 8c30f9f..79e5339 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 8c30f9f1eddba89805f4131aeb2d6ca3e31a46b1 +Subproject commit 79e5339bef455583a4b5762addfd6578d4230f05 From 595e3a5c9fda3b95a86d9f5b33e8ef476928537b Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 16 Aug 2025 17:39:50 +0200 Subject: [PATCH 51/57] Fix wasm build Signed-off-by: falkTX --- carla | 2 +- src/Makefile.cardinal.mk | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/carla b/carla index bd96b7c..31c97d2 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit bd96b7c403832bfc2f96e55c71711f136e1a4f88 +Subproject commit 31c97d211808a20d0b5ade0612bcd09e0f31785d diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 576a893..e246242 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -264,6 +264,9 @@ endif ifeq ($(WASM),true) APP_EXT = .js +UI_TYPE = gles2 +else +UI_TYPE = opengl endif USE_VST2_BUNDLE = true From 670471e81e19bbd2a3b46accffb0c2a0ec67f564 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 16 Aug 2025 22:11:24 +0200 Subject: [PATCH 52/57] carla related build fixes Signed-off-by: falkTX --- carla | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/carla b/carla index 31c97d2..034d0c4 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit 31c97d211808a20d0b5ade0612bcd09e0f31785d +Subproject commit 034d0c4242ba834e0b5a8967a5eefedf9d97178c From 39eda2c307a3396fa94a677fff1d83a5a5473efa Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 16 Aug 2025 22:43:36 +0200 Subject: [PATCH 53/57] Fix wasm build Signed-off-by: falkTX --- Makefile | 23 ++++++++++++++++------- src/Makefile.cardinal.mk | 2 -- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index ce97c4b..be09b5d 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,12 @@ #!/usr/bin/make -f # DISTRHO Cardinal Plugin -# Copyright (C) 2021-2024 Filipe Coelho +# Copyright (C) 2021-2025 Filipe Coelho # SPDX-License-Identifier: GPL-3.0-or-later ROOT = . include $(ROOT)/Makefile.base.mk -# ----------------------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Set version # also set in: @@ -17,18 +17,18 @@ include $(ROOT)/Makefile.base.mk # .github/ISSUE_TEMPLATE/bug.yaml src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist VERSION = 25.06 -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Build targets all: cardinal carla deps dgl plugins gen resources -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Build config PREFIX ?= /usr/local DESTDIR ?= -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Carla config CARLA_EXTRA_ARGS = \ @@ -44,7 +44,16 @@ ifneq ($(DEBUG),true) CARLA_EXTRA_ARGS += EXTERNAL_PLUGINS=true endif -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- +# DGL config + +ifeq ($(WASM),true) +UI_TYPE = gles2 +else +UI_TYPE = opengl +endif + +# --------------------------------------------------------------------------------------------------------------------- # Check for required system-wide dependencies ifeq ($(SYSDEPS),true) @@ -183,7 +192,7 @@ endif dgl: ifneq ($(HEADLESS),true) - $(MAKE) opengl -C dpf/dgl $(DGL_EXTRA_ARGS) + $(MAKE) $(UI_TYPE) -C dpf/dgl $(DGL_EXTRA_ARGS) endif plugins: deps diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index e246242..2701aa5 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -265,8 +265,6 @@ endif ifeq ($(WASM),true) APP_EXT = .js UI_TYPE = gles2 -else -UI_TYPE = opengl endif USE_VST2_BUNDLE = true From e494aff6e88599d153abde6a364d946d79798ffe Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 20 Aug 2025 14:15:32 +0200 Subject: [PATCH 54/57] 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 55/57] 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 56/57] 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 57/57] 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); } }