From 605037979f3cdaa636a971f9cab7b05772df6f83 Mon Sep 17 00:00:00 2001 From: dreamer Date: Sat, 27 Apr 2024 18:40:02 +0200 Subject: [PATCH 1/8] initial work for PdArray --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 4 ++++ plugins/Makefile | 16 +++++++++++++++- plugins/PdArray | 1 + plugins/plugins.cpp | 31 +++++++++++++++++++++++++++---- 6 files changed, 51 insertions(+), 5 deletions(-) create mode 160000 plugins/PdArray diff --git a/.gitmodules b/.gitmodules index 33b61a87..577b3520 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 1cef9eab..da1eb252 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 33e875ff..01641de1 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 d929601b..e0ecad48 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -846,7 +846,7 @@ LILACLOOP_CUSTOM = AudioFile Mode PLUGIN_FILES += $(filter-out LittleUtils/src/plugin.cpp,$(wildcard LittleUtils/src/*.cpp)) # modules/types which are present in other plugins -LITTLEUTILS_CUSTOM = MsDisplayWidget +LITTLEUTILS_CUSTOM = MsDisplayWidget MAX_POLY_CHANNELS # -------------------------------------------------------------- # LomasModules @@ -971,6 +971,13 @@ 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 = MAX_POLY_CHANNELS draw + # -------------------------------------------------------------- # PinkTrombone @@ -2627,6 +2634,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 00000000..e658321d --- /dev/null +++ b/plugins/PdArray @@ -0,0 +1 @@ +Subproject commit e658321d7f4c971410205383443b5e87534c2033 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 8b2d8344..56d585c2 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -776,6 +776,11 @@ extern Model* modelBlankPanel; // Path Set #include "PathSet/src/plugin.hpp" +// PdArray +#define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS +#include "PdArray/src/plugin.hpp" +#undef PDARRAYMAX_POLY_CHANNELS + // PinkTrombone #include "PinkTrombone/src/plugin.hpp" @@ -947,6 +952,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; @@ -1962,10 +1968,10 @@ 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(modelCollatz); + p->addModel(modelStrings); + p->addModel(modelMagnets); + p->addModel(modelOuros); #undef modelSteps } } @@ -2913,6 +2919,22 @@ static void initStatic__PathSet() } } +static void initStatic__PdArray() +{ + Plugin* const p = new Plugin; + pluginInstance__PdArray = p; + + const StaticPluginLoader spl(p, "PdArray"); + if (spl.ok()) + { +#define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS + p->addModel(modelArray); + p->addModel(modelMiniramp); + p->addModel(modelMinistep); +#undef PDARRAYMAX_POLY_CHANNELS + } +} + static void initStatic__PinkTrombone() { Plugin* const p = new Plugin; @@ -3428,6 +3450,7 @@ void initStaticPlugins() initStatic__Orbits(); initStatic__ParableInstruments(); initStatic__PathSet(); + initStatic__PdArray(); initStatic__PinkTrombone(); initStatic__Prism(); initStatic__rackwindows(); From 4124baa9765d682c62e9a7d8445f3cdca3f19a13 Mon Sep 17 00:00:00 2001 From: dreamer Date: Sat, 27 Apr 2024 20:25:14 +0200 Subject: [PATCH 2/8] custom name for TextBox --- plugins/Makefile | 2 +- plugins/plugins.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index e0ecad48..0939cfb0 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -976,7 +976,7 @@ PATHSET_CUSTOM = PitchShifter PLUGIN_FILES += $(filter-out PdArray/src/plugin.cpp,$(wildcard PdArray/src/*.cpp)) # modules/types which are present in other plugins -PDARRAY_CUSTOM = MAX_POLY_CHANNELS draw +PDARRAY_CUSTOM = MAX_POLY_CHANNELS TextBox # -------------------------------------------------------------- # PinkTrombone diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 56d585c2..c28a0f69 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -778,8 +778,10 @@ extern Model* modelBlankPanel; // PdArray #define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS +#define TextBox PdArrayTextBox #include "PdArray/src/plugin.hpp" #undef PDARRAYMAX_POLY_CHANNELS +#undef Textbox // PinkTrombone #include "PinkTrombone/src/plugin.hpp" @@ -2928,10 +2930,12 @@ static void initStatic__PdArray() if (spl.ok()) { #define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS +#define TextBox PdArrayTextBox p->addModel(modelArray); p->addModel(modelMiniramp); p->addModel(modelMinistep); #undef PDARRAYMAX_POLY_CHANNELS +#undef TextBox } } From 94ce1dfc2aca4b1358eb61be4ef8b6e6e1464e7d Mon Sep 17 00:00:00 2001 From: dreamer Date: Fri, 3 May 2024 08:30:00 +0200 Subject: [PATCH 3/8] use DRWAV as custom for PdArray --- plugins/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index 0939cfb0..8a9bc28b 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -976,7 +976,7 @@ PATHSET_CUSTOM = PitchShifter PLUGIN_FILES += $(filter-out PdArray/src/plugin.cpp,$(wildcard PdArray/src/*.cpp)) # modules/types which are present in other plugins -PDARRAY_CUSTOM = MAX_POLY_CHANNELS TextBox +PDARRAY_CUSTOM = $(DRWAV) MAX_POLY_CHANNELS TextBox # -------------------------------------------------------------- # PinkTrombone From 82c5b8cf8e123e5bb7ff615d59d85fa9c94d2809 Mon Sep 17 00:00:00 2001 From: dreamer Date: Fri, 3 May 2024 09:19:29 +0200 Subject: [PATCH 4/8] invert PdArray panels --- src/custom/dep.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 14a1fc44..af320362 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 101ed7916ea2e5d3194f800bd4b1063e2c04f9c2 Mon Sep 17 00:00:00 2001 From: dreamer Date: Fri, 3 May 2024 11:01:05 +0200 Subject: [PATCH 5/8] some more symbol fixes? --- plugins/Makefile | 6 +++--- plugins/plugins.cpp | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index 8a9bc28b..97f0d81c 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -411,7 +411,7 @@ PLUGIN_FILES += AS/freeverb/revmodel.cpp # modules/types which are present in other plugins AS_CUSTOM = ADSR BpmDisplayWidget LabelDisplayWidget LedLight LowFrequencyOscillator SigDisplayWidget VCA WaveShaper YellowRedLight allpass comb revmodel -AS_CUSTOM_PER_FILE = NumberDisplayWidget +AS_CUSTOM_PER_FILE = NumberDisplayWidget MsDisplayWidget # -------------------------------------------------------------- # AudibleInstruments @@ -846,7 +846,7 @@ LILACLOOP_CUSTOM = AudioFile Mode PLUGIN_FILES += $(filter-out LittleUtils/src/plugin.cpp,$(wildcard LittleUtils/src/*.cpp)) # modules/types which are present in other plugins -LITTLEUTILS_CUSTOM = MsDisplayWidget MAX_POLY_CHANNELS +LITTLEUTILS_CUSTOM = CustomTrimpot MsDisplayWidget MAX_POLY_CHANNELS # -------------------------------------------------------------- # LomasModules @@ -976,7 +976,7 @@ PATHSET_CUSTOM = PitchShifter PLUGIN_FILES += $(filter-out PdArray/src/plugin.cpp,$(wildcard PdArray/src/*.cpp)) # modules/types which are present in other plugins -PDARRAY_CUSTOM = $(DRWAV) MAX_POLY_CHANNELS TextBox +PDARRAY_CUSTOM = $(DRWAV) MAX_POLY_CHANNELS TextBox CustomTrimpot MsDisplayWidget # -------------------------------------------------------------- # PinkTrombone diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 47916f93..ec459d0c 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -779,9 +779,13 @@ extern Model* modelBlankPanel; // PdArray #define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS #define TextBox PdArrayTextBox +#define CustomTrimpot PdArrayCustomTrimpot +#define MsDisplayWidget PdArrayMsDisplayWidget #include "PdArray/src/plugin.hpp" #undef PDARRAYMAX_POLY_CHANNELS #undef Textbox +#undef CustomTrimpot +#undef MsDisplayWidget // PinkTrombone #include "PinkTrombone/src/plugin.hpp" @@ -2932,11 +2936,15 @@ static void initStatic__PdArray() { #define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS #define TextBox PdArrayTextBox +#define CustomTrimpot PdArrayCustomTrimpot +#define MsDisplayWidget PdArrayMsDisplayWidget p->addModel(modelArray); p->addModel(modelMiniramp); p->addModel(modelMinistep); #undef PDARRAYMAX_POLY_CHANNELS #undef TextBox +#undef CustomTrimpot +#undef MsDisplayWidget } } From 1f42487e9efd0da9d01b296994e0347e6703ea81 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 3 May 2024 18:16:31 +0200 Subject: [PATCH 6/8] Cleanup Signed-off-by: falkTX --- plugins/Makefile | 7 ++++--- plugins/plugins.cpp | 12 ++---------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index 97f0d81c..727f73ab 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -411,7 +411,7 @@ PLUGIN_FILES += AS/freeverb/revmodel.cpp # modules/types which are present in other plugins AS_CUSTOM = ADSR BpmDisplayWidget LabelDisplayWidget LedLight LowFrequencyOscillator SigDisplayWidget VCA WaveShaper YellowRedLight allpass comb revmodel -AS_CUSTOM_PER_FILE = NumberDisplayWidget MsDisplayWidget +AS_CUSTOM_PER_FILE = NumberDisplayWidget # -------------------------------------------------------------- # AudibleInstruments @@ -846,7 +846,7 @@ LILACLOOP_CUSTOM = AudioFile Mode PLUGIN_FILES += $(filter-out LittleUtils/src/plugin.cpp,$(wildcard LittleUtils/src/*.cpp)) # modules/types which are present in other plugins -LITTLEUTILS_CUSTOM = CustomTrimpot MsDisplayWidget MAX_POLY_CHANNELS +LITTLEUTILS_CUSTOM = MsDisplayWidget # -------------------------------------------------------------- # LomasModules @@ -973,10 +973,11 @@ 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) MAX_POLY_CHANNELS TextBox CustomTrimpot MsDisplayWidget +PDARRAY_CUSTOM = $(DRWAV) CustomTrimpot MsDisplayWidget TextBox # -------------------------------------------------------------- # PinkTrombone diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index ec459d0c..62062de8 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -777,15 +777,15 @@ extern Model* modelBlankPanel; #include "PathSet/src/plugin.hpp" // PdArray -#define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS #define TextBox PdArrayTextBox #define CustomTrimpot PdArrayCustomTrimpot #define MsDisplayWidget PdArrayMsDisplayWidget +#define MAX_POLY_CHANNELS PDARRAY_MAX_POLY_CHANNELS #include "PdArray/src/plugin.hpp" -#undef PDARRAYMAX_POLY_CHANNELS #undef Textbox #undef CustomTrimpot #undef MsDisplayWidget +#undef PDARRAY_MAX_POLY_CHANNELS // PinkTrombone #include "PinkTrombone/src/plugin.hpp" @@ -2934,17 +2934,9 @@ static void initStatic__PdArray() const StaticPluginLoader spl(p, "PdArray"); if (spl.ok()) { -#define MAX_POLY_CHANNELS PDARRAYMAX_POLY_CHANNELS -#define TextBox PdArrayTextBox -#define CustomTrimpot PdArrayCustomTrimpot -#define MsDisplayWidget PdArrayMsDisplayWidget p->addModel(modelArray); p->addModel(modelMiniramp); p->addModel(modelMinistep); -#undef PDARRAYMAX_POLY_CHANNELS -#undef TextBox -#undef CustomTrimpot -#undef MsDisplayWidget } } From 911c576ad6db1c01993cc56dd5f0dda6ee6419d5 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 3 May 2024 18:33:18 +0200 Subject: [PATCH 7/8] Fix typo Signed-off-by: falkTX --- plugins/plugins.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 62062de8..19922f8d 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -785,7 +785,7 @@ extern Model* modelBlankPanel; #undef Textbox #undef CustomTrimpot #undef MsDisplayWidget -#undef PDARRAY_MAX_POLY_CHANNELS +#undef MAX_POLY_CHANNELS // PinkTrombone #include "PinkTrombone/src/plugin.hpp" From 944355c45e14c319e9b5803707182e262b221652 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 4 May 2024 00:16:04 +0200 Subject: [PATCH 8/8] Fix uninitialized values Signed-off-by: falkTX --- plugins/Makefile | 2 +- plugins/PdArray | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index 9b9e4a19..90a781c4 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1453,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) diff --git a/plugins/PdArray b/plugins/PdArray index e658321d..8e8e6549 160000 --- a/plugins/PdArray +++ b/plugins/PdArray @@ -1 +1 @@ -Subproject commit e658321d7f4c971410205383443b5e87534c2033 +Subproject commit 8e8e65490bf9d1708e586b1d759849bf2d76a4f0