@@ -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 |