From 84b0e428b531ab0342842292b7663025d6398497 Mon Sep 17 00:00:00 2001 From: CV funk Date: Fri, 3 May 2024 08:06:02 +0200 Subject: [PATCH 1/5] CV funk v2.0.4 (#661) * Update CV funk to 2.0.3 Added Ouros stereo phase injection oscillator Numerous small buxfixes to other modules * CVfunk bugfix Fixed a bug reported by Windows10 users where switching circ/star modes in PentaSequencer would cause a crash. * CV funk v2.0.4 Added PressedDuck, ducking compressing saturating stereo mixer. Panel updates, CPU improvements. --- 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 8777f99e90494091d74e426a50a9ce1093a02f03 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 3 May 2024 23:53:05 +0200 Subject: [PATCH 2/5] Fix missing binary resources for StarlingVia Signed-off-by: falkTX --- Makefile | 3 +++ plugins/Makefile | 3 ++- plugins/plugins.cpp | 4 +--- src/Makefile | 3 +++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index c9f010f..6acfa09 100644 --- a/Makefile +++ b/Makefile @@ -223,6 +223,9 @@ lv2: carla deps dgl plugins resources vst2: carla deps dgl plugins resources $(MAKE) vst2 -C src $(CARLA_EXTRA_ARGS) +vst2fx: carla deps dgl plugins resources + $(MAKE) vst2fx -C src $(CARLA_EXTRA_ARGS) + vst3: carla deps dgl plugins resources $(MAKE) vst3 -C src $(CARLA_EXTRA_ARGS) diff --git a/plugins/Makefile b/plugins/Makefile index d929601..6bfbfca 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1023,7 +1023,7 @@ PLUGIN_FILES += $(filter-out sonusmodular/src/sonusmodular.cpp,$(wildcard sonusm # -------------------------------------------------------------- # Starling Via -PLUGIN_FILES += $(wildcard StarlingVia/src/*.cpp) +PLUGIN_FILES += $(filter-out StarlingVia/src/starling.cpp,$(wildcard StarlingVia/src/*.cpp)) PLUGIN_FILES += $(wildcard StarlingVia/Via/io/src/*.cpp) PLUGIN_FILES += $(wildcard StarlingVia/Via/ui/src/*.cpp) PLUGIN_FILES += $(wildcard StarlingVia/Via/modules/*/*.cpp) @@ -1445,6 +1445,7 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes RESOURCE_FILES += Mog/res RESOURCE_FILES += nonlinearcircuits/res RESOURCE_FILES += ParableInstruments/res/Neil.png +RESOURCE_FILES += $(wildcard StarlingVia/res/original.*) RESOURCE_FILES += surgext/build/surge-data/configuration.xml RESOURCE_FILES += surgext/build/surge-data/fx_presets RESOURCE_FILES += surgext/build/surge-data/wavetables diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 3bb4372..899df1d 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -811,7 +811,6 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {} // sonusmodular #include "sonusmodular/src/sonusmodular.hpp" - // Starling Via #define modelScanner modelStarlingViaScanner #define Scale starlingViaScale @@ -954,7 +953,7 @@ Plugin* pluginInstance__RebelTech; Plugin* pluginInstance__repelzen; Plugin* pluginInstance__sapphire; Plugin* pluginInstance__sonusmodular; -extern Plugin* pluginInstance__StarlingVia; +Plugin* pluginInstance__StarlingVia; Plugin* pluginInstance__stocaudio; extern Plugin* pluginInstance__stoermelder_p1; Plugin* pluginInstance__surgext; @@ -3070,7 +3069,6 @@ static void initStatic__sonusmodular() } } - static void initStatic__StarlingVia() { Plugin* const p = new Plugin; diff --git a/src/Makefile b/src/Makefile index 805cdfe..24038a8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -152,6 +152,9 @@ vst2: $(TARGETS) $(MAKE) vst2 -C CardinalFX $(CARDINAL_FX_ARGS) $(MAKE) vst2 -C CardinalSynth $(CARDINAL_SYNTH_ARGS) +vst2fx: $(TARGETS) + $(MAKE) vst2 -C CardinalFX $(CARDINAL_FX_ARGS) + vst3: $(TARGETS) $(MAKE) vst3 -C Cardinal $(MAKE) vst3 -C CardinalFX $(CARDINAL_FX_ARGS) From 646f01d11434a4d0d44d5a07faa57cda7b68ec78 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Sat, 4 May 2024 02:29:43 +0200 Subject: [PATCH 3/5] initial work for PdArray (#658) * initial work for PdArray * custom name for TextBox * use DRWAV as custom for PdArray * invert PdArray panels * some more symbol fixes? * Cleanup Signed-off-by: falkTX * Fix typo Signed-off-by: falkTX * Fix uninitialized values Signed-off-by: falkTX --------- Signed-off-by: falkTX Co-authored-by: falkTX --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 4 ++++ plugins/Makefile | 17 ++++++++++++++++- plugins/PdArray | 1 + plugins/plugins.cpp | 37 ++++++++++++++++++++++++++++++++----- src/custom/dep.cpp | 5 +++++ 7 files changed, 62 insertions(+), 6 deletions(-) create mode 160000 plugins/PdArray diff --git a/.gitmodules b/.gitmodules index 33b61a8..577b352 100644 --- a/.gitmodules +++ b/.gitmodules @@ -245,3 +245,6 @@ [submodule "plugins/Biset"] path = plugins/Biset url = https://github.com/gibbonjoyeux/VCV-Biset.git +[submodule "plugins/PdArray"] + path = plugins/PdArray + url = https://github.com/mgunyho/PdArray.git diff --git a/README.md b/README.md index 1cef9ea..da1eb25 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ At the moment the following 3rd-party modules are provided: - [Orbits](https://github.com/RareBreeds/Orbits) - [Parable Instruments](https://github.com/adbrant/ArableInstruments) - [Path Set](https://github.com/patheros/PathSetModules) +- [PdArray](https://github.com/mgunyho/PdArray) - [PinkTrombone](https://github.com/VegaDeftwing/PinkTromboneVCV) - [Prism](https://github.com/SteveRussell33/Prism) - [rackwindows](https://github.com/n0jo/rackwindows) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 33e875f..01641de 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -73,6 +73,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Orbits | GPL-3.0-or-later | | | Parable Instruments | GPL-3.0-or-later | | | Path Set | GPL-3.0-or-later | | +| PdArray | EUPL-1.2 | | | PinkTrombone | GPL-3.0-or-later | | | Prism | BSD-3-Clause | | | Rackwindows | MIT | | @@ -232,6 +233,9 @@ Below is a list of artwork licenses from plugins | Orbits/fonts/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | | ParableInstruments/* | Custom | Copyright © Alex Brandt, [used and distributed with permission](https://github.com/adbrant/ArableInstruments/issues/21) | | PathSet/* | GPL-3.0-or-later | No artwork specific license provided | +| PdArray/res/*svg | EUPL-1.2 | No artwork specific license provided | +| PdArray/res/fonts/Overpass-*.ttf | OFL-1.1-RFN | | +| PdArray/res/fonts/Roboto-*.ttf | Apache-2.0 | | | PinkTrombone/* | GPL-3.0-or-later | No artwork specific license provided | | Prism/* | CC-BY-SA-4.0 | | | Prism/RobotoCondensed-Regular.ttf | Apache-2.0 | | diff --git a/plugins/Makefile b/plugins/Makefile index 6bfbfca..90a781c 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -971,6 +971,14 @@ PLUGIN_FILES += $(filter-out PathSet/src/plugin.cpp,$(wildcard PathSet/src/*.cpp # modules/types which are present in other plugins PATHSET_CUSTOM = PitchShifter +# -------------------------------------------------------------- +# PdArray + +PLUGIN_FILES += $(filter-out PdArray/src/plugin.cpp,$(wildcard PdArray/src/*.cpp)) + +# modules/types which are present in other plugins +PDARRAY_CUSTOM = $(DRWAV) CustomTrimpot MsDisplayWidget TextBox + # -------------------------------------------------------------- # PinkTrombone @@ -1445,11 +1453,11 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes RESOURCE_FILES += Mog/res RESOURCE_FILES += nonlinearcircuits/res RESOURCE_FILES += ParableInstruments/res/Neil.png -RESOURCE_FILES += $(wildcard StarlingVia/res/original.*) RESOURCE_FILES += surgext/build/surge-data/configuration.xml RESOURCE_FILES += surgext/build/surge-data/fx_presets RESOURCE_FILES += surgext/build/surge-data/wavetables RESOURCE_FILES += surgext/build/surge-data/windows.wt +RESOURCE_FILES += $(wildcard StarlingVia/res/original.*) RESOURCE_FILES += $(wildcard surgext/res/xt/fonts/quicksand/*.ttf) RESOURCE_FILES += $(wildcard unless_modules/art/*.art) RESOURCE_FILES += $(wildcard unless_modules/art/svg/*/*.svg) @@ -2628,6 +2636,13 @@ $(BUILD_DIR)/PathSet/%.cpp.o: PathSet/%.cpp $(foreach m,$(PATHSET_CUSTOM),$(call custom_module_names,$(m),PathSet)) \ -DpluginInstance=pluginInstance__PathSet +$(BUILD_DIR)/PdArray/%.cpp.o: PdArray/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(PDARRAY_CUSTOM),$(call custom_module_names,$(m),PdArray)) \ + -DpluginInstance=pluginInstance__PdArray + $(BUILD_DIR)/PinkTrombone/%.cpp.o: PinkTrombone/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/PdArray b/plugins/PdArray new file mode 160000 index 0000000..8e8e654 --- /dev/null +++ b/plugins/PdArray @@ -0,0 +1 @@ +Subproject commit 8e8e65490bf9d1708e586b1d759849bf2d76a4f0 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 899df1d..c4ce74e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -776,6 +776,17 @@ extern Model* modelBlankPanel; // Path Set #include "PathSet/src/plugin.hpp" +// PdArray +#define TextBox PdArrayTextBox +#define CustomTrimpot PdArrayCustomTrimpot +#define MsDisplayWidget PdArrayMsDisplayWidget +#define MAX_POLY_CHANNELS PDARRAY_MAX_POLY_CHANNELS +#include "PdArray/src/plugin.hpp" +#undef Textbox +#undef CustomTrimpot +#undef MsDisplayWidget +#undef MAX_POLY_CHANNELS + // PinkTrombone #include "PinkTrombone/src/plugin.hpp" @@ -946,6 +957,7 @@ Plugin* pluginInstance__nonlinearcircuits; Plugin* pluginInstance__Orbits; Plugin* pluginInstance__ParableInstruments; Plugin* pluginInstance__PathSet; +Plugin* pluginInstance__PdArray; Plugin* pluginInstance__PinkTrombone; Plugin* pluginInstance__Prism; Plugin* pluginInstance__rackwindows; @@ -1961,11 +1973,11 @@ static void initStatic__CVfunk() 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(modelCollatz); + p->addModel(modelStrings); + p->addModel(modelMagnets); + p->addModel(modelOuros); + p->addModel(modelPressedDuck); #undef modelSteps } } @@ -2913,6 +2925,20 @@ static void initStatic__PathSet() } } +static void initStatic__PdArray() +{ + Plugin* const p = new Plugin; + pluginInstance__PdArray = p; + + const StaticPluginLoader spl(p, "PdArray"); + if (spl.ok()) + { + p->addModel(modelArray); + p->addModel(modelMiniramp); + p->addModel(modelMinistep); + } +} + static void initStatic__PinkTrombone() { Plugin* const p = new Plugin; @@ -3427,6 +3453,7 @@ void initStaticPlugins() initStatic__Orbits(); initStatic__ParableInstruments(); initStatic__PathSet(); + initStatic__PdArray(); initStatic__PinkTrombone(); initStatic__Prism(); initStatic__rackwindows(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 14a1fc4..af32036 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -73,6 +73,7 @@ enum DarkMode { kModeMyth, kModeNonlinearcircuits, kModeParableInstruments, + kModePdArray, kModePathSet, kModeVoxglitch, kModeWhatTheRack, @@ -355,6 +356,10 @@ static const struct { { kModePathSet, "/PathSet/res/PlusPane.svg", {}, -1 }, { kModePathSet, "/PathSet/res/ShiftyExpander.svg", {}, -1 }, { kModePathSet, "/PathSet/res/ShiftyMod.svg", {}, -1 }, + // EUPL-1.2 + { kModePdArray, "/PdArray/res/Array.svg", {}, -1 }, + { kModePdArray, "/PdArray/res/Miniramp.svg", {}, -1 }, + { kModePdArray, "/PdArray/res/Ministep.svg", {}, -1 }, // BSD-3-Clause { kModeVoxglitch, "/voxglitch/res/autobreak_front_panel.svg", {}, -1 }, { kModeVoxglitch, "/voxglitch/res/bytebeat_front_panel.svg", {}, -1 }, From eee0727667690eff6a5625abe6acf321d81614d4 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Wed, 8 May 2024 08:50:58 -0400 Subject: [PATCH 4/5] Sapphire v2.4.4 This brings Cardinal in sync with VCV Rack at Sapphire v2.4.4. Minor UI improvements. Corrected C++17 build problems for the Sapphire plugin: I learned not to put anything fancy in plugin.cpp or plugin.hpp! Cardinal's C++11 code must be able to include plugins/Sapphire/plugin.hpp, so I can't put any C++17 code there. This frees me up to use std::clamp, std::make_unique, etc. --- plugins/Makefile | 2 +- plugins/Sapphire | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index 90a781c..8719cc1 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -2684,7 +2684,7 @@ $(BUILD_DIR)/repelzen/%.cpp.o: repelzen/%.cpp $(BUILD_DIR)/Sapphire/%.cpp.o: Sapphire/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" - $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -std=gnu++17 -c -o $@ \ $(foreach m,$(SAPPHIRE_CUSTOM),$(call custom_module_names,$(m),Sapphire)) \ -DpluginInstance=pluginInstance__sapphire diff --git a/plugins/Sapphire b/plugins/Sapphire index d26e157..9fe1e5d 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit d26e157140ef6283906a33675733ea35e4dd26ac +Subproject commit 9fe1e5d415d69ee31936be1ac05695a7e9ef3eab From e34f73bbf273fe369b464cae5b603c831b471137 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Wed, 8 May 2024 19:21:38 -0400 Subject: [PATCH 5/5] Sapphire: Fix confusion over std::clamp types - float vs double --- plugins/Sapphire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Sapphire b/plugins/Sapphire index 9fe1e5d..0bcc1f4 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 9fe1e5d415d69ee31936be1ac05695a7e9ef3eab +Subproject commit 0bcc1f4a48a7a7d59013f5f4a12574f7453a5edf