From 00404341783ac044efd41921df18e46c0fbfddc5 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Tue, 22 Feb 2022 20:45:39 +0100 Subject: [PATCH] Feature/re add befaco (#162) * 1st revert * 2nd revert * add panel license permission --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSE-PERMISSIONS.md | 18 ++++++++++++++++ docs/LICENSES.md | 3 +++ plugins/Befaco | 1 + plugins/Makefile | 16 +++++++++++++++ plugins/plugins.cpp | 41 +++++++++++++++++++++++++++++++++++++ 7 files changed, 83 insertions(+) create mode 160000 plugins/Befaco diff --git a/.gitmodules b/.gitmodules index d6596fd..a337261 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,6 +10,9 @@ [submodule "plugins/Cardinal/sse2neon"] path = include/sse2neon url = https://github.com/DLTcollab/sse2neon.git +[submodule "plugins/Befaco"] + path = plugins/Befaco + url = https://github.com/VCVRack/Befaco.git [submodule "plugins/AudibleInstruments"] path = plugins/AudibleInstruments url = https://github.com/CardinalModules/AudibleInstruments.git diff --git a/README.md b/README.md index efaa6d8..d26c0d4 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ At the moment the following 3rd-party modules are provided: - Audible Instruments - Autinn - Bacon Music +- Befaco - Bidoo - Bogaudio - cf diff --git a/docs/LICENSE-PERMISSIONS.md b/docs/LICENSE-PERMISSIONS.md index 09bc024..3ae4519 100644 --- a/docs/LICENSE-PERMISSIONS.md +++ b/docs/LICENSE-PERMISSIONS.md @@ -37,6 +37,24 @@ Below follows a direct copy and paste of each individual request. > Best, > Émilie +## Befaco (Manu Retamero @ Befaco) + +*On Wednesday, February 2, 2022, 12:21 PM CET, Alexander Chalikiopoulos wrote:* + +> As you may know, since the VCV Rack 2 source release we have been working on a stand-alone plugin based on upstream source repositories. In it we make a, fully opensource, statically compiled version of the Rack2 engine including many of the great available module sets. +> +> This poses several issues we are trying to resolve, one thing is that we try to adhere to any upstream licensing. For most projects that is not an issue, but with the Befaco modules we'd like to resolve a couple things. One is that in the VCV repo it says `used and distributed with permission`, but even though we directly use the source repository we mean to assume this permission is given to VCV explicitly. We would like to know if you would allow us to use these same panels, unmodified, in our project. +> +> cheers, +> Alexander + +*On Monday, Februari 21, 2022, 10:28 AM CET, Manu Retamero wrote:* + +> From our point of view we are totally fine that you use Befaco modules, Befaco front panel designs and Befaco logo in your software. +> +> All the best, +> Manu + ## ESeries (Paul Schreiber @ SynthTech) *On Wednesday, January 19, 2022, 04:53:44 AM CST, Filipe Coelho wrote:* diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 63801f9..3249d63 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -20,6 +20,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Audible Instruments | GPL-3.0-or-later | | | Autinn | GPL-3.0-or-later | | | Bacon Music | GPL-3.0-or-later | | +| Befaco | GPL-3.0-or-later | | | Bidoo | GPL-3.0-or-later | | | Bogaudio | GPL-3.0-or-later | | | cf | BSD-3-Clause | | @@ -86,6 +87,8 @@ Below is a list of artwork licenses from plugins | BaconPlugs/1f953.svg | CC-BY-4.0 | | | BaconPlugs/Keypunch029.json | OFL-1.1 | | | Bidoo/* | CC-BY-NC-ND-4.0 | [Special permission granted for runtime dark mode](https://github.com/sebastien-bouffier/Bidoo/issues/191) | +| Befaco/components/* | CC-BY-NC-4.0 | | +| Befaco/panels/* | Custom | Copyright © [Befaco](https://www.befaco.org/), [used and distributed with permission](LICENSE-PERMISSIONS.md#befaco-manu-retamero--befaco) | | BogaudioModules/* | CC-BY-SA-4.0 | | | BogaudioModules/fonts/audiowide.ttf | OFL-1.1-RFN | | | BogaudioModules/fonts/inconsolata*.ttf | OFL-1.1-no-RFN | | diff --git a/plugins/Befaco b/plugins/Befaco new file mode 160000 index 0000000..ec406ce --- /dev/null +++ b/plugins/Befaco @@ -0,0 +1 @@ +Subproject commit ec406ce181f340bce8e475cb508c4db0db02fdc6 diff --git a/plugins/Makefile b/plugins/Makefile index b70dc82..3fcb4e3 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -377,6 +377,15 @@ PLUGIN_FILES += $(filter-out BaconPlugs/src/BaconPlugs.cpp,$(wildcard BaconPlugs PLUGIN_FILES += $(wildcard BaconPlugs/libs/midifile/src/*.cpp) PLUGIN_FILES += $(wildcard BaconPlugs/libs/open303-code/Source/DSPCode/*.cpp) +# -------------------------------------------------------------- +# Befaco + +PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp)) +PLUGIN_BINARIES += Befaco/src/SpringReverbIR.pcm + +# modules/types which are present in other plugins +BEFACO_CUSTOM = ADSR Mixer + # -------------------------------------------------------------- # Bidoo @@ -1088,6 +1097,13 @@ $(BUILD_DIR)/BaconPlugs/%.cpp.o: BaconPlugs/%.cpp -Wno-array-bounds \ -Wno-strict-aliasing +$(BUILD_DIR)/Befaco/%.cpp.o: Befaco/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(BEFACO_CUSTOM),$(call custom_module_names,$(m),Befaco)) \ + -DpluginInstance=pluginInstance__Befaco + $(BUILD_DIR)/Bidoo/%.cpp.o: Bidoo/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 98764b9..e490033 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -103,6 +103,13 @@ extern Model* modelChord; #undef SCREW_WIDTH #undef RACK_HEIGHT +// Befaco +#define modelADSR modelBefacoADSR +#define modelMixer modelBefacoMixer +#include "Befaco/src/plugin.hpp" +#undef modelADSR +#undef modelMixer + // Bidoo #include "Bidoo/src/plugin.hpp" @@ -527,6 +534,7 @@ Plugin* pluginInstance__Aria; Plugin* pluginInstance__AudibleInstruments; extern Plugin* pluginInstance__Autinn; Plugin* pluginInstance__Bacon; +Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; Plugin* pluginInstance__cf; @@ -899,6 +907,38 @@ static void initStatic__Bacon() } } +static void initStatic__Befaco() +{ + Plugin* const p = new Plugin; + pluginInstance__Befaco = p; + + const StaticPluginLoader spl(p, "Befaco"); + if (spl.ok()) + { +#define modelADSR modelBefacoADSR +#define modelMixer modelBefacoMixer + p->addModel(modelEvenVCO); + p->addModel(modelRampage); + p->addModel(modelABC); + p->addModel(modelSpringReverb); + p->addModel(modelMixer); + p->addModel(modelSlewLimiter); + p->addModel(modelDualAtenuverter); + p->addModel(modelPercall); + p->addModel(modelHexmixVCA); + p->addModel(modelChoppingKinky); + p->addModel(modelKickall); + p->addModel(modelSamplingModulator); + p->addModel(modelMorphader); + p->addModel(modelADSR); + p->addModel(modelSTMix); + p->addModel(modelMuxlicer); + p->addModel(modelMex); +#undef modelADSR +#undef modelMixer + } +} + static void initStatic__Bidoo() { Plugin* const p = new Plugin; @@ -1854,6 +1894,7 @@ void initStaticPlugins() initStatic__AudibleInstruments(); initStatic__Autinn(); initStatic__Bacon(); + initStatic__Befaco(); initStatic__Bidoo(); initStatic__BogaudioModules(); initStatic__cf();