diff --git a/.github/workflows/irc.yml b/.github/workflows/irc.yml index 108c326..73aa458 100644 --- a/.github/workflows/irc.yml +++ b/.github/workflows/irc.yml @@ -10,7 +10,7 @@ jobs: - name: Format message id: message run: | - message="${{ github.actor }} pushed $(echo '${{ github.event.commits[0].message }}' | head -n 1) ${{ github.event.commits[0].url }}" + message="${{ github.actor }} pushed $(echo '${{ github.event.commits[0].message }}' | head -n 1 | tr -d "'") ${{ github.event.commits[0].url }}" echo ::set-output name=message::"${message}" - name: IRC notification uses: Gottox/irc-message-action@v2 diff --git a/.gitmodules b/.gitmodules index 8ed60c2..83d5014 100644 --- a/.gitmodules +++ b/.gitmodules @@ -209,3 +209,6 @@ [submodule "plugins/myth-modules"] path = plugins/myth-modules url = https://github.com/Ahineya/vcv-myth-plugin.git +[submodule "plugins/alefsbits"] + path = plugins/alefsbits + url = https://github.com/alefnull/alefsbits.git diff --git a/README.md b/README.md index a992f99..44e9579 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ At the moment the following 3rd-party modules are provided: - 21kHz - 8Mode - Aaron Static +- alef's bits - AlgoritmArte - Amalgamated Harmonics - Animated Circuits diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 89fe81b..90976fb 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 | | +| alef's bits | GPL-3.0-or-later | | | AlgoritmArte | GPL-3.0-or-later | | | Amalgamated Harmonics | BSD-3-Clause | | | Animated Circuits | GPL-3.0-or-later | | @@ -98,6 +99,7 @@ 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 | | +| alefsbits/* | GPL-3.0-or-later | No artwork specific license provided | | 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 | diff --git a/plugins/Makefile b/plugins/Makefile index d526aa3..4199e5e 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -308,6 +308,14 @@ PLUGIN_FILES += $(filter-out 21kHz/src/21kHz.cpp,$(wildcard 21kHz/src/*.cpp)) PLUGIN_FILES += $(filter-out 8Mode/src/8mode.cpp,$(wildcard 8Mode/src/*.cpp)) +# -------------------------------------------------------------- +# alefsbits + +PLUGIN_FILES += $(filter-out alefsbits/src/plugin.cpp,$(wildcard alefsbits/src/*.cpp)) + +# modules/types which are present in other plugins +ALEFSBITS_CUSTOM = Steps Logic + # -------------------------------------------------------------- # AlgoritmArte @@ -1082,7 +1090,7 @@ endif BUILD_C_FLAGS += -std=gnu11 BUILD_C_FLAGS += -fno-finite-math-only -fno-strict-aliasing -BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing +BUILD_CXX_FLAGS += -fno-finite-math-only -fno-strict-aliasing ifneq ($(MACOS),true) BUILD_CXX_FLAGS += -faligned-new -Wno-abi @@ -1416,6 +1424,13 @@ $(BUILD_DIR)/AaronStatic/%.cpp.o: AaronStatic/%.cpp -DpluginInstance=pluginInstance__AaronStatic \ -Dinit=init__AaronStatic +$(BUILD_DIR)/alefsbits/%.cpp.o: alefsbits/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(ALEFSBITS_CUSTOM),$(call custom_module_names,$(m),alefsbits)) \ + -DpluginInstance=pluginInstance__alefsbits + $(BUILD_DIR)/Algoritmarte/%.cpp.o: Algoritmarte/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/alefsbits b/plugins/alefsbits new file mode 160000 index 0000000..af534ff --- /dev/null +++ b/plugins/alefsbits @@ -0,0 +1 @@ +Subproject commit af534ff487db6689c3be527f5acb34ea90efc195 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 3df32c2..317336b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -39,6 +39,13 @@ // Aaron Static #include "AaronStatic/src/plugin.hpp" +// Alef's Bits +#define modelSteps modelalefsbitsSteps +#define modelLogic modelalefsbitsLogic +#include "alefsbits/src/plugin.hpp" +#undef modelSteps +#undef modelLogic + // Algoritmarte #include "Algoritmarte/src/plugin.hpp" @@ -723,6 +730,7 @@ Plugin* pluginInstance__ZamAudio; Plugin* pluginInstance__21kHz; Plugin* pluginInstance__8Mode; extern Plugin* pluginInstance__AaronStatic; +Plugin* pluginInstance__alefsbits; Plugin* pluginInstance__Algoritmarte; Plugin* pluginInstance__AmalgamatedHarmonics; Plugin* pluginInstance__ArableInstruments; @@ -1044,6 +1052,33 @@ static void initStatic__AaronStatic() } } +static void initStatic__alefsbits() +{ + Plugin* const p = new Plugin; + pluginInstance__alefsbits = p; + + const StaticPluginLoader spl(p, "alefsbits"); + if (spl.ok()) + { +#define modelSteps modelalefsbitsSteps +#define modelLogic modelalefsbitsLogic + p->addModel(modelSimplexandhold); + p->addModel(modelBlank6hp); + p->addModel(modelPolyrand); + p->addModel(modelNoize); + p->addModel(modelSteps); + p->addModel(modelFibb); + p->addModel(modelOctsclr); + p->addModel(modelShift); + p->addModel(modelMlt); + p->addModel(modelMath); + p->addModel(modelLogic); + p->addModel(modelProbablynot); +#undef modelSteps +#undef modelLogic + } +} + static void initStatic__Algoritmarte() { Plugin* const p = new Plugin; @@ -2725,6 +2760,7 @@ void initStaticPlugins() initStatic__21kHz(); initStatic__8Mode(); initStatic__AaronStatic(); + initStatic__alefsbits(); initStatic__Algoritmarte(); initStatic__AmalgamatedHarmonics(); initStatic__AnimatedCircuits(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 278368e..52e7e62 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -67,10 +67,24 @@ static const struct { { "/21kHz/res/Panels/PalmLoop.svg", {}, -1 }, { "/21kHz/res/Panels/TachyonEntangler.svg", {}, -1 }, // MIT - {"/AaronStatic/res/ChordCV.svg", {}, -1 }, - {"/AaronStatic/res/DiatonicCV.svg", {}, -1 }, - {"/AaronStatic/res/RandomNoteCV.svg", {}, -1 }, - {"/AaronStatic/res/ScaleCV.svg", {}, -1 }, + { "/AaronStatic/res/ChordCV.svg", {}, -1 }, + { "/AaronStatic/res/DiatonicCV.svg", {}, -1 }, + { "/AaronStatic/res/RandomNoteCV.svg", {}, -1 }, + { "/AaronStatic/res/ScaleCV.svg", {}, -1 }, + // GPL3.0-or-later + { "/alefsbits/res/blank6hp.svg", {}, -1 }, + { "/alefsbits/res/fibb.svg", {}, -1 }, + { "/alefsbits/res/logic.svg", {}, -1 }, + { "/alefsbits/res/math.svg", {}, -1 }, + { "/alefsbits/res/mlt.svg", {}, -1 }, + { "/alefsbits/res/noize.svg", {}, -1 }, + { "/alefsbits/res/octsclr.svg", {}, -1 }, + { "/alefsbits/res/polyrand.svg", {}, -1 }, + { "/alefsbits/res/shift.svg", {}, -1 }, + { "/alefsbits/res/simplexandhold.svg", {}, -1 }, + { "/alefsbits/res/simplexvco.svg", {}, -1 }, + { "/alefsbits/res/steps.svg", {}, -1 }, + { "/alefsbits/res/switch.svg", {}, -1 }, // GPL3.0-or-later { "/Algoritmarte/res/Clockkky.svg", {}, -1 }, { "/Algoritmarte/res/CyclicCA.svg", {}, -1 },