From 889da8134297a3c2d4ff359061339c5a6c70a5ec Mon Sep 17 00:00:00 2001 From: dreamer Date: Thu, 24 Feb 2022 17:04:42 +0100 Subject: [PATCH 01/19] adding Dintree --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 3 +++ plugins/Dintree | 1 + plugins/Makefile | 14 ++++++++++++++ plugins/plugins.cpp | 25 +++++++++++++++++++++++++ 6 files changed, 47 insertions(+) create mode 160000 plugins/Dintree diff --git a/.gitmodules b/.gitmodules index 4784971..2365e80 100644 --- a/.gitmodules +++ b/.gitmodules @@ -142,3 +142,6 @@ [submodule "plugins/Axioma"] path = plugins/Axioma url = https://github.com/kauewerner/Axioma.git +[submodule "plugins/Dintree"] + path = plugins/Dintree + url = https://github.com/hires/Dintree-Virtual.git diff --git a/README.md b/README.md index 67c78fa..5bad258 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,7 @@ At the moment the following 3rd-party modules are provided: - Bogaudio - cf - ChowDSP +- Dintree Virtual - DrumKit - E-Series - ExpertSleepers Encoders diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 1b78018..99a0439 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -27,6 +27,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Bogaudio | GPL-3.0-or-later | | | cf | BSD-3-Clause | | | ChowDSP | GPL-3.0-or-later | | +| Dintree | GPL-3.0-or-later | | | DrumKit | CC0-1.0 | | | E-Series | GPL-3.0-or-later | | | ExpertSleepers Encoders | MIT | | @@ -106,6 +107,8 @@ Below is a list of artwork licenses from plugins | cf/VT323-Regular.ttf | OFL-1.1-no-RFN | | | ChowDSP/* | GPL-3.0-or-later | Same license as source code | | ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | | +| Dintree/* | GPL-3.0-or-later | No artwork specific license provided | +| Dintree/components/fixedsys.ttf | unknown | needs research | | DrumKit/* | CC0-1.0 | | | DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | | | E-Series/* | Custom | Copyright © Synthesis Technology, [used and distributed with permission](LICENSE-PERMISSIONS.md#eseries-paul-schreiber--synthtech) | diff --git a/plugins/Dintree b/plugins/Dintree new file mode 160000 index 0000000..0fd807a --- /dev/null +++ b/plugins/Dintree @@ -0,0 +1 @@ +Subproject commit 0fd807a7a68ae6a7cab503dfbbc1f4c7c841d0fc diff --git a/plugins/Makefile b/plugins/Makefile index a08a6b3..4d4f1f8 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -434,6 +434,13 @@ PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp) PLUGIN_FILES += $(filter-out cf/src/plugin.cpp,$(wildcard cf/src/*.cpp)) +# -------------------------------------------------------------- +# Dintree + +PLUGIN_FILES += $(wildcard Dintree/src/*.cpp) +PLUGIN_FILES += $(wildcard Dintree/src/components/*.cpp) +PLUGIN_FILES += $(wildcard Dintree/src/utils/*.cpp) + # -------------------------------------------------------------- # DrumKit @@ -1202,6 +1209,13 @@ $(BUILD_DIR)/ChowDSP/%.cpp.o: ChowDSP/%.cpp -IChowDSP/lib/chowdsp_utils/DSP/WDF \ -Wno-deprecated-copy +$(BUILD_DIR)/Dintree/%.cpp.o: Dintree/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(DINTREE_CUSTOM),$(call custom_module_names,$(m),Dintree)) \ + -DpluginInstance=pluginInstance__Dintree + $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index ac968a0..8f07ca8 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -276,6 +276,9 @@ extern Model* modelTestVCF; #include "ChowDSP/src/plugin.cpp" #undef init +// Dintree +#include "Dintree/src/plugin.hpp" + // DrumKit #include "DrumKit/src/DrumKit.hpp" void setupSamples(); @@ -582,6 +585,7 @@ Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; Plugin* pluginInstance__cf; Plugin* pluginInstance__ChowDSP; +Plugin* pluginInstance__Dintree; extern Plugin* pluginInstance__DrumKit; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__ExpertSleepersEncoders; @@ -1287,6 +1291,26 @@ static void initStatic__ChowDSP() } } +static void initStatic__Dintree() +{ + Plugin* const p = new Plugin; + pluginInstance__Dintree = p; + + const StaticPluginLoader spl(p, "Dintree"); + if (spl.ok()) + { + p->addModel(modelV100_Scanner); + p->addModel(modelV101_Dual_Envelope); + p->addModel(modelV102_Output_Mixer); + p->addModel(modelV103_Reverb_Delay); + p->addModel(modelV104_Four_Vs); + p->addModel(modelV105_Quad_CV_Proc); + p->addModel(modelV107_Dual_Slew); + p->addModel(modelV201_Tri_Comparator); + p->addModel(modelV218_SH_Clock_Noise); + } +} + static void initStatic__DrumKit() { Plugin* const p = new Plugin; @@ -2054,6 +2078,7 @@ void initStaticPlugins() initStatic__BogaudioModules(); initStatic__cf(); initStatic__ChowDSP(); + initStatic__Dintree(); initStatic__DrumKit(); initStatic__ESeries(); initStatic__ExpertSleepersEncoders(); From abdcf1fff3b5721b889f392e2b229db6cf917aa0 Mon Sep 17 00:00:00 2001 From: dreamer Date: Thu, 24 Feb 2022 21:05:27 +0100 Subject: [PATCH 02/19] adding stocaudio modules --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 12 ++++++++++++ plugins/plugins.cpp | 19 +++++++++++++++++++ plugins/stocaudio | 1 + 6 files changed, 38 insertions(+) create mode 160000 plugins/stocaudio diff --git a/.gitmodules b/.gitmodules index 75badf8..eaff476 100644 --- a/.gitmodules +++ b/.gitmodules @@ -154,3 +154,6 @@ [submodule "plugins/Orbits"] path = plugins/Orbits url = git@github.com:RareBreeds/Orbits.git +[submodule "plugins/stocaudio"] + path = plugins/stocaudio + url = https://github.com/aptrn/stocaudio-modules.git diff --git a/README.md b/README.md index f0730c6..2ea97b8 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,7 @@ At the moment the following 3rd-party modules are provided: - rackwindows - repelzen - Sonus Modular +- stocaudio - Substation Opensource - Valley - ZetaCarinae diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 791056b..db951d6 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -55,6 +55,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | repelzen | GPL-3.0-or-later | | | Substation Opensource | BSD-3-Clause-Attribution | Need to check full compatibility with GPLv3+ | | Sonus Modular | GPL-3.0-or-later | | +| stocaudio | GPL-3.0-or-later | | | Valley | GPL-3.0-or-later | | | ZetaCarinae | GPL-3.0-or-later | | | ZZC | GPL-3.0-or-later | | @@ -154,6 +155,7 @@ Below is a list of artwork licenses from plugins | repelzen/* | CC-BY-SA-4.0 | | | substation-opensource/* | BSD-3-Clause-Attribution | No artwork specific license provided | | sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) | +| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided | | ValleyAudio/* | GPL-3.0-or-later | [Same license as source code](https://github.com/ValleyAudio/ValleyRackFree/issues/73) | | ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | | | ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | | diff --git a/plugins/Makefile b/plugins/Makefile index c84ce10..abd8489 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -667,6 +667,11 @@ REPELZEN_CUSTOM = Blank Mixer Werner tanh_pade PLUGIN_FILES += $(filter-out sonusmodular/src/sonusmodular,$(wildcard sonusmodular/src/*.cpp)) +# -------------------------------------------------------------- +# stocaudio + +PLUGIN_FILES += $(wildcard stocaudio/src/*.cpp) + # -------------------------------------------------------------- # Substation (Open source release) @@ -1503,6 +1508,13 @@ $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp $(foreach m,$(SONUSMODULAR_CUSTOM),$(call custom_module_names,$(m),sonusmodular)) \ -DpluginInstance=pluginInstance__sonusmodular +$(BUILD_DIR)/stocaudio/%.cpp.o: stocaudio/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(STOCAUDIO_CUSTOM),$(call custom_module_names,$(m),stocaudio)) \ + -DpluginInstance=pluginInstance__stocaudio + $(BUILD_DIR)/substation-%.cpp.o: substation-%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 2754356..54fcab0 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -569,6 +569,9 @@ extern Model* modelMaude_221; // sonusmodular #include "sonusmodular/src/sonusmodular.hpp" +// stocaudio +#include "stocaudio/src/plugin.hpp" + // substation /* NOTE too much noise in original include, do this a different way // "substation-opensource/src/_plugin.hpp" @@ -663,6 +666,7 @@ Plugin* pluginInstance__Prism; Plugin* pluginInstance__rackwindows; Plugin* pluginInstance__repelzen; Plugin* pluginInstance__sonusmodular; +Plugin* pluginInstance__stocaudio; Plugin* pluginInstance__substation; Plugin* pluginInstance__ValleyAudio; Plugin* pluginInstance__ZetaCarinaeModules; @@ -2099,6 +2103,20 @@ static void initStatic__sonusmodular() } } +static void initStatic__stocaudio() +{ + Plugin* const p = new Plugin; + pluginInstance__stocaudio = p; + + const StaticPluginLoader spl(p, "stocaudio"); + if (spl.ok()) + { + p->addModel(modelPolyturing); + p->addModel(modelPolydelay); + p->addModel(modelSpread); + } +} + static void initStatic__substation() { Plugin* const p = new Plugin; @@ -2230,6 +2248,7 @@ void initStaticPlugins() initStatic__rackwindows(); initStatic__repelzen(); initStatic__sonusmodular(); + initStatic__stocaudio(); initStatic__substation(); initStatic__ValleyAudio(); initStatic__ZetaCarinaeModules(); diff --git a/plugins/stocaudio b/plugins/stocaudio new file mode 160000 index 0000000..ed5c85b --- /dev/null +++ b/plugins/stocaudio @@ -0,0 +1 @@ +Subproject commit ed5c85b0d9391c37f4ec4d9de4ef8aa30d94bcd6 From 533d42209c4e0f0b8cf3373a08d9d3de2d67206a Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 24 Feb 2022 21:02:18 +0000 Subject: [PATCH 03/19] Fix build --- plugins/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index abd8489..8aad2dd 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -611,7 +611,7 @@ PLUGIN_FILES += $(filter-out ML_modules/src/plugin.cpp,$(wildcard ML_modules/src PLUGIN_FILES += ML_modules/freeverb/revmodel.cpp # modules/types which are present in other plugins -ML_CUSTOM = Quant Quantizer QuantizerWidget SH8 allpass comb revmodel +ML_CUSTOM = Mode Quant Quantizer QuantizerWidget SH8 allpass comb revmodel # -------------------------------------------------------------- # MockbaModular From 1278df9dc87397f64aa6015b0e219a5cbe5ba451 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Thu, 24 Feb 2022 22:24:44 +0100 Subject: [PATCH 04/19] add CatroModulo (#175) * add CatroModulo * put / in project name --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 3 +++ plugins/CatroModulo | 1 + plugins/Makefile | 12 ++++++++++++ plugins/plugins.cpp | 26 ++++++++++++++++++++++++++ 6 files changed, 46 insertions(+) create mode 160000 plugins/CatroModulo diff --git a/.gitmodules b/.gitmodules index eaff476..faae8d0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -157,3 +157,6 @@ [submodule "plugins/stocaudio"] path = plugins/stocaudio url = https://github.com/aptrn/stocaudio-modules.git +[submodule "plugins/CatroModulo"] + path = plugins/CatroModulo + url = https://github.com/catronomix/catro-modulo.git diff --git a/README.md b/README.md index 2ea97b8..8bc73d2 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,7 @@ At the moment the following 3rd-party modules are provided: - Befaco - Bidoo - Bogaudio +- Catro/Modulo - cf - ChowDSP - DrumKit diff --git a/docs/LICENSES.md b/docs/LICENSES.md index db951d6..db9686d 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -25,6 +25,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Befaco | GPL-3.0-or-later | | | Bidoo | GPL-3.0-or-later | | | Bogaudio | GPL-3.0-or-later | | +| Catro/Modulo | BSD-3-Clause | | | cf | BSD-3-Clause | | | ChowDSP | GPL-3.0-or-later | | | DrumKit | CC0-1.0 | | @@ -105,6 +106,8 @@ Below is a list of artwork licenses from plugins | BogaudioModules/fonts/inconsolata*.ttf | OFL-1.1-no-RFN | | | Cardinal/* | CC0-1.0 | | | Cardinal/Miku/Miku.png | CC-BY-NC-3.0 | https://piapro.net/intl/en_for_creators.html | +| CatroModulo/* | BSD-3-Clause | No artwork specific license provided | +| CatroModulo/Segment7Standard.ttf | OFL-1.1-RFN | | | cf/* | BSD-3-Clause | No artwork specific license provided | | cf/DejaVuSansMono.ttf | Bitstream-Vera | | | cf/Segment7Standard.ttf | OFL-1.1-RFN | | diff --git a/plugins/CatroModulo b/plugins/CatroModulo new file mode 160000 index 0000000..80422ac --- /dev/null +++ b/plugins/CatroModulo @@ -0,0 +1 @@ +Subproject commit 80422acf5a0cf5d4e8f14298e7f41ff8fab39543 diff --git a/plugins/Makefile b/plugins/Makefile index 8aad2dd..745ff55 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -429,6 +429,11 @@ PLUGIN_FILES += $(filter-out ChowDSP/src/Credit.cpp,$(wildcard ChowDSP/src/*/*.c PLUGIN_FILES += $(wildcard ChowDSP/src/*/*/*.cpp) PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp) +# -------------------------------------------------------------- +# CatroModulo + +PLUGIN_FILES += $(wildcard CatroModulo/src/*.cpp) + # -------------------------------------------------------------- # cf @@ -1214,6 +1219,13 @@ $(BUILD_DIR)/BogaudioModules/%.cpp.o: BogaudioModules/%.cpp -IBogaudioModules/lib \ -IBogaudioModules/src/dsp +$(BUILD_DIR)/CatroModulo/src/%.cpp.o: CatroModulo/src/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(CATROMODULO_CUSTOM),$(call custom_module_names,$(m),CatroModulo)) \ + -DpluginInstance=pluginInstance__CatroModulo + $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 54fcab0..df8068b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -267,6 +267,9 @@ extern Model* modelTestVCF; #undef modelVCF #undef modelVCO +// CatroModulo +#include "CatroModulo/src/CatroModulo.hpp" + // cf #include "cf/src/plugin.hpp" @@ -634,6 +637,7 @@ Plugin* pluginInstance__Bacon; Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; +Plugin* pluginInstance__CatroModulo; Plugin* pluginInstance__cf; Plugin* pluginInstance__ChowDSP; extern Plugin* pluginInstance__DrumKit; @@ -1279,6 +1283,27 @@ static void initStatic__BogaudioModules() } } +static void initStatic__CatroModulo() +{ + Plugin* const p = new Plugin; + pluginInstance__CatroModulo = p; + + const StaticPluginLoader spl(p, "CatroModulo"); + if (spl.ok()) + { + p->addModel(modelCM1Module); + p->addModel(modelCM2Module); + p->addModel(modelCM3Module); + p->addModel(modelCM4Module); + p->addModel(modelCM5Module); + p->addModel(modelCM6Module); + p->addModel(modelCM7Module); + p->addModel(modelCM8Module); + p->addModel(modelCM9Module); + p->addModel(modelCM10Module); + } +} + static void initStatic__cf() { Plugin* const p = new Plugin; @@ -2216,6 +2241,7 @@ void initStaticPlugins() initStatic__Befaco(); initStatic__Bidoo(); initStatic__BogaudioModules(); + initStatic__CatroModulo(); initStatic__cf(); initStatic__ChowDSP(); initStatic__DrumKit(); From 0052a05313c1f589720566c9e92bec0204a2f69c Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 24 Feb 2022 22:05:50 +0000 Subject: [PATCH 05/19] Fix build --- plugins/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/Makefile b/plugins/Makefile index 745ff55..c757eac 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -434,6 +434,9 @@ PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp) PLUGIN_FILES += $(wildcard CatroModulo/src/*.cpp) +# modules/types which are present in other plugins +CATROMODULO_CUSTOM = LowFrequencyOscillator NumDisplayWidget + # -------------------------------------------------------------- # cf @@ -449,6 +452,7 @@ 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 # -------------------------------------------------------------- @@ -471,6 +475,7 @@ PLUGIN_FILES += $(filter-out Extratone/src/plugin.cpp,$(wildcard Extratone/src/* PLUGIN_FILES += $(filter-out FehlerFabrik/src/plugin.cpp,$(wildcard FehlerFabrik/src/*.cpp)) +# modules/types which are present in other plugins FEHLERFABRIK_CUSTOM = Operator Sequencer SlewLimiter # -------------------------------------------------------------- From 9aa4b01fe4ffadbb281fd42647f1a4323d306f7a Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 24 Feb 2022 22:51:26 +0000 Subject: [PATCH 06/19] Update ES, Grande, JW and MindMeld modules --- plugins/ExpertSleepers-Encoders | 2 +- plugins/GrandeModular | 2 +- plugins/JW-Modules | 2 +- plugins/MindMeldModular | 2 +- plugins/plugins.cpp | 2 ++ 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/ExpertSleepers-Encoders b/plugins/ExpertSleepers-Encoders index df096a6..95496e8 160000 --- a/plugins/ExpertSleepers-Encoders +++ b/plugins/ExpertSleepers-Encoders @@ -1 +1 @@ -Subproject commit df096a635fe8d3ea86a1e6451a55e45ccee5b83d +Subproject commit 95496e8a955407889bbab94cf404cf356802bb76 diff --git a/plugins/GrandeModular b/plugins/GrandeModular index 40a1976..33f445d 160000 --- a/plugins/GrandeModular +++ b/plugins/GrandeModular @@ -1 +1 @@ -Subproject commit 40a197698496030a30ead69658b1484eca2ae299 +Subproject commit 33f445d1e3f78aa1f62c8995010303bdb42e0163 diff --git a/plugins/JW-Modules b/plugins/JW-Modules index 68f04a5..f7399c4 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit 68f04a5a8a1a656e7a3aa7e217524f0feb91167e +Subproject commit f7399c473735c0a5bec95bb40953e781f9a47ca4 diff --git a/plugins/MindMeldModular b/plugins/MindMeldModular index 621a29f..38e72d4 160000 --- a/plugins/MindMeldModular +++ b/plugins/MindMeldModular @@ -1 +1 @@ -Subproject commit 621a29f3f1b521582fd11ca7f17635d19faa340c +Subproject commit 38e72d454ddb1197ec8225224656135abe6b6609 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index df8068b..e2a621e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -1571,11 +1571,13 @@ static void initStatic__GrandeModular() { p->addModel(modelClip); p->addModel(modelLFO3); + p->addModel(modelLogic); p->addModel(modelMerge8); p->addModel(modelMergeSplit4); p->addModel(modelMicrotonalChords); p->addModel(modelMicrotonalNotes); p->addModel(modelNoteMT); + p->addModel(modelPeak); p->addModel(modelPolyMergeResplit); p->addModel(modelPolySplit); p->addModel(modelQuant); From fef10bb2cc42261dcfee635d7db3b6065a8bab83 Mon Sep 17 00:00:00 2001 From: dreamer Date: Fri, 25 Feb 2022 15:35:10 +0100 Subject: [PATCH 07/19] adding Lilac Loop --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/LilacLoop | 1 + plugins/Makefile | 12 ++++++++++++ plugins/plugins.cpp | 17 +++++++++++++++++ src/custom/dep.cpp | 2 ++ 7 files changed, 38 insertions(+) create mode 160000 plugins/LilacLoop diff --git a/.gitmodules b/.gitmodules index faae8d0..a46b703 100644 --- a/.gitmodules +++ b/.gitmodules @@ -160,3 +160,6 @@ [submodule "plugins/CatroModulo"] path = plugins/CatroModulo url = https://github.com/catronomix/catro-modulo.git +[submodule "plugins/LilacLoop"] + path = plugins/LilacLoop + url = https://github.com/grough/lilac-loop-vcv.git diff --git a/README.md b/README.md index 8bc73d2..5136bc6 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,7 @@ At the moment the following 3rd-party modules are provided: - Impromptu - JW-Modules - LifeFormModular +- Lilac Loop - Little Utils - Lomas Modules - Lyrae Modules diff --git a/docs/LICENSES.md b/docs/LICENSES.md index db9686d..6c3f8c9 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -42,6 +42,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Impromptu | GPL-3.0-or-later | | | JW-Modules | BSD-3-Clause | | | LifeFormModular | MIT | | +| Lilac Loop | GPL-3.0-or-later | | | Little Utils | EUPL-1.2 | | | Lomas Modules | GPL-3.0-or-later | | | Lyrae Modules | GPL-3.0-or-later | | @@ -133,6 +134,7 @@ Below is a list of artwork licenses from plugins | JW-Modules/* | BSD-3-Clause | No artwork specific license provided | | JW-Modules/DejaVuSansMono.ttf | Bitstream-Vera | Unused in Cardinal | | LifeFormModular/* | MIT | No artwork specific license provided | +| LilacLoop/* | GPL-3.0-or-later | No artwork specific license provided | | LittleUtils/* | EUPL-1.2 | Same license as source code | | LittleUtils/fonts/CooperHewitt-*.ttf | OFL-1.1-RFN | | | LittleUtils/fonts/Overpass-*.ttf | OFL-1.1-RFN | | diff --git a/plugins/LilacLoop b/plugins/LilacLoop new file mode 160000 index 0000000..69d8d66 --- /dev/null +++ b/plugins/LilacLoop @@ -0,0 +1 @@ +Subproject commit 69d8d66521175cd561d53e65728d460b398950c9 diff --git a/plugins/Makefile b/plugins/Makefile index c757eac..0710476 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -577,6 +577,11 @@ PLUGIN_FILES += $(filter-out LifeFormModular/src/plugin.cpp,$(wildcard LifeFormM # modules/types which are present in other plugins LIFEFORMMODULAR_CUSTOM = IO MS __ct_base __ct_comp +# -------------------------------------------------------------- +# Lilac Loop + +PLUGIN_FILES += $(wildcard LilacLoop/src/*.cpp) + # -------------------------------------------------------------- # LittleUtils @@ -1417,6 +1422,13 @@ $(BUILD_DIR)/LifeFormModular/%.cpp.o: LifeFormModular/%.cpp $(foreach m,$(LIFEFORMMODULAR_CUSTOM),$(call custom_module_names,$(m),LifeFormModular)) \ -DpluginInstance=pluginInstance__LifeFormModular +$(BUILD_DIR)/LilacLoop/%.cpp.o: LilacLoop/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(LILACLOOP_CUSTOM),$(call custom_module_names,$(m),LilacLoop)) \ + -DpluginInstance=pluginInstance__LilacLoop + $(BUILD_DIR)/LittleUtils/%.cpp.o: LittleUtils/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index e2a621e..fe8be2b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -431,6 +431,9 @@ extern Model* modelDriftgen; // LittleUtils #include "LittleUtils/src/plugin.hpp" +// Lilac Loop +#include "LilacLoop/src/plugin.hpp" + // LomasModules #include "LomasModules/src/plugin.hpp" #undef DR_WAV_IMPLEMENTATION @@ -657,6 +660,7 @@ extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__ihtsyn; Plugin* pluginInstance__JW; Plugin* pluginInstance__LifeFormModular; +Plugin* pluginInstance__LilacLoop; Plugin* pluginInstance__LittleUtils; Plugin* pluginInstance__Lomas; Plugin* pluginInstance__Lyrae; @@ -1790,6 +1794,18 @@ static void initStatic__LifeFormModular() } } +static void initStatic__LilacLoop() +{ + Plugin* const p = new Plugin; + pluginInstance__LilacLoop = p; + + const StaticPluginLoader spl(p, "LilacLoop"); + if (spl.ok()) + { + p->addModel(modelLooperOne); + } +} + static void initStatic__LittleUtils() { Plugin* const p = new Plugin; @@ -2263,6 +2279,7 @@ void initStaticPlugins() initStatic__ihtsyn(); initStatic__JW(); initStatic__LifeFormModular(); + initStatic__LilacLoop(); initStatic__LittleUtils(); initStatic__Lomas(); initStatic__Lyrae(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 24c7889..729d748 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -234,6 +234,8 @@ static const struct { { "/JW-Modules/res/Trigs.svg", {}, -1 }, { "/JW-Modules/res/WavHeadPanel.svg", {}, -1 }, { "/JW-Modules/res/XYPad.svg", {}, -1 }, + // GPL3.0-or-later + { "/LilacLoop/res/Looper.svg", {}, -1 }, // EUPL-1.2 { "/LittleUtils/res/Bias_Semitone.svg", {}, -1 }, { "/LittleUtils/res/ButtonModule.svg", {}, -1 }, From 572c42a9f0f35f3a544283b2daeff24ef1edce64 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 16:20:59 +0000 Subject: [PATCH 08/19] Tweak lilac colors Signed-off-by: falkTX --- src/custom/dep.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 729d748..b8fa099 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -305,6 +305,30 @@ static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInve } } + // Special case for Lilac + if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/LilacLoop/", 7) == 0) + { + switch (paint.color) + { + // main bg (custom) + case 0xffd5d5da: + paint.color = 0xff242228; + return true; + // main color (do nothing) + case 0xffbfb7d7: + return false; + // screws (hide) + case 0xffc8c8cf: + case 0xffbcbcbc: + case 0xffb1b1bb: + case 0xffacacac: + case 0xff898991: + case 0xff727272: + paint.color = 0x00000000; + return true; + } + } + switch (paint.color) { // scopes or other special things (do nothing) From 7aedbcda62760ccfb0cd89eac6cb2a7b72159cef Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 16:27:57 +0000 Subject: [PATCH 09/19] Fix a typo Signed-off-by: falkTX --- src/custom/dep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index b8fa099..ec373d9 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -306,7 +306,7 @@ static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInve } // Special case for Lilac - if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/LilacLoop/", 7) == 0) + if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/LilacLoop/", 11) == 0) { switch (paint.color) { From f462ed8380febad7519858d7f659a5e655da8594 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Fri, 25 Feb 2022 18:22:11 +0100 Subject: [PATCH 10/19] adding kocmoc (#176) --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 12 ++++++++++++ plugins/kocmoc | 1 + plugins/plugins.cpp | 24 ++++++++++++++++++++++++ src/custom/dep.cpp | 9 +++++++++ 7 files changed, 52 insertions(+) create mode 160000 plugins/kocmoc diff --git a/.gitmodules b/.gitmodules index a46b703..0bf4182 100644 --- a/.gitmodules +++ b/.gitmodules @@ -163,3 +163,6 @@ [submodule "plugins/LilacLoop"] path = plugins/LilacLoop url = https://github.com/grough/lilac-loop-vcv.git +[submodule "plugins/kocmoc"] + path = plugins/kocmoc + url = https://github.com/janne808/kocmoc-rack-modules.git diff --git a/README.md b/README.md index 5136bc6..6bbd6d5 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ At the moment the following 3rd-party modules are provided: - ihtsyn - Impromptu - JW-Modules +- kocmoc - LifeFormModular - Lilac Loop - Little Utils diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 6c3f8c9..dce148d 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -41,6 +41,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | ihtsyn | GPL-3.0-or-later | | | Impromptu | GPL-3.0-or-later | | | JW-Modules | BSD-3-Clause | | +| kocmoc | GPL-3.0-or-later | | | LifeFormModular | MIT | | | Lilac Loop | GPL-3.0-or-later | | | Little Utils | EUPL-1.2 | | @@ -133,6 +134,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 | +| 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 | | LittleUtils/* | EUPL-1.2 | Same license as source code | diff --git a/plugins/Makefile b/plugins/Makefile index 0710476..5a44d27 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -569,6 +569,11 @@ endif # modules/types which are present in other plugins JW_CUSTOM = PlayHead Quantizer +# -------------------------------------------------------------- +# kocmoc + +PLUGIN_FILES += $(wildcard kocmoc/src/*.cpp) + # -------------------------------------------------------------- # LifeFormModular @@ -1415,6 +1420,13 @@ $(BUILD_DIR)/JW-Modules/%.cpp.o: JW-Modules/%.cpp -Wno-unused-but-set-variable \ -Wno-unused-result +$(BUILD_DIR)/kocmoc/%.cpp.o: kocmoc/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(KOCMOC_CUSTOM),$(call custom_module_names,$(m),kocmoc)) \ + -DpluginInstance=pluginInstance__kocmoc + $(BUILD_DIR)/LifeFormModular/%.cpp.o: LifeFormModular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/kocmoc b/plugins/kocmoc new file mode 160000 index 0000000..f2a8c19 --- /dev/null +++ b/plugins/kocmoc @@ -0,0 +1 @@ +Subproject commit f2a8c19f8aa81769e13d085d69a44de5afaacfaa diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index fe8be2b..6254d6a 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -410,6 +410,9 @@ extern Model* modelBlankPanel; #include "JW-Modules/src/JWModules.hpp" #undef modelQuantizer +// kocmoc +#include "kocmoc/src/plugin.hpp" + // LifeFormModular /* NOTE too much noise in original include, do this a different way // #include "LifeFormModular/src/plugin.hpp" @@ -659,6 +662,7 @@ Plugin* pluginInstance__HetrickCV; extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__ihtsyn; Plugin* pluginInstance__JW; +Plugin* pluginInstance__kocmoc; Plugin* pluginInstance__LifeFormModular; Plugin* pluginInstance__LilacLoop; Plugin* pluginInstance__LittleUtils; @@ -1770,6 +1774,25 @@ static void initStatic__JW() } } +static void initStatic__kocmoc() +{ + Plugin* const p = new Plugin; + pluginInstance__kocmoc= p; + + const StaticPluginLoader spl(p, "kocmoc"); + if (spl.ok()) + { + p->addModel(modelSVF_1); + p->addModel(modelTRG); + p->addModel(modelLADR); + p->addModel(modelOP); + p->addModel(modelPHASR); + p->addModel(modelMUL); + p->addModel(modelSKF); + p->addModel(modelDDLY); + } +} + static void initStatic__LifeFormModular() { Plugin* const p = new Plugin; @@ -2278,6 +2301,7 @@ void initStaticPlugins() initStatic__ImpromptuModular(); initStatic__ihtsyn(); initStatic__JW(); + initStatic__kocmoc(); initStatic__LifeFormModular(); initStatic__LilacLoop(); initStatic__LittleUtils(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index ec373d9..b074398 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -243,6 +243,15 @@ static const struct { { "/LittleUtils/res/PulseGenerator.svg", {}, -1 }, { "/LittleUtils/res/TeleportIn.svg", {}, -1 }, { "/LittleUtils/res/TeleportOut.svg", {}, -1 }, + // GPL-3.0-or-later + { "/kocmoc/res/DDLY.svg", {}, -1 }, + { "/kocmoc/res/LADR.svg", {}, -1 }, + { "/kocmoc/res/MUL.svg", {}, -1 }, + { "/kocmoc/res/OP.svg", {}, -1 }, + { "/kocmoc/res/PHASR.svg", {}, -1 }, + { "/kocmoc/res/SKF.svg", {}, -1 }, + { "/kocmoc/res/SVF.svg", {}, -1 }, + { "/kocmoc/res/TRG.svg", {}, -1 }, }; static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInvert = nullptr) From cd02ffe80f375911a356c1258433668314b6bbae Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 18:37:38 +0000 Subject: [PATCH 11/19] Fix build Signed-off-by: falkTX --- deps/Makefile | 4 ++-- plugins/Makefile | 11 ++++++++--- src/Makefile | 5 ++--- src/Makefile.cardinal.mk | 5 ++--- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/deps/Makefile b/deps/Makefile index 924ea9c..1d77f37 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -54,8 +54,8 @@ BASE_FLAGS += -I../include/mingw-compat BASE_FLAGS += -I../include/mingw-std-threads endif -BUILD_C_FLAGS += -fno-finite-math-only -BUILD_CXX_FLAGS += -fno-finite-math-only +BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing +BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing # Rack code is not tested for this flag, unset it BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS diff --git a/plugins/Makefile b/plugins/Makefile index 5a44d27..4a3eb77 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -574,6 +574,9 @@ JW_CUSTOM = PlayHead Quantizer PLUGIN_FILES += $(wildcard kocmoc/src/*.cpp) +# modules/types which are present in other plugins +KOCMOC_CUSTOM = Phasor __ct_base __ct_comp + # -------------------------------------------------------------- # LifeFormModular @@ -587,6 +590,9 @@ LIFEFORMMODULAR_CUSTOM = IO MS __ct_base __ct_comp PLUGIN_FILES += $(wildcard LilacLoop/src/*.cpp) +# modules/types which are present in other plugins +LILACLOOP_CUSTOM = AudioFile Mode + # -------------------------------------------------------------- # LittleUtils @@ -809,7 +815,6 @@ BASE_FLAGS += -DARCH_LIN endif BASE_FLAGS += -DBUILDING_PLUGIN_MODULES -BASE_FLAGS += -fno-strict-aliasing BASE_FLAGS += -I../dpf/dgl/src/nanovg BASE_FLAGS += -I../dpf/distrho @@ -879,8 +884,8 @@ BASE_FLAGS += -DHAVE_SNDFILE endif BUILD_C_FLAGS += -std=gnu11 -BUILD_C_FLAGS += -fno-finite-math-only -BUILD_CXX_FLAGS += -fno-finite-math-only +BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing +BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing # Rack code is not tested for this flag, unset it BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS diff --git a/src/Makefile b/src/Makefile index e370fa5..f5c196e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -36,7 +36,6 @@ ifeq ($(HAIKU),true) BASE_FLAGS += -I../include/haiku-compat endif -BASE_FLAGS += -fno-strict-aliasing BASE_FLAGS += -DPRIVATE= BASE_FLAGS += -I../dpf/dgl/src/nanovg BASE_FLAGS += -I../dpf/distrho @@ -95,8 +94,8 @@ BASE_FLAGS += -I../include/mingw-std-threads endif BUILD_C_FLAGS += -std=gnu11 -BUILD_C_FLAGS += -fno-finite-math-only -BUILD_CXX_FLAGS += -fno-finite-math-only +BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing +BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing # use our custom function to invert some colors BUILD_CXX_FLAGS += -DnsvgParseFromFile=nsvgParseFromFileCardinal diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index b3b06d8..fe4022f 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -129,7 +129,6 @@ else BASE_FLAGS += -DARCH_LIN endif -BASE_FLAGS += -fno-strict-aliasing BASE_FLAGS += -DPRIVATE= BASE_FLAGS += -I.. BASE_FLAGS += -I../../dpf/dgl/src/nanovg @@ -170,8 +169,8 @@ BASE_FLAGS += -I../../include/mingw-std-threads endif BUILD_C_FLAGS += -std=gnu11 -BUILD_C_FLAGS += -fno-finite-math-only -BUILD_CXX_FLAGS += -fno-finite-math-only +BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing +BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing # Rack code is not tested for this flag, unset it BUILD_CXX_FLAGS += -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS From 8f616d82e5596166bcae99a0db9b9bace52c67b9 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 19:07:46 +0000 Subject: [PATCH 12/19] Fix LilacLoop build on windows Signed-off-by: falkTX --- plugins/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Makefile b/plugins/Makefile index 4a3eb77..07fe70f 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1444,7 +1444,8 @@ $(BUILD_DIR)/LilacLoop/%.cpp.o: LilacLoop/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(LILACLOOP_CUSTOM),$(call custom_module_names,$(m),LilacLoop)) \ - -DpluginInstance=pluginInstance__LilacLoop + -DpluginInstance=pluginInstance__LilacLoop \ + -DSKIP_MINGW_FORMAT $(BUILD_DIR)/LittleUtils/%.cpp.o: LittleUtils/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" From 9d9fff6a25c644d7ae54537d078407470d29794d Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 19:58:42 +0000 Subject: [PATCH 13/19] Really fix windows build Signed-off-by: falkTX --- plugins/plugins.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 6254d6a..375af88 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -435,7 +435,11 @@ extern Model* modelDriftgen; #include "LittleUtils/src/plugin.hpp" // Lilac Loop -#include "LilacLoop/src/plugin.hpp" +/* NOTE too much noise in original include, do this a different way +// #include "LilacLoop/src/plugin.hpp" +*/ +extern Model* modelLooperOne; +extern Model* modelLooperTwo; // LomasModules #include "LomasModules/src/plugin.hpp" From a85192a592c14cfd4d76d871b982710a61901f83 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 20:10:19 +0000 Subject: [PATCH 14/19] Fix modduo build Signed-off-by: falkTX --- plugins/CatroModulo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CatroModulo b/plugins/CatroModulo index 80422ac..bf6f969 160000 --- a/plugins/CatroModulo +++ b/plugins/CatroModulo @@ -1 +1 @@ -Subproject commit 80422acf5a0cf5d4e8f14298e7f41ff8fab39543 +Subproject commit bf6f969c5f7fff6a419a54197fb4318671281ad5 From 96e5e49b2292318832ccd32523a7316810a61376 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 20:32:46 +0000 Subject: [PATCH 15/19] Add "future" mingw compat header file Signed-off-by: falkTX --- include/mingw-compat/future | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 include/mingw-compat/future diff --git a/include/mingw-compat/future b/include/mingw-compat/future new file mode 100644 index 0000000..b782903 --- /dev/null +++ b/include/mingw-compat/future @@ -0,0 +1,25 @@ +/* + * DISTRHO Cardinal Plugin + * Copyright (C) 2021-2022 Filipe Coelho + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of + * the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * For a full copy of the GNU General Public License see the LICENSE file. + */ + +#pragma once +#include_next +#include "mingw.future.h" + +#undef IN +#undef OUT +#undef far +#undef near From 12ea5e9579b17e2f32de16cc3486c480f1cf30d0 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Fri, 25 Feb 2022 21:34:44 +0100 Subject: [PATCH 16/19] adding Path Set modules (#178) --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 12 ++++++++++++ plugins/PathSet | 1 + plugins/plugins.cpp | 19 +++++++++++++++++++ src/custom/dep.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 79 insertions(+) create mode 160000 plugins/PathSet diff --git a/.gitmodules b/.gitmodules index 0bf4182..50e5980 100644 --- a/.gitmodules +++ b/.gitmodules @@ -166,3 +166,6 @@ [submodule "plugins/kocmoc"] path = plugins/kocmoc url = https://github.com/janne808/kocmoc-rack-modules.git +[submodule "plugins/PathSet"] + path = plugins/PathSet + url = https://github.com/patheros/PathSetModules.git diff --git a/README.md b/README.md index 6bbd6d5..5c5af56 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ At the moment the following 3rd-party modules are provided: - Mog - mscHack - Orbits +- Path Set - Prism - rackwindows - repelzen diff --git a/docs/LICENSES.md b/docs/LICENSES.md index dce148d..82582ab 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -53,6 +53,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Mog | CC0-1.0 | | | mscHack | BSD-3-Clause | | | Orbits | GPL-3.0-or-later | | +| Path Set | GPL-3.0-or-later | | | Prism | BSD-3-Clause | | | Rackwindows | MIT | | | repelzen | GPL-3.0-or-later | | @@ -156,6 +157,7 @@ Below is a list of artwork licenses from plugins | mscHack/* | BSD-3-Clause | No artwork specific license provided, see [mschack#108](https://github.com/mschack/VCV-Rack-Plugins/issues/108) | | Orbits/* | CC-BY-NC-ND-4.0 | | | Orbits/fonts/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | +| PathSet/* | GPL-3.0-or-later | No artwork specific license provided | | Prism/* | CC-BY-SA-4.0 | | | Prism/RobotoCondensed-Regular.ttf | Apache-2.0 | | | Rackwindows/* | MIT | [Same license as source code](https://github.com/n0jo/rackwindows/issues/15) | diff --git a/plugins/Makefile b/plugins/Makefile index 07fe70f..1a91ce4 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -666,6 +666,11 @@ MSCHACK_CUSTOM_PER_FILE = MAIN_SYNC_CLOCK FILTER_STRUCT FILTER_PARAM_STRUCT OSC_ PLUGIN_FILES += $(wildcard Orbits/src/*.cpp) +# -------------------------------------------------------------- +# Path Set + +PLUGIN_FILES += $(wildcard PathSet/src/*.cpp) + # -------------------------------------------------------------- # Prism @@ -1524,6 +1529,13 @@ $(BUILD_DIR)/Orbits/%.cpp.o: Orbits/%.cpp $(foreach m,$(ORBITS_CUSTOM),$(call custom_module_names,$(m),Orbits)) \ -DpluginInstance=pluginInstance__Orbits +$(BUILD_DIR)/PathSet/%.cpp.o: PathSet/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(PATHSET_CUSTOM),$(call custom_module_names,$(m),PathSet)) \ + -DpluginInstance=pluginInstance__PathSet + $(BUILD_DIR)/Prism/%.cpp.o: Prism/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/PathSet b/plugins/PathSet new file mode 160000 index 0000000..d03e8b4 --- /dev/null +++ b/plugins/PathSet @@ -0,0 +1 @@ +Subproject commit d03e8b486deba4740bc7f15ae95a08d823a7d00a diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 375af88..5b00562 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -562,6 +562,9 @@ extern Model* modelMaude_221; // Orbits #include "Orbits/src/plugin.hpp" +// Path Set +# include "PathSet/src/plugin.hpp" + // Prism # include "Prism/src/plugin.hpp" @@ -678,6 +681,7 @@ Plugin* pluginInstance__MockbaModular; Plugin* pluginInstance__Mog; extern Plugin* pluginInstance__mscHack; Plugin* pluginInstance__Orbits; +Plugin* pluginInstance__PathSet; Plugin* pluginInstance__Prism; Plugin* pluginInstance__rackwindows; Plugin* pluginInstance__repelzen; @@ -2068,6 +2072,20 @@ static void initStatic__Orbits() } } +static void initStatic__PathSet() +{ + Plugin* const p = new Plugin; + pluginInstance__PathSet = p; + + const StaticPluginLoader spl(p, "PathSet"); + if (spl.ok()) + { + p->addModel(modelShiftyMod); + p->addModel(modelIceTray); + p->addModel(modelAstroVibe); + } +} + static void initStatic__Prism() { Plugin* const p = new Plugin; @@ -2317,6 +2335,7 @@ void initStaticPlugins() initStatic__Mog(); initStatic__mscHack(); initStatic__Orbits(); + initStatic__PathSet(); initStatic__Prism(); initStatic__rackwindows(); initStatic__repelzen(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index b074398..899cf42 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -252,6 +252,10 @@ static const struct { { "/kocmoc/res/SKF.svg", {}, -1 }, { "/kocmoc/res/SVF.svg", {}, -1 }, { "/kocmoc/res/TRG.svg", {}, -1 }, + // GPL-3.0-or-later + { "/PathSet/res/AstroVibe.svg", {}, -1 }, + { "/PathSet/res/IceTray.svg", {}, -1 }, + { "/PathSet/res/ShiftyMod.svg", {}, -1 }, }; static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInvert = nullptr) @@ -338,6 +342,43 @@ static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInve } } + // Special case for Path Set colors + if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/PathSet/", 9) == 0) + { + switch (paint.color) + { + // do nothing + case 0xffdf7a1a: + case 0xffe3b080: + case 0xffe941e2: + case 0xffef73ea: + case 0xfff49ff0: + case 0xff698efb: + case 0xff787878: + case 0xfff5c99f: + case 0xffde944f: + case 0xffe1a265: + case 0xffe5cbb3: + case 0xffe6d2c0: + case 0xffffffff: + return false; + // set other colors + case 0xffe4cbb3: + paint.color = 0xffe3b080; + return false; + case 0xfff8dcc2: + paint.color = 0xffde944f; + return false; + case 0xffe5d9cd: + paint.color = 0xfff8dcc2; + return false; + // should be just the logo, but also changes the output outlines + case 0xff000000: + paint.color = 0xffffffff; + return true; + } + } + switch (paint.color) { // scopes or other special things (do nothing) From f53df8601613e643239079e4852d6db44e2c6a21 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 20:35:05 +0000 Subject: [PATCH 17/19] Forgot "#pragma once" macro in some mingw compat header files Signed-off-by: falkTX --- include/mingw-compat/Shlobj.h | 4 +++- include/mingw-compat/Shlwapi.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/mingw-compat/Shlobj.h b/include/mingw-compat/Shlobj.h index 8ec3bcb..c2a83a3 100644 --- a/include/mingw-compat/Shlobj.h +++ b/include/mingw-compat/Shlobj.h @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021 Filipe Coelho + * Copyright (C) 2021-2022 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 @@ -15,4 +15,6 @@ * For a full copy of the GNU General Public License see the LICENSE file. */ +#pragma once + #include diff --git a/include/mingw-compat/Shlwapi.h b/include/mingw-compat/Shlwapi.h index 66aa700..5753bfe 100644 --- a/include/mingw-compat/Shlwapi.h +++ b/include/mingw-compat/Shlwapi.h @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021 Filipe Coelho + * Copyright (C) 2021-2022 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 @@ -15,4 +15,6 @@ * For a full copy of the GNU General Public License see the LICENSE file. */ +#pragma once + #include From a5deb9ab6bab5c89ac24b66e01618e16e7ed7cfa Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 22:04:53 +0000 Subject: [PATCH 18/19] Adjust PathSet colors Signed-off-by: falkTX --- src/custom/dep.cpp | 89 ++++++++++++++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 30 deletions(-) diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 899cf42..4e89cc1 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -258,14 +258,24 @@ static const struct { { "/PathSet/res/ShiftyMod.svg", {}, -1 }, }; -static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInvert = nullptr) +static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const char* const svgFileToInvert = nullptr) { - // Special case for DrumKit background grandient - if (paint.type == NSVG_PAINT_LINEAR_GRADIENT && svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/DrumKit/", 9) == 0) + if (paint.type == NSVG_PAINT_LINEAR_GRADIENT && svgFileToInvert != nullptr) { - paint.type = NSVG_PAINT_COLOR; - paint.color = 0xff191919; - return true; + // Special case for DrumKit background gradient + if (std::strncmp(svgFileToInvert, "/DrumKit/", 9) == 0) + { + paint.type = NSVG_PAINT_COLOR; + paint.color = 0xff191919; + return true; + } + // Special case for PathSet shifty gradient + if (std::strncmp(svgFileToInvert, "/PathSet/", 9) == 0) + { + paint.gradient->stops[0].color = 0xff7c4919; // 50% darker than main blue + paint.gradient->stops[1].color = 0xff5b3a1a; // 33.3% darker than main blue + return false; + } } if (paint.type == NSVG_PAINT_NONE) @@ -342,39 +352,58 @@ static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInve } } - // Special case for Path Set colors + // Special case for PathSet colors if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/PathSet/", 9) == 0) { switch (paint.color) { - // do nothing + // main blue tone case 0xffdf7a1a: - case 0xffe3b080: - case 0xffe941e2: + if (shape->opacity == 0.5f && std::strcmp(svgFileToInvert, "/PathSet/res/AstroVibe.svg") == 0) + { + shape->opacity = 0.2f; + return true; + } + if (shape->opacity == 0.25f) + shape->opacity = 0.75f; + return false; + // bottom logo stuff, set to full white + case 0xff000000: + if (shape->stroke.type != NSVG_PAINT_NONE) + { + paint.color = 0xffffffff; + return true; + } + break; + // pink step 2 (pink with 50% opacity on bg) case 0xffef73ea: + paint.color = 0xff812d7d; + return true; + // pink step 3 (pink with 33.3% opacity on bg) case 0xfff49ff0: + paint.color = 0xff4d234c; + return true; + // pink and orange + case 0xffe941e2: case 0xff698efb: - case 0xff787878: - case 0xfff5c99f: - case 0xffde944f: - case 0xffe1a265: - case 0xffe5cbb3: - case 0xffe6d2c0: - case 0xffffffff: return false; - // set other colors + // blue darker 1 (blue with 50% opacity on bg) + case 0xffde944f: + case 0xffe3b080: case 0xffe4cbb3: - paint.color = 0xffe3b080; - return false; - case 0xfff8dcc2: - paint.color = 0xffde944f; - return false; + case 0xfff5c99f: + case 0xfff6d1b0: + paint.color = 0xff7c4919; + return true; + // blue darker 2 (blue with 33.3% opacity on bg) case 0xffe5d9cd: - paint.color = 0xfff8dcc2; - return false; - // should be just the logo, but also changes the output outlines - case 0xff000000: - paint.color = 0xffffffff; + case 0xfff8dcc2: + case 0xffe1a265: + paint.color = 0xff5b3a1a; + return true; + // blue darker 3 (blue with 25% opacity on bg) + case 0xffe5cbb3: + paint.color = 0xff4b321a; return true; } } @@ -460,8 +489,8 @@ NSVGimage* nsvgParseFromFileCardinal(const char* const filename, const char* con if (ignore) continue; - if (invertPaint(shape->fill, svgFileToInvert)) - invertPaint(shape->stroke, svgFileToInvert); + if (invertPaint(shape, shape->fill, svgFileToInvert)) + invertPaint(shape, shape->stroke, svgFileToInvert); } return handle; From 28383ef40c2c07682f9029f2db2275e8b1492a9e Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 25 Feb 2022 22:34:56 +0000 Subject: [PATCH 19/19] Fix Dintree font issue Signed-off-by: falkTX --- docs/LICENSES.md | 3 +-- plugins/Dintree | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 2812ca0..72d1f8c 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -4,7 +4,7 @@ While Cardinal itself is licensed under GPLv3+, some modules/plugins used by it are not. And since Cardinal builds the entire Rack and modules as a static library, -the more restrictive of the **code licenses** will apply to the final binary. +the more restrictive of the **code licenses** will apply to the final binary. Bellow follows a list of all code licenses used in Cardinal and linked submodules. @@ -119,7 +119,6 @@ Below is a list of artwork licenses from plugins | ChowDSP/* | GPL-3.0-or-later | Same license as source code | | ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | | | Dintree/* | GPL-3.0-or-later | No artwork specific license provided | -| Dintree/components/fixedsys.ttf | unknown | needs research | | DrumKit/* | CC0-1.0 | | | DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | | | E-Series/* | Custom | Copyright © Synthesis Technology, [used and distributed with permission](LICENSE-PERMISSIONS.md#eseries-paul-schreiber--synthtech) | diff --git a/plugins/Dintree b/plugins/Dintree index 0fd807a..8d28da2 160000 --- a/plugins/Dintree +++ b/plugins/Dintree @@ -1 +1 @@ -Subproject commit 0fd807a7a68ae6a7cab503dfbbc1f4c7c841d0fc +Subproject commit 8d28da2a6083eb6af4b8d559e001fc9afbe2d41f