| @@ -15,6 +15,8 @@ | |||||
| * For a full copy of the GNU General Public License see the LICENSE file. | * For a full copy of the GNU General Public License see the LICENSE file. | ||||
| */ | */ | ||||
| #pragma once | |||||
| #include_next "common.hpp" | #include_next "common.hpp" | ||||
| #undef BINARY | #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 | # modules which are present in other plugins | ||||
| BOGAUDIO_CUSTOM = ADSR LFO Noise VCA VCO VCF | BOGAUDIO_CUSTOM = ADSR LFO Noise VCA VCO VCF | ||||
| # -------------------------------------------------------------- | |||||
| # Cardinal (built-in) | |||||
| PLUGIN_FILES += $(wildcard Cardinal/src/*.cpp) | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Fundamental | # Fundamental | ||||
| @@ -295,6 +300,11 @@ $(BUILD_DIR)/BogaudioModules/%.cpp.o: BogaudioModules/%.cpp | |||||
| @echo "Compiling $<" | @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 $@ | $(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 | $(BUILD_DIR)/Fundamental/%.cpp.o: Fundamental/%.cpp | ||||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | ||||
| @echo "Compiling $<" | @echo "Compiling $<" | ||||
| @@ -153,6 +153,9 @@ | |||||
| #undef modelVCF | #undef modelVCF | ||||
| #undef modelVCO | #undef modelVCO | ||||
| // Cardinal (built-in) | |||||
| #include "Cardinal/src/plugin.hpp" | |||||
| // Fundamental | // Fundamental | ||||
| #include "Fundamental/src/plugin.hpp" | #include "Fundamental/src/plugin.hpp" | ||||
| @@ -167,6 +170,7 @@ Plugin* pluginInstance__AudibleInstruments; | |||||
| Plugin* pluginInstance__Befaco; | Plugin* pluginInstance__Befaco; | ||||
| Plugin* pluginInstance__Bidoo; | Plugin* pluginInstance__Bidoo; | ||||
| Plugin* pluginInstance__BogaudioModules; | Plugin* pluginInstance__BogaudioModules; | ||||
| Plugin* pluginInstance__Cardinal; | |||||
| Plugin* pluginInstance__Fundamental; | Plugin* pluginInstance__Fundamental; | ||||
| Plugin* pluginInstance__GrandeModular; | Plugin* pluginInstance__GrandeModular; | ||||
| Plugin* pluginInstance__ZetaCarinaeModules; | 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() | static void initStatic__Fundamental() | ||||
| { | { | ||||
| Plugin* const p = new Plugin; | Plugin* const p = new Plugin; | ||||
| @@ -665,6 +683,7 @@ void initStaticPlugins() | |||||
| initStatic__Befaco(); | initStatic__Befaco(); | ||||
| initStatic__Bidoo(); | initStatic__Bidoo(); | ||||
| initStatic__BogaudioModules(); | initStatic__BogaudioModules(); | ||||
| initStatic__Cardinal(); | |||||
| initStatic__Fundamental(); | initStatic__Fundamental(); | ||||
| initStatic__GrandeModular(); | initStatic__GrandeModular(); | ||||
| initStatic__ZetaCarinaeModules(); | 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 | |||||