Add repelzen, create document to list all code licenses

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2021-12-03 12:32:03 +00:00
parent 4d1b470837
commit b8f2e64e32
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
7 changed files with 101 additions and 0 deletions

3
.gitmodules vendored
View file

@ -76,3 +76,6 @@
[submodule "plugins/ZZC"]
path = plugins/ZZC
url = https://github.com/zezic/ZZC.git
[submodule "plugins/repelzen"]
path = plugins/repelzen
url = https://github.com/wiqid/repelzen.git

View file

@ -0,0 +1,11 @@
#!/bin/bash
set -e
cd $(dirname $0)
for p in ../plugins/*/plugin.json; do
name=$(jq -crM .name ${p})
license=$(jq -crM .license ${p})
echo "| ${name} | ${license} |"
done

38
doc/LICENSES.md Normal file
View file

@ -0,0 +1,38 @@
# LICENSES
## CODE LICENSE / BINARY
While Cardinal itself is licensed under GPLv3+, some modules/plugins used by it are not.
And since Cardinal builds the entire Rack and modules as a static library,
the more restrictive of the **code licenses** will apply to the final binary.
Bellow follows a list of all code licenses used in Cardinal and linked submodules.
| Name | License(s) | Additional notes |
|-----------------------|-----------------------|------------------|
| Carla | GPL-2.0-or-later | Used as plugin host within Cardinal|
| DPF | ISC, GPL-2.0-or-later | Used as the plugin framework, VST2 binary GPLv2+ licensed |
| Rack | GPL-3.0-or-later | The actual Rack code, internal dependencies are compatible with GPLv3+ |
| AS | MIT | |
| Amalgamated Harmonics | BSD-3-Clause | |
| Animated Circuits | BSD-3-Clause | |
| Atelier | GPL-3.0-only | |
| Audible Instruments | GPL-3.0-or-later | |
| Befaco | GPL-3.0-or-later | |
| Bidoo | GPL-3.0-only | |
| Bogaudio | GPL-3.0-or-later | |
| Cardinal | GPL-3.0-or-later | |
| DrumKit | CC0-1.0 | |
| E-Series | GPL-3.0-or-later | |
| Fundamental | GPL-3.0-or-later | |
| Grande | GPL-3.0-or-later | |
| Impromptu | GPL-3.0-only | GPLv3+ change request https://github.com/MarcBoule/Geodesics/issues/4 |
| JW-Modules | BSD-3-Clause | |
| MindMeld | GPL-3.0-only | GPLv3+ change request https://github.com/MarcBoule/Geodesics/issues/4 |
| Valley | GPL-3.0-or-later | |
| ZZC | GPL-3.0-only | GPLv3+ change request https://github.com/zezic/ZZC/issues/86 |
| ZetaCarinae | GPL-3.0-or-later | |
| cf | BSD-3-Clause | |
| mscHack | BSD-3-Clause | |
| Rackwindows | MIT | |
| repelzen | GPL-3.0-or-later | |

View file

@ -454,6 +454,14 @@ MSCHACK_CUSTOM_PER_FILE = MAIN_SYNC_CLOCK FILTER_STRUCT FILTER_PARAM_STRUCT OSC_
PLUGIN_FILES += $(filter-out rackwindows/src/plugin.cpp,$(wildcard rackwindows/src/*.cpp))
# --------------------------------------------------------------
# repelzen
PLUGIN_FILES += $(filter-out repelzen/src/repelzen.cpp,$(wildcard repelzen/src/*.cpp))
# modules/types which are present in other plugins
REPELZEN_CUSTOM = Blank Mixer tanh_pade
# --------------------------------------------------------------
# ValleyAudio
@ -952,6 +960,13 @@ $(BUILD_DIR)/rackwindows/%.cpp.o: rackwindows/%.cpp
-Wno-implicit-fallthrough \
-Wno-sign-compare
$(BUILD_DIR)/repelzen/%.cpp.o: repelzen/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(REPELZEN_CUSTOM),$(call custom_module_names,$(m),repelzen)) \
-DpluginInstance=pluginInstance__repelzen
$(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"

View file

@ -289,6 +289,15 @@ extern Model *modelMaude_221;
// rackwindows
#include "rackwindows/src/plugin.hpp"
// repelzen
#define modelBlank modelrepelzenBlank
#define modelMixer modelrepelzenMixer
#define tanh_pade repelzentanh_pade
#include "repelzen/src/repelzen.hpp"
#undef modelBlank
#undef modelMixer
#undef tanh_pade
// ValleyAudio
#include "ValleyAudio/src/Valley.hpp"
@ -334,6 +343,7 @@ Plugin* pluginInstance__JW;
extern Plugin* pluginInstance__MindMeld;
extern Plugin* pluginInstance__mscHack;
Plugin* pluginInstance__rackwindows;
Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__ValleyAudio;
Plugin* pluginInstance__ZetaCarinaeModules;
Plugin* pluginInstance__ZZC;
@ -1190,6 +1200,27 @@ static void initStatic__rackwindows()
}
}
static void initStatic__repelzen()
{
Plugin* const p = new Plugin;
pluginInstance__repelzen = p;
const StaticPluginLoader spl(p, "repelzen");
if (spl.ok())
{
#define modelBlank modelrepelzenBlank
#define modelMixer modelrepelzenMixer
p->addModel(modelBlank);
p->addModel(modelBurst);
p->addModel(modelFolder);
p->addModel(modelErwin);
p->addModel(modelWerner);
p->addModel(modelMixer);
#undef modelBlank
#undef modelMixer
}
}
static void initStatic__ValleyAudio()
{
Plugin* const p = new Plugin;
@ -1274,6 +1305,7 @@ void initStaticPlugins()
initStatic__MindMeld();
initStatic__mscHack();
initStatic__rackwindows();
initStatic__repelzen();
initStatic__ValleyAudio();
initStatic__ZetaCarinaeModules();
initStatic__ZZC();

1
plugins/repelzen Submodule

@ -0,0 +1 @@
Subproject commit 4b8790cde8ad0ae5e0af95929a4d5261ade5d2c9

1
plugins/res/repelzen Symbolic link
View file

@ -0,0 +1 @@
../repelzen/res