diff --git a/.gitmodules b/.gitmodules index 4b887d7..8b62825 100644 --- a/.gitmodules +++ b/.gitmodules @@ -172,6 +172,9 @@ [submodule "plugins/Dintree"] path = plugins/Dintree url = https://github.com/hires/Dintree-Virtual.git +[submodule "plugins/Algoritmarte"] + path = plugins/Algoritmarte + url = https://github.com/algoritmarte/AlgoritmarteVCVPlugin.git [submodule "plugins/AaronStatic"] path = plugins/AaronStatic url = https://github.com/aaronstatic/AaronStatic_modules.git diff --git a/README.md b/README.md index c357cef..279f6a6 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ At the moment the following 3rd-party modules are provided: - 21kHz - 8Mode - Aaron Static +- AlgoritmArte - Amalgamated Harmonics - Animated Circuits - Aria Salvatrice diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 1e2b871..18577b0 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -16,6 +16,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | 21kHz | MIT | | | 8Mode | BSD-3-Clause | | | Aaron Static | MIT | | +| AlgoritmArte | GPL-3.0-or-later | | | Amalgamated Harmonics | BSD-3-Clause | | | Animated Circuits | GPL-3.0-or-later | | | Aria Salvatrice | GPL-3.0-or-later | | @@ -86,6 +87,8 @@ Below is a list of artwork licenses from plugins | 8Mode | BSD-3-Clause | No artwork specific license provided | | AaronStatic/* | MIT | No artwork specific license provided | | AaronStatic/fonts/PixelOperator.ttf | CC0-1.0 | | +| Algoritmarte/* | GPL-3.0-or-later | No artwork specific license provided | +| Algoritmarte/LEDSliderGreenHandle.svg | CC-BY-NC-4.0 | | | AmalgamatedHarmonics/* | BSD-3-Clause | No artwork specific license provided | | AmalgamatedHarmonics/DSEG*.ttf | OFL-1.1-RFN | | | AmalgamatedHarmonics/Roboto*.ttf | Apache-2.0 | | diff --git a/plugins/Algoritmarte b/plugins/Algoritmarte new file mode 160000 index 0000000..9d41fe8 --- /dev/null +++ b/plugins/Algoritmarte @@ -0,0 +1 @@ +Subproject commit 9d41fe882ab5029100b55c98ba7f10172d452795 diff --git a/plugins/Makefile b/plugins/Makefile index 111d35a..4b6fe07 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -231,7 +231,12 @@ PLUGIN_FILES += $(filter-out 21kHz/src/21kHz.cpp,$(wildcard 21kHz/src/*.cpp)) # -------------------------------------------------------------- # 8Mode -PLUGIN_FILES += $(wildcard 8Mode/src/*.cpp) +PLUGIN_FILES += $(filter-out 8Mode/src/plugin.cpp,$(wildcard 8Mode/src/*.cpp)) + +# -------------------------------------------------------------- +# AlgoritmArte + +PLUGIN_FILES += $(filter-out Algoritmarte/src/plugin.cpp,$(wildcard Algoritmarte/src/*.cpp)) # -------------------------------------------------------------- # Aaron Static @@ -1159,6 +1164,13 @@ $(BUILD_DIR)/AaronStatic/%.cpp.o: AaronStatic/%.cpp -DpluginInstance=pluginInstance__AaronStatic \ -Dinit=init__AaronStatic +$(BUILD_DIR)/Algoritmarte/%.cpp.o: Algoritmarte/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(ALGORITMARTE_CUSTOM),$(call custom_module_names,$(m),Algoritmarte)) \ + -DpluginInstance=pluginInstance__Algoritmarte + $(BUILD_DIR)/AmalgamatedHarmonics/%.cpp.o: AmalgamatedHarmonics/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" @@ -1296,7 +1308,8 @@ $(BUILD_DIR)/Dintree/%.cpp.o: Dintree/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(DINTREE_CUSTOM),$(call custom_module_names,$(m),Dintree)) \ - -DpluginInstance=pluginInstance__Dintree + -DpluginInstance=pluginInstance__Dintree \ + -DSKIP_MINGW_FORMAT $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index a34db30..ca70481 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -37,6 +37,9 @@ NVGcolor prepareDisplay(NVGcontext *vg, Rect *box, int fontSize) { return nvgRGB(0xaf, 0xd2, 0x2c); } +// Algoritmarte +#include "Algoritmarte/src/plugin.hpp" + // AmalgamatedHarmonics #include "AmalgamatedHarmonics/src/AH.hpp" @@ -651,6 +654,7 @@ Plugin* pluginInstance__Cardinal; Plugin* pluginInstance__21kHz; Plugin* pluginInstance__8Mode; Plugin* pluginInstance__AaronStatic; +Plugin* pluginInstance__Algoritmarte; Plugin* pluginInstance__AmalgamatedHarmonics; Plugin* pluginInstance__AnimatedCircuits; Plugin* pluginInstance__Aria; @@ -886,6 +890,24 @@ static void initStatic__AaronStatic() } } +static void initStatic__Algoritmarte() +{ + Plugin* const p = new Plugin; + pluginInstance__Algoritmarte = p; + + const StaticPluginLoader spl(p, "Algoritmarte"); + if (spl.ok()) + { + p->addModel(modelClockkky); + p->addModel(modelPlanetz); + p->addModel(modelMusiFrog); + p->addModel(modelZefiro); + p->addModel(modelHoldMeTight); + p->addModel(modelCyclicCA); + p->addModel(modelMusiMath); + } +} + static void initStatic__AmalgamatedHarmonics() { Plugin* const p = new Plugin; @@ -2342,6 +2364,7 @@ void initStaticPlugins() initStatic__21kHz(); initStatic__8Mode(); initStatic__AaronStatic(); + initStatic__Algoritmarte(); initStatic__AmalgamatedHarmonics(); initStatic__AnimatedCircuits(); initStatic__Aria(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 5a91a32..7447e92 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -61,6 +61,14 @@ static const struct { {"/AaronStatic/res/DiatonicCV.svg", {}, -1 }, {"/AaronStatic/res/RandomNoteCV.svg", {}, -1 }, {"/AaronStatic/res/ScaleCV.svg", {}, -1 }, + // GPL3.0-or-later + { "/Algoritmarte/res/Clockkky.svg", {}, -1 }, + { "/Algoritmarte/res/CyclicCA.svg", {}, -1 }, + { "/Algoritmarte/res/HoldMeTight.svg", {}, -1 }, + { "/Algoritmarte/res/MusiFrog.svg", {}, -1 }, + { "/Algoritmarte/res/MusiMath.svg", {}, -1 }, + { "/Algoritmarte/res/Planetz.svg", {}, -1 }, + { "/Algoritmarte/res/Zefiro.svg", {}, -1 }, // Custom, runtime dark mode used with permission { "/AudibleInstruments/res/Blinds.svg", {}, -1 }, { "/AudibleInstruments/res/Braids.svg", {}, -1 },