| @@ -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 | |||
| @@ -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": [] | |||
| } | |||
| @@ -0,0 +1,50 @@ | |||
| /* | |||
| * DISTRHO Cardinal Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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, HostParametersWidget>("HostParameters"); | |||
| @@ -0,0 +1,50 @@ | |||
| /* | |||
| * DISTRHO Cardinal Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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, HostTimeWidget>("HostTime"); | |||
| @@ -0,0 +1,27 @@ | |||
| /* | |||
| * DISTRHO Cardinal Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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; | |||
| @@ -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 $<" | |||
| @@ -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(); | |||
| @@ -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 | |||