diff --git a/.gitmodules b/.gitmodules index 7801900..aaa5a72 100644 --- a/.gitmodules +++ b/.gitmodules @@ -91,3 +91,6 @@ [submodule "plugins/sonusmodular"] path = plugins/sonusmodular url = https://gitlab.com/sonusdept/sonusmodular.git +[submodule "plugins/Mog"] + path = plugins/Mog + url = https://github.com/CardinalModules/Mog-VCV.git diff --git a/README.md b/README.md index 39a321f..826ce68 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ At the moment the following 3rd-party modules are provided: - Impromptu - JW-Modules - MindMeld +- Mog - mscHack - Rackwindows - repelzen diff --git a/doc/DIFFERENCES.md b/doc/DIFFERENCES.md index 2513128..d6098e5 100644 --- a/doc/DIFFERENCES.md +++ b/doc/DIFFERENCES.md @@ -38,6 +38,7 @@ Bellow follows a list of features comparing the official plugin to Cardinal. Additionally, Cardinal contains the following built-in modules not present in the official plugin or standalone: * Aria Salvatrice modules (except Arcane related modules, due to their online requirement) + * Mog (never updated to v2) * Carla Plugin Host * Ildaeil Host * Host Parameters (24 host-exposed parameters as CV sources) diff --git a/doc/LICENSES.md b/doc/LICENSES.md index d514192..539c8a3 100644 --- a/doc/LICENSES.md +++ b/doc/LICENSES.md @@ -33,6 +33,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 | | | MindMeld | GPL-3.0-or-later | | +| Mog | CC0-1.0 | | | mscHack | BSD-3-Clause | | | Rackwindows | MIT | | | repelzen | GPL-3.0-or-later | | diff --git a/plugins/Makefile b/plugins/Makefile index f003a0f..26180eb 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -461,6 +461,12 @@ PLUGIN_FILES += $(wildcard MindMeldModular/src/Utilities/*.cpp) # modules/types which are present in other plugins MINDMELD_CUSTOM = printNote +# -------------------------------------------------------------- +# Mog + +PLUGIN_FILES += Mog/src/Network.cpp +PLUGIN_FILES += Mog/src/Nexus.cpp + # -------------------------------------------------------------- # mscHack @@ -979,7 +985,7 @@ $(BUILD_DIR)/MindMeldModular/MindMeldModular.cpp.o: MindMeldModular/src/MindMeld -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ - $(foreach m,$(MINDMELD_CUSTOM),$(call custom_module_names,$(m),JW)) \ + $(foreach m,$(MINDMELD_CUSTOM),$(call custom_module_names,$(m),MindMeld)) \ -DpluginInstance=pluginInstance__MindMeld \ -Dinit=init__MindMeld @@ -987,9 +993,16 @@ $(BUILD_DIR)/MindMeldModular/%.cpp.o: MindMeldModular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ - $(foreach m,$(MINDMELD_CUSTOM),$(call custom_module_names,$(m),JW)) \ + $(foreach m,$(MINDMELD_CUSTOM),$(call custom_module_names,$(m),MindMeld)) \ -DpluginInstance=pluginInstance__MindMeld +$(BUILD_DIR)/Mog/%.cpp.o: Mog/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(MOG_CUSTOM),$(call custom_module_names,$(m),Mog)) \ + -DpluginInstance=pluginInstance__Mog + $(BUILD_DIR)/mscHack/%.cpp.o: mscHack/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/Mog b/plugins/Mog new file mode 160000 index 0000000..c1b1288 --- /dev/null +++ b/plugins/Mog @@ -0,0 +1 @@ +Subproject commit c1b128866786246a407c10713efb00ecc8486ced diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index cdb6b0a..b1e0f26 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -295,6 +295,9 @@ extern Model *modelBassMaster; extern Model *modelBassMasterJr; extern Model *modelShapeMaster; +// Mog +#include "Mog/src/plugin.hpp" + // mscHack /* NOTE too much noise in original include, do this a different way // #include "mscHack/src/mscHack.hpp" @@ -384,6 +387,7 @@ Plugin* pluginInstance__GrandeModular; extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__JW; extern Plugin* pluginInstance__MindMeld; +Plugin* pluginInstance__Mog; extern Plugin* pluginInstance__mscHack; Plugin* pluginInstance__rackwindows; Plugin* pluginInstance__repelzen; @@ -1278,6 +1282,19 @@ static void initStatic__MindMeld() } } +static void initStatic__Mog() +{ + Plugin* const p = new Plugin; + pluginInstance__Mog = p; + + const StaticPluginLoader spl(p, "Mog"); + if (spl.ok()) + { + p->addModel(modelNetwork); + p->addModel(modelNexus); + } +} + static void initStatic__mscHack() { Plugin* const p = new Plugin; @@ -1486,6 +1503,7 @@ void initStaticPlugins() initStatic__ImpromptuModular(); initStatic__JW(); initStatic__MindMeld(); + initStatic__Mog(); initStatic__mscHack(); initStatic__rackwindows(); initStatic__repelzen(); diff --git a/plugins/res/Mog b/plugins/res/Mog new file mode 120000 index 0000000..2788a12 --- /dev/null +++ b/plugins/res/Mog @@ -0,0 +1 @@ +../Mog/res \ No newline at end of file