diff --git a/README.md b/README.md index 8002a8c..1811c1f 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ At the moment the following 3rd-party modules are provided: - [21kHz](https://github.com/netboy3/21kHz-rack-plugins) - [8Mode](https://github.com/8Mode/8Mode-VCV_Modules) - [Aaron Static](https://github.com/aaronstatic/AaronStatic_modules) +- [Admiral](https://github.com/wapiflapi/admiral) - [alef's bits](https://github.com/alefnull/alefsbits) - [AlgoritmArte](https://github.com/algoritmarte/AlgoritmarteVCVPlugin) - [Amalgamated Harmonics](https://github.com/jhoar/AmalgamatedHarmonics) diff --git a/docs/DIFFERENCES.md b/docs/DIFFERENCES.md index ef31a08..adbc4b8 100644 --- a/docs/DIFFERENCES.md +++ b/docs/DIFFERENCES.md @@ -46,6 +46,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: + * Admiral (never updated to v2) * Aria Salvatrice modules (except Arcane related modules, due to their online requirement) * Arable Instruments and Parable Instruments (never updated to v2) * Mog (never updated to v2) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 5dc16ba..4fe6844 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -16,6 +16,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | 21kHz | MIT | | | 8Mode | BSD-3-Clause | | | Aaron Static | MIT | | +| admiral | MIT | | | alef's bits | GPL-3.0-or-later | | | AlgoritmArte | GPL-3.0-or-later | | | Amalgamated Harmonics | BSD-3-Clause | | diff --git a/plugins/Makefile b/plugins/Makefile index 2b06652..e18311a 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -346,6 +346,11 @@ PLUGIN_FILES += $(wildcard AaronStatic/src/*.cpp) # modules/types which are present in other plugins AARONSTATIC_CUSTOM = RefreshCounter +# -------------------------------------------------------------- +# Admiral + +PLUGIN_FILES += $(filter-out admiral/src/plugin.cpp,$(wildcard admiral/src/*.cpp)) + # -------------------------------------------------------------- # AmalgamatedHarmonics @@ -2136,6 +2141,13 @@ $(BUILD_DIR)/AaronStatic/%.cpp.o: AaronStatic/%.cpp -DpluginInstance=pluginInstance__AaronStatic \ -Dinit=init__AaronStatic +$(BUILD_DIR)/admiral/%.cpp.o: admiral/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(ADMIRAL_CUSTOM),$(call custom_module_names,$(m),admiral)) \ + -DpluginInstance=pluginInstance__admiral + $(BUILD_DIR)/alefsbits/%.cpp.o: alefsbits/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/Sapphire b/plugins/Sapphire index b5d2fc1..6c39e81 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit b5d2fc122382d7934b3ea92e05ad91a9aec89504 +Subproject commit 6c39e81f48225e559181d4f60087b793c7356cee diff --git a/plugins/admiral b/plugins/admiral new file mode 160000 index 0000000..2885b72 --- /dev/null +++ b/plugins/admiral @@ -0,0 +1 @@ +Subproject commit 2885b72e1e82b1103eb2cb4db2a226c57c9e5f40 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 53a575d..5e85e65 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -27,6 +27,15 @@ // Aaron Static #include "AaronStatic/src/plugin.hpp" +// Admiral +/* NOTE too much noise in original include, do this a different way +// #include "admiral/src/plugin.hpp" +*/ +extern Model* modelWatches; +extern Model* modelShifts; +extern Model* modelTables; +extern Model* modelDivisions; + // Alef's Bits #define modelSteps modelalefsbitsSteps #define modelLogic modelalefsbitsLogic @@ -910,6 +919,7 @@ Plugin* pluginInstance__Fundamental; Plugin* pluginInstance__21kHz; Plugin* pluginInstance__8Mode; extern Plugin* pluginInstance__AaronStatic; +Plugin* pluginInstance__admiral; Plugin* pluginInstance__alefsbits; Plugin* pluginInstance__Algoritmarte; Plugin* pluginInstance__AmalgamatedHarmonics; @@ -1249,6 +1259,21 @@ static void initStatic__AaronStatic() } } +static void initStatic__admiral() +{ + Plugin* const p = new Plugin; + pluginInstance__admiral = p; + + const StaticPluginLoader spl(p, "admiral"); + if (spl.ok()) + { + p->addModel(modelWatches); + p->addModel(modelShifts); + p->addModel(modelTables); + p->addModel(modelDivisions); + } +} + static void initStatic__alefsbits() { Plugin* const p = new Plugin; @@ -3116,6 +3141,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphireGlee); p->addModel(modelSapphireGravy); p->addModel(modelSapphireHiss); + p->addModel(modelSapphireLark); p->addModel(modelSapphireMoots); p->addModel(modelSapphireNucleus); p->addModel(modelSapphirePivot); @@ -3123,6 +3149,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphirePop); p->addModel(modelSapphireRotini); p->addModel(modelSapphireSam); + p->addModel(modelSapphireSauce); p->addModel(modelSapphireTin); p->addModel(modelSapphireTout); p->addModel(modelSapphireTricorder); @@ -3501,6 +3528,7 @@ void initStaticPlugins() initStatic__21kHz(); initStatic__8Mode(); initStatic__AaronStatic(); + initStatic__admiral(); initStatic__alefsbits(); initStatic__Algoritmarte(); initStatic__AmalgamatedHarmonics();