add rcm-modules (#669)

* add rcm-modules

* Fix build

Signed-off-by: falkTX <falktx@falktx.com>

* append README and LICENSES files

* setup symbol conflicts for RCM

Signed-off-by: falkTX <falktx@falktx.com>

---------

Signed-off-by: falkTX <falktx@falktx.com>
Co-authored-by: falkTX <falktx@falktx.com>
This commit is contained in:
dreamer 2024-05-25 17:41:56 +02:00 committed by GitHub
parent fe1e7d3311
commit e5ae62d326
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 57 additions and 0 deletions

3
.gitmodules vendored
View file

@ -251,3 +251,6 @@
[submodule "deps/JUCE"]
path = deps/JUCE
url = https://github.com/CardinalModules/JUCE.git
[submodule "plugins/rcm-modules"]
path = plugins/rcm-modules
url = https://github.com/Rcomian/rcm-modules.git

View file

@ -182,6 +182,7 @@ At the moment the following 3rd-party modules are provided:
- [PinkTrombone](https://github.com/VegaDeftwing/PinkTromboneVCV)
- [Prism](https://github.com/SteveRussell33/Prism)
- [rackwindows](https://github.com/n0jo/rackwindows)
- [RCM](https://github.com/Rcomian/rcm-modules/)
- [RebelTech](https://github.com/hemmer/rebel-tech-vcv)
- [repelzen](https://github.com/wiqid/repelzen)
- [Sapphire](https://github.com/cosinekitty/sapphire)

View file

@ -77,6 +77,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| PinkTrombone | GPL-3.0-or-later | |
| Prism | BSD-3-Clause | |
| Rackwindows | MIT | |
| RCM | GPL-2.0-or-later | |
| repelzen | GPL-3.0-or-later | |
| RebelTech | GPL-2.0-or-later | |
| Sapphire | GPL-3.0-or-later | |
@ -240,6 +241,7 @@ Below is a list of artwork licenses from plugins
| Prism/* | CC-BY-SA-4.0 | |
| Prism/RobotoCondensed-Regular.ttf | Apache-2.0 | |
| Rackwindows/* | MIT | [Same license as source code](https://github.com/n0jo/rackwindows/issues/15) |
| RCM/* | GPL-2.0-or-later | No artwork specific license provided |
| repelzen/* | CC-BY-SA-4.0 | |
| RebelTech/* | CC-BY-NC-4.0 | |
| Sapphire/* | GPL-3.0-or-later | No artwork specific license provided |

View file

@ -1002,6 +1002,16 @@ PRISM_CUSTOM = bogaudio Scale
PLUGIN_FILES += $(filter-out rackwindows/src/plugin.cpp,$(wildcard rackwindows/src/*.cpp))
# --------------------------------------------------------------
# RCM
PLUGIN_FILES += $(filter-out rcm-modules/src/plugin.cpp,$(wildcard rcm-modules/src/*.cpp))
PLUGIN_FILES += $(wildcard rcm-modules/src/*.c)
PLUGIN_FILES += $(wildcard rcm-modules/src/PianoRoll/*.cpp)
# modules/types which are present in other plugins
RCM_CUSTOM = Transport
# --------------------------------------------------------------
# RebelTech
@ -2680,6 +2690,19 @@ $(BUILD_DIR)/rackwindows/%.cpp.o: rackwindows/%.cpp
-Wno-implicit-fallthrough \
-Wno-sign-compare
$(BUILD_DIR)/rcm-modules/%.c.o: rcm-modules/%.c
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@ \
$(foreach m,$(RCM_CUSTOM),$(call custom_module_names,$(m),RCM))
$(BUILD_DIR)/rcm-modules/%.cpp.o: rcm-modules/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(RCM_CUSTOM),$(call custom_module_names,$(m),RCM)) \
-DpluginInstance=pluginInstance__RCM
$(BUILD_DIR)/RebelTech/%.cpp.o: RebelTech/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"

View file

@ -796,6 +796,9 @@ extern Model* modelBlankPanel;
// rackwindows
#include "rackwindows/src/plugin.hpp"
// RCM
#include "rcm-modules/src/plugin.hpp"
// RebelTech
#define BefacoInputPort BefacoInputPortRebelTech
#define BefacoOutputPort BefacoOutputPortRebelTech
@ -961,6 +964,7 @@ Plugin* pluginInstance__PdArray;
Plugin* pluginInstance__PinkTrombone;
Plugin* pluginInstance__Prism;
Plugin* pluginInstance__rackwindows;
Plugin* pluginInstance__RCM;
Plugin* pluginInstance__RebelTech;
Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__sapphire;
@ -2996,6 +3000,28 @@ static void initStatic__rackwindows()
}
}
static void initStatic__RCM()
{
Plugin* const p = new Plugin;
pluginInstance__RCM = p;
const StaticPluginLoader spl(p, "rcm-modules");
if (spl.ok())
{
p->addModel(modelGVerbModule);
p->addModel(modelCV0to10Module);
p->addModel(modelCVS0to10Module);
p->addModel(modelCV5to5Module);
p->addModel(modelCVMmtModule);
p->addModel(modelCVTglModule);
p->addModel(modelPianoRollModule);
p->addModel(modelDuckModule);
p->addModel(modelSEQAdapterModule);
p->addModel(modelSyncModule);
p->addModel(modelPolyNosModule);
}
}
static void initStatic__RebelTech()
{
Plugin* const p = new Plugin;
@ -3458,6 +3484,7 @@ void initStaticPlugins()
initStatic__PinkTrombone();
initStatic__Prism();
initStatic__rackwindows();
initStatic__RCM();
initStatic__RebelTech();
initStatic__repelzen();
initStatic__Sapphire();

1
plugins/rcm-modules Submodule

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