Add MUS-X plugin (#707)

* add MUS-X plugin

* fix dual inclusion

---------

Co-authored-by: Johannes Rauch <johannes.rauch@actindo.com>
This commit is contained in:
Jojosito 2024-09-24 22:00:49 +02:00 committed by GitHub
parent 5f4a678660
commit 3c1f9dfb9a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 48 additions and 0 deletions

3
.gitmodules vendored
View file

@ -200,6 +200,9 @@
[submodule "plugins/forsitan-modulare"]
path = plugins/forsitan-modulare
url = https://github.com/gosub/forsitan-modulare.git
[submodule "plugins/MUS-X"]
path = plugins/MUS-X
url = https://github.com/Jojosito/MUS-X.git
[submodule "plugins/myth-modules"]
path = plugins/myth-modules
url = https://github.com/Ahineya/vcv-myth-plugin.git

View file

@ -174,6 +174,7 @@ At the moment the following 3rd-party modules are provided:
- [Mog](https://github.com/JustMog/Mog-VCV)
- [mscHack](https://github.com/mschack/VCV-Rack-Plugins)
- [MSM](https://github.com/netboy3/MSM-vcvrack-plugin)
- [MUS-X](https://github.com/Jojosito/MUS-X)
- [Myth](https://github.com/Ahineya/vcv-myth-plugin)
- [Nonlinear Circuits](https://github.com/mhetrick/nonlinearcircuits)
- [Orbits](https://github.com/RareBreeds/Orbits)

View file

@ -68,6 +68,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules
| Mog | CC0-1.0 | |
| mscHack | BSD-3-Clause | |
| MSM | MIT | Repo's [LICENSE-dist.md](https://github.com/netboy3/MSM-vcvrack-plugin/issues/10) includes wrong information |
| MUS-X | GPL-3.0-or-later | |
| Myth | GPL-3.0-or-later | |
| Nonlinear Circuits | CC0-1.0 | |
| Orbits | GPL-3.0-or-later | |
@ -227,6 +228,7 @@ Below is a list of artwork licenses from plugins
| MSM/Fonts/DejaVuSansMono.ttf | Bitstream-Vera | |
| MSM/Fonts/Segment7Standard.ttf | OFL-1.1-RFN | |
| MSM/Fonts/Sudo.ttf | OFL-1.1-no-RFN | |
| MUS-X/* | GPL-3.0-or-later | No artwork specific license provided |
| Myth/* | GPL-3.0-or-later | No artwork specific license provided |
| nonlinearcircuits/* | CC0-1.0 | No artwork specific license provided |
| nonlinearcircuits/Audiowide-Regular.ttf | OFL-1.1-RFN | |

1
plugins/MUS-X Submodule

@ -0,0 +1 @@
Subproject commit f622217ec6b709b7707fb76f85026e0faa93b893

View file

@ -930,6 +930,11 @@ PLUGIN_FILES += $(filter-out MSM/src/MSM.cpp,$(wildcard MSM/src/*.cpp))
# modules/types which are present in other plugins
MSM_CUSTOM = ADSR BlankPanel Delay LFO LowFrequencyOscillator Mult Noise OP VCA VCO sawTable triTable
# --------------------------------------------------------------
# MUS-X
PLUGIN_FILES += $(filter-out MUS-X/src/plugin.cpp,$(wildcard MUS-X/src/*.cpp))
# --------------------------------------------------------------
# myth-modules
@ -2621,6 +2626,13 @@ $(BUILD_DIR)/MSM/%.cpp.o: MSM/%.cpp
$(foreach m,$(MSM_CUSTOM),$(call custom_module_names,$(m),MSM)) \
-DpluginInstance=pluginInstance__MSM
$(BUILD_DIR)/MUS-X/%.cpp.o: MUS-X/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(MUS_X_CUSTOM),$(call custom_module_names,$(m),MUS_X)) \
-DpluginInstance=pluginInstance__MUS_X
$(BUILD_DIR)/myth-modules/%.cpp.o: myth-modules/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"

View file

@ -759,6 +759,9 @@ extern Model* modelBlankPanel;
#undef modelVCA
#undef modelVCO
// MUS-X
#include "MUS-X/src/plugin.hpp"
// myth-modules
#include "myth-modules/src/plugin.hpp"
@ -955,6 +958,7 @@ Plugin* pluginInstance__MockbaModular;
Plugin* pluginInstance__Mog;
extern Plugin* pluginInstance__mscHack;
Plugin* pluginInstance__MSM;
Plugin* pluginInstance__MUS_X;
Plugin* pluginInstance__myth_modules;
Plugin* pluginInstance__nonlinearcircuits;
Plugin* pluginInstance__Orbits;
@ -2850,6 +2854,30 @@ static void initStatic__MSM()
}
}
static void initStatic__MUS_X()
{
Plugin* const p = new Plugin;
pluginInstance__MUS_X = p;
const StaticPluginLoader spl(p, "MUS-X");
if (spl.ok())
{
p->addModel(musx::modelADSR);
p->addModel(musx::modelDelay);
p->addModel(musx::modelDrift);
p->addModel(musx::modelFilter);
p->addModel(musx::modelLast);
p->addModel(musx::modelLFO);
p->addModel(musx::modelModMatrix);
p->addModel(musx::modelOnePole);
p->addModel(musx::modelOnePoleLP);
p->addModel(musx::modelOscillators);
p->addModel(musx::modelSplitStack);
p->addModel(musx::modelSynth);
p->addModel(musx::modelTuner);
}
}
static void initStatic__myth_modules()
{
Plugin* const p = new Plugin;
@ -3495,6 +3523,7 @@ void initStaticPlugins()
initStatic__Mog();
initStatic__mscHack();
initStatic__MSM();
initStatic__MUS_X();
initStatic__myth_modules();
initStatic__nonlinearcircuits();
initStatic__Orbits();