| @@ -248,6 +248,9 @@ | |||
| [submodule "plugins/Biset"] | |||
| path = plugins/Biset | |||
| url = https://github.com/gibbonjoyeux/VCV-Biset.git | |||
| [submodule "plugins/LOGinstruments"] | |||
| path = plugins/LOGinstruments | |||
| url = https://github.com/LOGUNIVPM/LOGinstruments.git | |||
| [submodule "plugins/PdArray"] | |||
| path = plugins/PdArray | |||
| url = https://github.com/mgunyho/PdArray.git | |||
| @@ -263,3 +266,4 @@ | |||
| [submodule "plugins/eightfold"] | |||
| path = plugins/eightfold | |||
| url = https://github.com/scanner-darkly/eightfold.git | |||
| @@ -166,6 +166,7 @@ At the moment the following 3rd-party modules are provided: | |||
| - [LifeFormModular](https://github.com/TimeControlledOrganism/LifeFormModular) | |||
| - [Lilac Loop](https://grough.github.io/lilac-loop-vcv) | |||
| - [Little Utils](https://github.com/mgunyho/Little-Utils) | |||
| - [LOGinstruments](https://github.com/LOGUNIVPM/LOGinstruments) | |||
| - [Lomas Modules](https://github.com/LomasModules/LomasModules) | |||
| - [Lyrae Modules](https://github.com/VegaDeftwing/LyraeModules) | |||
| - [Meander](https://github.com/knchaffin/Meander) | |||
| @@ -60,6 +60,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | |||
| | LifeFormModular | MIT | | | |||
| | Lilac Loop | GPL-3.0-or-later | | | |||
| | Little Utils | EUPL-1.2 | | | |||
| | LOGinstruments | BSD-3-Clause | | | |||
| | Lomas Modules | GPL-3.0-or-later | | | |||
| | Lyrae Modules | GPL-3.0-or-later | | | |||
| | Meander | GPL-3.0-or-later | | | |||
| @@ -211,6 +212,8 @@ Below is a list of artwork licenses from plugins | |||
| | LittleUtils/fonts/CooperHewitt-*.ttf | OFL-1.1-RFN | | | |||
| | LittleUtils/fonts/Overpass-*.ttf | OFL-1.1-RFN | | | |||
| | LittleUtils/fonts/RobotoMono-*.ttf | Apache-2.0 | | | |||
| | LOGinstruments/* | BSD-3-Clause | No artwork specific license provided | | |||
| | LOGinstruments/DejaVuSansMono.ttf | Bitstream Vera | | | |||
| | LomasModules/* | GPL-3.0-or-later | [Same license as source code](https://github.com/LomasModules/LomasModules/issues/26) | | |||
| | LomasModules/Fonts/FiraMono-Bold.ttf | OFL-1.1-RFN | | | |||
| | LyraeModules/* | CC-BY-NC-SA-4.0 | | | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit 1fc62fafe66bd622432db895a09ef1e3afc4531c | |||
| @@ -856,6 +856,12 @@ PLUGIN_FILES += $(filter-out LittleUtils/src/plugin.cpp,$(wildcard LittleUtils/s | |||
| # modules/types which are present in other plugins | |||
| LITTLEUTILS_CUSTOM = MsDisplayWidget | |||
| # -------------------------------------------------------------- | |||
| # LOGinstruments | |||
| PLUGIN_FILES += $(filter-out LOGinstruments/src/LOGinstruments.cpp,$(wildcard LOGinstruments/src/*.cpp)) | |||
| PLUGIN_FILES += LOGinstruments/src/kiss_fft.c | |||
| # -------------------------------------------------------------- | |||
| # LomasModules | |||
| @@ -2565,6 +2571,13 @@ $(BUILD_DIR)/LittleUtils/%.cpp.o: LittleUtils/%.cpp | |||
| $(foreach m,$(LITTLEUTILS_CUSTOM),$(call custom_module_names,$(m),LittleUtils)) \ | |||
| -DpluginInstance=pluginInstance__LittleUtils | |||
| $(BUILD_DIR)/LOGinstruments/src/%.o: LOGinstruments/src/% | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||
| $(foreach m,$(LOGINSTRUMENTS_CUSTOM),$(call custom_module_names,$(m),LOGinstruments)) \ | |||
| -DpluginInstance=pluginInstance__LOGinstruments | |||
| $(BUILD_DIR)/LomasModules/%.cpp.o: LomasModules/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| @@ -612,6 +612,9 @@ extern Model* modelDriftgen; | |||
| extern Model* modelLooperOne; | |||
| extern Model* modelLooperTwo; | |||
| // LOGinstruments | |||
| #include "LOGinstruments/src/LOGinstruments.hpp" | |||
| // LomasModules | |||
| #include "LomasModules/src/plugin.hpp" | |||
| #undef DR_WAV_IMPLEMENTATION | |||
| @@ -983,6 +986,7 @@ Plugin* pluginInstance__kocmoc; | |||
| Plugin* pluginInstance__LifeFormModular; | |||
| Plugin* pluginInstance__LilacLoop; | |||
| Plugin* pluginInstance__LittleUtils; | |||
| Plugin* pluginInstance__LOGinstruments; | |||
| Plugin* pluginInstance__Lomas; | |||
| Plugin* pluginInstance__Lyrae; | |||
| Plugin* pluginInstance__Meander; | |||
| @@ -2677,6 +2681,21 @@ static void initStatic__LittleUtils() | |||
| } | |||
| } | |||
| static void initStatic__LOGinstruments() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| pluginInstance__LOGinstruments = p; | |||
| const StaticPluginLoader spl(p, "LOGinstruments"); | |||
| if (spl.ok()) | |||
| { | |||
| p->addModel(modelSpeck); | |||
| p->addModel(modelLessMess); | |||
| p->addModel(modelVelvet); | |||
| p->addModel(modelCrystal); | |||
| } | |||
| } | |||
| static void initStatic__Lomas() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| @@ -3652,6 +3671,7 @@ void initStaticPlugins() | |||
| initStatic__LifeFormModular(); | |||
| initStatic__LilacLoop(); | |||
| initStatic__LittleUtils(); | |||
| initStatic__LOGinstruments(); | |||
| initStatic__Lomas(); | |||
| initStatic__Lyrae(); | |||
| initStatic__Meander(); | |||
| @@ -57,6 +57,7 @@ enum DarkMode { | |||
| kModeESeries, | |||
| kModeLilacLoop, | |||
| kModeLittleUtils, | |||
| kModeLOGinstruments, | |||
| kModeKocmoc, | |||
| kModeMyth, | |||
| kModeNonlinearcircuits, | |||
| @@ -268,6 +269,11 @@ static const struct { | |||
| { kModeLittleUtils, "/LittleUtils/res/PulseGenerator.svg", {}, -1 }, | |||
| { kModeLittleUtils, "/LittleUtils/res/TeleportIn.svg", {}, -1 }, | |||
| { kModeLittleUtils, "/LittleUtils/res/TeleportOut.svg", {}, -1 }, | |||
| // BSD-3 Clause | |||
| { kModeLOGinstruments, "/LOGinstruments/res/crystal-nofonts.svg", {}, -1 }, | |||
| { kModeLOGinstruments, "/LOGinstruments/res/LessMess_nofonts.svg", {}, -1 }, | |||
| { kModeLOGinstruments, "/LOGinstruments/res/Speck_nofonts2.svg", {}, -1 }, | |||
| { kModeLOGinstruments, "/LOGinstruments/res/velvet-nofonts.svg", {}, -1 }, | |||
| // GPL-3.0-or-later | |||
| { kModeKocmoc, "/kocmoc/res/DDLY.svg", {}, -1 }, | |||
| { kModeKocmoc, "/kocmoc/res/DIOD.svg", {}, -1 }, | |||
| @@ -631,6 +637,13 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai | |||
| { | |||
| switch (mode) | |||
| { | |||
| // Special case for LOGinstruments gradient | |||
| case kModeLOGinstruments: | |||
| // original color from stop 1 was copied to this stop and made ~25% darker | |||
| paint.gradient->stops[0].color = 0xd95c5c5c; | |||
| // color was made ~75% darker | |||
| paint.gradient->stops[1].color = 0xd91f1f1f; | |||
| return false; | |||
| // Special case for PathSet shifty gradient | |||
| case kModePathSet: | |||
| paint.gradient->stops[0].color = 0xff7c4919; // 50% darker than main blue | |||
| @@ -703,6 +716,15 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai | |||
| return true; | |||
| } | |||
| break; | |||
| // Special case for LOGinstruments | |||
| case kModeLOGinstruments: | |||
| switch (paint.color) | |||
| { | |||
| // Don't change Speck scope color | |||
| case 0xff1a1a1a: | |||
| return false; | |||
| } | |||
| break; | |||
| // Special case for Nonlinear Circuits | |||
| case kModeNonlinearcircuits: | |||
| switch (paint.color) | |||