Add DHE modules
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
80bda51e7c
commit
43bf3abe0e
7 changed files with 114 additions and 13 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -230,3 +230,6 @@
|
||||||
[submodule "plugins/EnigmaCurry"]
|
[submodule "plugins/EnigmaCurry"]
|
||||||
path = plugins/EnigmaCurry
|
path = plugins/EnigmaCurry
|
||||||
url = https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack.git
|
url = https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack.git
|
||||||
|
[submodule "plugins/DHE-Modules"]
|
||||||
|
path = plugins/DHE-Modules
|
||||||
|
url = https://github.com/dhemery/DHE-Modules.git
|
||||||
|
|
|
@ -140,6 +140,7 @@ At the moment the following 3rd-party modules are provided:
|
||||||
- [cf](https://github.com/cfoulc/cf)
|
- [cf](https://github.com/cfoulc/cf)
|
||||||
- [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV)
|
- [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV)
|
||||||
- [dBiz](https://github.com/dBiz/dBiz)
|
- [dBiz](https://github.com/dBiz/dBiz)
|
||||||
|
- [DHE Modules](https://github.com/dhemery/DHE-Modules)
|
||||||
- [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html)
|
- [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html)
|
||||||
- [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack)
|
- [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack)
|
||||||
- [E-Series](https://github.com/VCVRack/ESeries)
|
- [E-Series](https://github.com/VCVRack/ESeries)
|
||||||
|
|
|
@ -34,6 +34,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
|
||||||
| cf | BSD-3-Clause | |
|
| cf | BSD-3-Clause | |
|
||||||
| ChowDSP | GPL-3.0-or-later | |
|
| ChowDSP | GPL-3.0-or-later | |
|
||||||
| dBiz | GPL-3.0-or-later | |
|
| dBiz | GPL-3.0-or-later | |
|
||||||
|
| DHE-Modules | MIT | |
|
||||||
| DrumKit | CC0-1.0 | |
|
| DrumKit | CC0-1.0 | |
|
||||||
| EnigmaCurry | GPL-3.0-or-later | |
|
| EnigmaCurry | GPL-3.0-or-later | |
|
||||||
| E-Series | GPL-3.0-or-later | |
|
| E-Series | GPL-3.0-or-later | |
|
||||||
|
@ -159,6 +160,7 @@ Below is a list of artwork licenses from plugins
|
||||||
| dBiz/* | CC-BY-NC-ND-4.0 | |
|
| dBiz/* | CC-BY-NC-ND-4.0 | |
|
||||||
| dBiz/DejaVuSansMono.ttf | Bitstream-Vera | |
|
| dBiz/DejaVuSansMono.ttf | Bitstream-Vera | |
|
||||||
| dBiz/ShareTechMono-Regular.ttf | OFL-1.1 | |
|
| dBiz/ShareTechMono-Regular.ttf | OFL-1.1 | |
|
||||||
|
| DHE-Modules/* | MIT | Same license as source code |
|
||||||
| DrumKit/* | CC0-1.0 | |
|
| DrumKit/* | CC0-1.0 | |
|
||||||
| DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | |
|
| DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | |
|
||||||
| EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | |
|
| EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | |
|
||||||
|
|
1
plugins/DHE-Modules
Submodule
1
plugins/DHE-Modules
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 1d1c286fc69babdb36dfe5fa4fe2856b0f707854
|
|
@ -655,6 +655,11 @@ PLUGIN_FILES += $(filter-out dBiz/src/plugin.cpp,$(wildcard dBiz/src/*.cpp))
|
||||||
DBIZ_CUSTOM = Chord DarkDefaultItem Divider FourSeq FourSeqWidget OrangeLight VCA4 Wavefolder darkPanelID lightPanelID
|
DBIZ_CUSTOM = Chord DarkDefaultItem Divider FourSeq FourSeqWidget OrangeLight VCA4 Wavefolder darkPanelID lightPanelID
|
||||||
DBIZ_CUSTOM_PER_FILE = LERP MultiFilter Oscillator calcOutput sineOsc subBank
|
DBIZ_CUSTOM_PER_FILE = LERP MultiFilter Oscillator calcOutput sineOsc subBank
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# DHE-Modules
|
||||||
|
|
||||||
|
PLUGIN_FILES += $(filter-out DHE-Modules/src/plugin.cpp,$(wildcard DHE-Modules/src/modules/*/init.cpp))
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# DrumKit
|
# DrumKit
|
||||||
|
|
||||||
|
@ -1390,6 +1395,7 @@ RESOURCE_FILES += BaconPlugs/res/midi/chopin
|
||||||
RESOURCE_FILES += BaconPlugs/res/midi/debussy
|
RESOURCE_FILES += BaconPlugs/res/midi/debussy
|
||||||
RESOURCE_FILES += BaconPlugs/res/midi/goldberg
|
RESOURCE_FILES += BaconPlugs/res/midi/goldberg
|
||||||
RESOURCE_FILES += cf/playeroscs
|
RESOURCE_FILES += cf/playeroscs
|
||||||
|
RESOURCE_FILES += DHE-Modules/svg
|
||||||
RESOURCE_FILES += DrumKit/res/samples
|
RESOURCE_FILES += DrumKit/res/samples
|
||||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets
|
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets
|
||||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes
|
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes
|
||||||
|
@ -2216,6 +2222,14 @@ $(BUILD_DIR)/dBiz/src/%.cpp.o: dBiz/src/%.cpp
|
||||||
$(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename $*))) \
|
$(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename $*))) \
|
||||||
-DpluginInstance=pluginInstance__dBiz
|
-DpluginInstance=pluginInstance__dBiz
|
||||||
|
|
||||||
|
$(BUILD_DIR)/DHE-Modules/src/%.cpp.o: DHE-Modules/src/%.cpp
|
||||||
|
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||||
|
@echo "Compiling $<"
|
||||||
|
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
|
||||||
|
$(foreach m,$(DHE_CUSTOM),$(call custom_module_names,$(m),DHE)) \
|
||||||
|
-DpluginInstance=pluginInstance__DHE \
|
||||||
|
-IDHE-Modules/src
|
||||||
|
|
||||||
$(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp
|
$(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp
|
||||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||||
@echo "Compiling $<"
|
@echo "Compiling $<"
|
||||||
|
|
|
@ -1,18 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* DISTRHO Cardinal Plugin
|
* DISTRHO Cardinal Plugin
|
||||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||||
*
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
* 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 "rack.hpp"
|
#include "rack.hpp"
|
||||||
|
@ -335,6 +324,26 @@ extern Model* modelTestVCF;
|
||||||
#undef modelFourSeq
|
#undef modelFourSeq
|
||||||
#undef modelVCA4
|
#undef modelVCA4
|
||||||
|
|
||||||
|
// DHEModules
|
||||||
|
// NOTE very unique way of handling init, needs special handling
|
||||||
|
namespace dhe {
|
||||||
|
namespace blossom { void init(Plugin*); }
|
||||||
|
namespace buttons { void init(Plugin*); }
|
||||||
|
namespace cubic { void init(Plugin*); }
|
||||||
|
namespace curve_sequencer { void init(Plugin*); }
|
||||||
|
namespace envelope { void init(Plugin*); }
|
||||||
|
namespace func { void init(Plugin*); }
|
||||||
|
namespace fuzzy_logic { void init(Plugin*); }
|
||||||
|
namespace gator { void init(Plugin*); }
|
||||||
|
namespace ranger { void init(Plugin*); }
|
||||||
|
namespace scannibal { void init(Plugin*); }
|
||||||
|
namespace sequencizer { void init(Plugin*); }
|
||||||
|
namespace swave { void init(Plugin*); }
|
||||||
|
namespace tapers { void init(Plugin*); }
|
||||||
|
namespace truth { void init(Plugin*); }
|
||||||
|
namespace xycloid { void init(Plugin*); }
|
||||||
|
}
|
||||||
|
|
||||||
// DrumKit
|
// DrumKit
|
||||||
#include "DrumKit/src/DrumKit.hpp"
|
#include "DrumKit/src/DrumKit.hpp"
|
||||||
void setupSamples();
|
void setupSamples();
|
||||||
|
@ -821,6 +830,7 @@ Plugin* pluginInstance__CatroModulo;
|
||||||
Plugin* pluginInstance__cf;
|
Plugin* pluginInstance__cf;
|
||||||
Plugin* pluginInstance__ChowDSP;
|
Plugin* pluginInstance__ChowDSP;
|
||||||
Plugin* pluginInstance__dBiz;
|
Plugin* pluginInstance__dBiz;
|
||||||
|
Plugin* pluginInstance__DHE;
|
||||||
extern Plugin* pluginInstance__DrumKit;
|
extern Plugin* pluginInstance__DrumKit;
|
||||||
Plugin* pluginInstance__EnigmaCurry;
|
Plugin* pluginInstance__EnigmaCurry;
|
||||||
Plugin* pluginInstance__ESeries;
|
Plugin* pluginInstance__ESeries;
|
||||||
|
@ -1835,6 +1845,32 @@ static void initStatic__dBiz()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void initStatic__DHE()
|
||||||
|
{
|
||||||
|
Plugin* const p = new Plugin;
|
||||||
|
pluginInstance__DHE = p;
|
||||||
|
|
||||||
|
const StaticPluginLoader spl(p, "DHE-Modules");
|
||||||
|
if (spl.ok())
|
||||||
|
{
|
||||||
|
dhe::blossom::init(p);
|
||||||
|
dhe::buttons::init(p);
|
||||||
|
dhe::cubic::init(p);
|
||||||
|
dhe::curve_sequencer::init(p);
|
||||||
|
dhe::envelope::init(p);
|
||||||
|
dhe::func::init(p);
|
||||||
|
dhe::fuzzy_logic::init(p);
|
||||||
|
dhe::gator::init(p);
|
||||||
|
dhe::ranger::init(p);
|
||||||
|
dhe::scannibal::init(p);
|
||||||
|
dhe::sequencizer::init(p);
|
||||||
|
dhe::swave::init(p);
|
||||||
|
dhe::tapers::init(p);
|
||||||
|
dhe::truth::init(p);
|
||||||
|
dhe::xycloid::init(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void initStatic__DrumKit()
|
static void initStatic__DrumKit()
|
||||||
{
|
{
|
||||||
Plugin* const p = new Plugin;
|
Plugin* const p = new Plugin;
|
||||||
|
@ -3116,6 +3152,7 @@ void initStaticPlugins()
|
||||||
initStatic__cf();
|
initStatic__cf();
|
||||||
initStatic__ChowDSP();
|
initStatic__ChowDSP();
|
||||||
initStatic__dBiz();
|
initStatic__dBiz();
|
||||||
|
initStatic__DHE();
|
||||||
initStatic__DrumKit();
|
initStatic__DrumKit();
|
||||||
initStatic__EnigmaCurry();
|
initStatic__EnigmaCurry();
|
||||||
initStatic__ESeries();
|
initStatic__ESeries();
|
||||||
|
|
|
@ -74,6 +74,7 @@ enum DarkMode {
|
||||||
kModeAudibleInstruments,
|
kModeAudibleInstruments,
|
||||||
kModeBidoo,
|
kModeBidoo,
|
||||||
kModeCf,
|
kModeCf,
|
||||||
|
kModeDHE,
|
||||||
kModeDrumKit,
|
kModeDrumKit,
|
||||||
kModeESeries,
|
kModeESeries,
|
||||||
kModeHetrickCV,
|
kModeHetrickCV,
|
||||||
|
@ -226,6 +227,35 @@ static const struct {
|
||||||
{ kModeCf, "/cf/res/SUB.svg", {}, -1 },
|
{ kModeCf, "/cf/res/SUB.svg", {}, -1 },
|
||||||
{ kModeCf, "/cf/res/trSEQ.svg", {}, -1 },
|
{ kModeCf, "/cf/res/trSEQ.svg", {}, -1 },
|
||||||
{ kModeCf, "/cf/res/VARIABLE.svg", {}, -1 },
|
{ kModeCf, "/cf/res/VARIABLE.svg", {}, -1 },
|
||||||
|
// MIT
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/blossom.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/booster-stage.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/buttons.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/cubic.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/curve-sequencer-4.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/curve-sequencer-8.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/curve-sequencer-16.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/func.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/func-6.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/fuzzy-logic-h.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/fuzzy-logic-z.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/gator.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/hostage.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/ranger.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/scannibal-4.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/scannibal-8.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/scannibal-16.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/sequencizer-4.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/sequencizer-8.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/sequencizer-16.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/stage.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/swave.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/tapers.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/truth-2.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/truth-3.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/truth-4.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/upstage.svg", {}, -1 },
|
||||||
|
{ kModeDHE, "/DHE-Modules/svg/xycloid.svg", {}, -1 },
|
||||||
// CC0-1.0
|
// CC0-1.0
|
||||||
{ kModeDrumKit, "/DrumKit/res/Baronial.svg", {}, -1 },
|
{ kModeDrumKit, "/DrumKit/res/Baronial.svg", {}, -1 },
|
||||||
{ kModeDrumKit, "/DrumKit/res/BD9.svg", {}, -1 },
|
{ kModeDrumKit, "/DrumKit/res/BD9.svg", {}, -1 },
|
||||||
|
@ -611,6 +641,15 @@ static const struct {
|
||||||
{ kModeSonusmodular, "/sonusmodular/res/yabp.svg" },
|
{ kModeSonusmodular, "/sonusmodular/res/yabp.svg" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline
|
||||||
|
unsigned int darkerColor(const unsigned int color) noexcept
|
||||||
|
{
|
||||||
|
return (color & 0xff000000)
|
||||||
|
| (std::max<int>(0, ((color & 0xff0000) >> 16) - 0x80) << 16)
|
||||||
|
| (std::max<int>(0, ((color & 0xff00) >> 8) - 0x80) << 8)
|
||||||
|
| (std::max<int>(0, (color & 0xff) - 0x80));
|
||||||
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
unsigned int invertColor(const unsigned int color) noexcept
|
unsigned int invertColor(const unsigned int color) noexcept
|
||||||
{
|
{
|
||||||
|
@ -670,6 +709,10 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
// Special case for DHE, mark things darker instead of inverting
|
||||||
|
case kModeDHE:
|
||||||
|
paint.color = darkerColor(paint.color);
|
||||||
|
return true;
|
||||||
// Special case for JW-Modules colors
|
// Special case for JW-Modules colors
|
||||||
case kModeJW:
|
case kModeJW:
|
||||||
switch (paint.color)
|
switch (paint.color)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue