From 323c500bd03e54d6864911a846c705825bcfdf40 Mon Sep 17 00:00:00 2001 From: falkTX Date: Mon, 18 Oct 2021 14:03:05 +0100 Subject: [PATCH] Add stubs for built-in plugins Signed-off-by: falkTX --- include/common.hpp | 2 + plugins/Cardinal/plugin.json | 15 ++++++++ plugins/Cardinal/res/.gitkeep | 0 plugins/Cardinal/src/HostParameters.cpp | 50 +++++++++++++++++++++++++ plugins/Cardinal/src/HostTime.cpp | 50 +++++++++++++++++++++++++ plugins/Cardinal/src/plugin.hpp | 27 +++++++++++++ plugins/Makefile | 10 +++++ plugins/plugins.cpp | 19 ++++++++++ plugins/todo.txt | 50 +++++++++++++++++++++++++ 9 files changed, 223 insertions(+) create mode 100644 plugins/Cardinal/plugin.json create mode 100644 plugins/Cardinal/res/.gitkeep create mode 100644 plugins/Cardinal/src/HostParameters.cpp create mode 100644 plugins/Cardinal/src/HostTime.cpp create mode 100644 plugins/Cardinal/src/plugin.hpp create mode 100644 plugins/todo.txt diff --git a/include/common.hpp b/include/common.hpp index 97892ac6..64e99201 100644 --- a/include/common.hpp +++ b/include/common.hpp @@ -15,6 +15,8 @@ * For a full copy of the GNU General Public License see the LICENSE file. */ +#pragma once + #include_next "common.hpp" #undef BINARY diff --git a/plugins/Cardinal/plugin.json b/plugins/Cardinal/plugin.json new file mode 100644 index 00000000..80c8f6b2 --- /dev/null +++ b/plugins/Cardinal/plugin.json @@ -0,0 +1,15 @@ +{ + "slug": "Cardinal", + "name": "Cardinal", + "version": "2.0.0", + "license": "GPL-3.0-or-later", + "brand": "DISTRHO", + "author": "DISTRHO", + "authorEmail": "falktx@falktx.com", + "pluginUrl": "https://github.com/DISTRHO/Cardinal", + "authorUrl": "https://github.com/DISTRHO/Cardinal", + "manualUrl": "https://github.com/DISTRHO/Cardinal/wiki", + "sourceUrl": "https://github.com/DISTRHO/Cardinal", + "changelogUrl": "", + "modules": [] +} diff --git a/plugins/Cardinal/res/.gitkeep b/plugins/Cardinal/res/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/plugins/Cardinal/src/HostParameters.cpp b/plugins/Cardinal/src/HostParameters.cpp new file mode 100644 index 00000000..75f2de6a --- /dev/null +++ b/plugins/Cardinal/src/HostParameters.cpp @@ -0,0 +1,50 @@ +/* + * DISTRHO Cardinal Plugin + * Copyright (C) 2021 Filipe Coelho + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of + * the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * For a full copy of the GNU General Public License see the LICENSE file. + */ + +#include "plugin.hpp" + +struct HostParameters : Module { + enum ParamIds { + NUM_PARAMS + }; + enum InputIds { + NUM_INPUTS + }; + enum OutputIds { + NUM_OUTPUTS + }; + enum LightIds { + NUM_LIGHTS + }; + + HostParameters() { + config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); + } + + void process(const ProcessArgs&) override { + // TODO + } +}; + +struct HostParametersWidget : ModuleWidget { + HostParametersWidget(HostParameters* const module) { + setModule(module); + setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostParameters.svg"))); + } +}; + +Model* modelHostParameters = createModel("HostParameters"); diff --git a/plugins/Cardinal/src/HostTime.cpp b/plugins/Cardinal/src/HostTime.cpp new file mode 100644 index 00000000..19575d59 --- /dev/null +++ b/plugins/Cardinal/src/HostTime.cpp @@ -0,0 +1,50 @@ +/* + * DISTRHO Cardinal Plugin + * Copyright (C) 2021 Filipe Coelho + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of + * the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * For a full copy of the GNU General Public License see the LICENSE file. + */ + +#include "plugin.hpp" + +struct HostTime : Module { + enum ParamIds { + NUM_PARAMS + }; + enum InputIds { + NUM_INPUTS + }; + enum OutputIds { + NUM_OUTPUTS + }; + enum LightIds { + NUM_LIGHTS + }; + + HostTime() { + config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); + } + + void process(const ProcessArgs&) override { + // TODO + } +}; + +struct HostTimeWidget : ModuleWidget { + HostTimeWidget(HostTime* const module) { + setModule(module); + setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostTime.svg"))); + } +}; + +Model* modelHostTime = createModel("HostTime"); diff --git a/plugins/Cardinal/src/plugin.hpp b/plugins/Cardinal/src/plugin.hpp new file mode 100644 index 00000000..6709fbb8 --- /dev/null +++ b/plugins/Cardinal/src/plugin.hpp @@ -0,0 +1,27 @@ +/* + * DISTRHO Cardinal Plugin + * Copyright (C) 2021 Filipe Coelho + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of + * the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * For a full copy of the GNU General Public License see the LICENSE file. + */ + +#pragma once + +#include "rack.hpp" + +using namespace rack; + +extern Plugin* pluginInstance; + +extern Model* modelHostParameters; +extern Model* modelHostTime; diff --git a/plugins/Makefile b/plugins/Makefile index 9bdb5a48..f1cf01df 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -147,6 +147,11 @@ PLUGIN_FILES += $(wildcard BogaudioModules/src/dsp/filters/*.cpp) # modules which are present in other plugins BOGAUDIO_CUSTOM = ADSR LFO Noise VCA VCO VCF +# -------------------------------------------------------------- +# Cardinal (built-in) + +PLUGIN_FILES += $(wildcard Cardinal/src/*.cpp) + # -------------------------------------------------------------- # Fundamental @@ -295,6 +300,11 @@ $(BUILD_DIR)/BogaudioModules/%.cpp.o: BogaudioModules/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__BogaudioModules $(foreach m,$(BOGAUDIO_CUSTOM),$(call custom_module_names,$(m),Bogaudio)) -DRACK_SIMD=1 -IBogaudioModules/lib -IBogaudioModules/src/dsp -c -o $@ +$(BUILD_DIR)/Cardinal/%.cpp.o: Cardinal/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DpluginInstance=pluginInstance__Cardinal -c -o $@ + $(BUILD_DIR)/Fundamental/%.cpp.o: Fundamental/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 37c6ac58..6b50defa 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -153,6 +153,9 @@ #undef modelVCF #undef modelVCO +// Cardinal (built-in) +#include "Cardinal/src/plugin.hpp" + // Fundamental #include "Fundamental/src/plugin.hpp" @@ -167,6 +170,7 @@ Plugin* pluginInstance__AudibleInstruments; Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; +Plugin* pluginInstance__Cardinal; Plugin* pluginInstance__Fundamental; Plugin* pluginInstance__GrandeModular; Plugin* pluginInstance__ZetaCarinaeModules; @@ -576,6 +580,20 @@ static void initStatic__BogaudioModules() } } +static void initStatic__Cardinal() +{ + Plugin* const p = new Plugin; + pluginInstance__Cardinal = p; + + const StaticPluginLoader spl(p, "Cardinal"); + if (spl.ok()) + { + // TODO implement these + // p->addModel(modelHostParameters); + // p->addModel(modelHostTime); + } +} + static void initStatic__Fundamental() { Plugin* const p = new Plugin; @@ -665,6 +683,7 @@ void initStaticPlugins() initStatic__Befaco(); initStatic__Bidoo(); initStatic__BogaudioModules(); + initStatic__Cardinal(); initStatic__Fundamental(); initStatic__GrandeModular(); initStatic__ZetaCarinaeModules(); diff --git a/plugins/todo.txt b/plugins/todo.txt new file mode 100644 index 00000000..75cbe051 --- /dev/null +++ b/plugins/todo.txt @@ -0,0 +1,50 @@ +List of plugins still to add, sorted by popularity + +ESeries 94243.0 + +Grayscale 74754.0 +JW-Modules 65172.0 +AS 64626.0 +ImpromptuModular 62537.0 +Valley 62078.0 +VultModulesFree 61804.0 +AmalgamatedHarmonics 59071.0 +NYSTHI 58494.0 +DrumKit 58468.0 +ML_modules 55847.0 +FrozenWasteland 53690.0 +cf 49812.0 +ArableInstruments 48756.0 +squinkylabs-plug1 48682.0 +SonusModular 45245.0 +LindenbergResearch 43959.0 +Bidoo 43471.0 +Geodesics 42761.0 +mscHack 42316.0 +BaconMusic 42095.0 +HetrickCV 42077.0 +Alikins 41798.0 +dBiz 40849.0 +RJModules 39972.0 +DHE-Modules 39582.0 +AlrightDevices 38307.0 +SynthKit 38228.0 +SubmarineFree 38146.0 +Hora-treasureFree 37847.0 +ParableInstruments 37781.0 +CountModula 37759.0 +MSM 37337.0 +CharredDesert 36813.0 +EricaCopies 36556.0 +TheXOR 36497.0 +Autinn 34990.0 +trowaSoft 34946.0 +Hora-VCO_VCF_VCA_Free 34770.0 +moDllz 34368.0 +21kHz 34172.0 +Ohmer 33950.0 +modular80 33447.0 +Autodafe-DrumKit 33143.0 +Koralfx-Modules 33035.0 +alto777_LFSR 32872.0 +StellareModular 32526.0