Add voxglitch
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
5e8a03d3dd
commit
38c25e6b78
7 changed files with 97 additions and 0 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -184,3 +184,6 @@
|
|||
[submodule "plugins/nonlinearcircuits"]
|
||||
path = plugins/nonlinearcircuits
|
||||
url = https://github.com/mhetrick/nonlinearcircuits.git
|
||||
[submodule "plugins/voxglitch"]
|
||||
path = plugins/voxglitch
|
||||
url = https://github.com/clone45/voxglitch.git
|
||||
|
|
|
@ -155,6 +155,7 @@ At the moment the following 3rd-party modules are provided:
|
|||
- stocaudio
|
||||
- Substation Opensource
|
||||
- Valley
|
||||
- Voxglitch
|
||||
- ZetaCarinae
|
||||
- ZZC
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
|
|||
| Sonus Modular | GPL-3.0-or-later | |
|
||||
| stocaudio | GPL-3.0-or-later | |
|
||||
| Valley | GPL-3.0-or-later | |
|
||||
| Voxglitch | GPL-3.0-or-later | [License still to be applied in the repo](https://github.com/clone45/voxglitch/issues/123) |
|
||||
| ZetaCarinae | GPL-3.0-or-later | |
|
||||
| ZZC | GPL-3.0-or-later | |
|
||||
|
||||
|
@ -185,6 +186,8 @@ Below is a list of artwork licenses from plugins
|
|||
| ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | |
|
||||
| ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | |
|
||||
| ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | |
|
||||
| voxglitch/* | BSD-3-Clause | No artwork specific license provided |
|
||||
| voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | |
|
||||
| ZetaCarinaeModules/* | GPL-3.0-or-later | [Same license as source code](https://github.com/mhampton/ZetaCarinaeModules/issues/8) |
|
||||
| ZZC/* | CC-BY-NC-SA-4.0 | |
|
||||
| ZZC/panels/* | CC-BY-NC-SA-4.0 | NOTE: The ZZC Logo is Copyright (c) 2019 Sergey Ukolov and cannot be used in derivative works; Cardinal's use does not officially constitute derivative work. |
|
||||
|
|
|
@ -820,6 +820,14 @@ PLUGIN_BINARIES += ValleyAudio/src/XFADE.bin
|
|||
VALLEYAUDIO_CUSTOM = $(DRWAV) DigitalDisplay
|
||||
VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Voxglitch
|
||||
|
||||
PLUGIN_FILES += $(filter-out voxglitch/src/plugin.cpp,$(wildcard voxglitch/src/*.cpp))
|
||||
|
||||
# modules/types which are present in other plugins
|
||||
VOXGLITCH_CUSTOM = $(DRWAV) Readout
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# ZetaCarinaeModules
|
||||
|
||||
|
@ -1679,6 +1687,13 @@ $(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp
|
|||
-Wno-sign-compare \
|
||||
-Wno-unused-but-set-variable
|
||||
|
||||
$(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
|
||||
$(foreach m,$(VOXGLITCH_CUSTOM),$(call custom_module_names,$(m),Voxglitch)) \
|
||||
-DpluginInstance=pluginInstance__Voxglitch
|
||||
|
||||
$(BUILD_DIR)/ZetaCarinaeModules/%.cpp.o: ZetaCarinaeModules/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
|
|
|
@ -665,6 +665,9 @@ extern Model* modelFilterPlus;
|
|||
// ValleyAudio
|
||||
#include "ValleyAudio/src/Valley.hpp"
|
||||
|
||||
// Voxglitch
|
||||
#include "voxglitch/src/plugin.hpp"
|
||||
|
||||
// ZetaCarinaeModules
|
||||
#include "ZetaCarinaeModules/src/plugin.hpp"
|
||||
|
||||
|
@ -748,6 +751,7 @@ Plugin* pluginInstance__sonusmodular;
|
|||
Plugin* pluginInstance__stocaudio;
|
||||
Plugin* pluginInstance__substation;
|
||||
Plugin* pluginInstance__ValleyAudio;
|
||||
Plugin* pluginInstance__Voxglitch;
|
||||
Plugin* pluginInstance__ZetaCarinaeModules;
|
||||
Plugin* pluginInstance__ZZC;
|
||||
#endif // NOPLUGINS
|
||||
|
@ -2430,6 +2434,37 @@ static void initStatic__ValleyAudio()
|
|||
}
|
||||
}
|
||||
|
||||
static void initStatic__Voxglitch()
|
||||
{
|
||||
Plugin* p = new Plugin;
|
||||
pluginInstance__Voxglitch = p;
|
||||
|
||||
const StaticPluginLoader spl(p, "voxglitch");
|
||||
if (spl.ok())
|
||||
{
|
||||
p->addModel(modelAutobreak);
|
||||
p->addModel(modelByteBeat);
|
||||
p->addModel(modelDigitalProgrammer);
|
||||
p->addModel(modelDigitalSequencer);
|
||||
p->addModel(modelDigitalSequencerXP);
|
||||
p->addModel(modelGlitchSequencer);
|
||||
p->addModel(modelGhosts);
|
||||
p->addModel(modelGoblins);
|
||||
p->addModel(modelGrainEngine);
|
||||
p->addModel(modelGrainEngineMK2);
|
||||
p->addModel(modelGrainEngineMK2Expander);
|
||||
p->addModel(modelGrainFx);
|
||||
p->addModel(modelHazumi);
|
||||
p->addModel(modelLooper);
|
||||
p->addModel(modelRepeater);
|
||||
p->addModel(modelSamplerX8);
|
||||
p->addModel(modelSatanonaut);
|
||||
p->addModel(modelWavBank);
|
||||
p->addModel(modelWavBankMC);
|
||||
p->addModel(modelXY);
|
||||
}
|
||||
}
|
||||
|
||||
static void initStatic__ZetaCarinaeModules()
|
||||
{
|
||||
Plugin* p = new Plugin;
|
||||
|
@ -2532,6 +2567,7 @@ void initStaticPlugins()
|
|||
initStatic__stocaudio();
|
||||
initStatic__substation();
|
||||
initStatic__ValleyAudio();
|
||||
initStatic__Voxglitch();
|
||||
initStatic__ZetaCarinaeModules();
|
||||
initStatic__ZZC();
|
||||
#endif // NOPLUGINS
|
||||
|
|
1
plugins/voxglitch
Submodule
1
plugins/voxglitch
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit c391e1a83b73b38125fb007117c40d0f5ee2091c
|
|
@ -283,6 +283,26 @@ static const struct {
|
|||
{ "/PathSet/res/AstroVibe.svg", {}, -1 },
|
||||
{ "/PathSet/res/IceTray.svg", {}, -1 },
|
||||
{ "/PathSet/res/ShiftyMod.svg", {}, -1 },
|
||||
// BSD-3-Clause
|
||||
{ "/voxglitch/res/autobreak_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/bytebeat_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/digital_programmer_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/digital_sequencer_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/digital_sequencer_xp_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/ghosts_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/glitch_sequencer_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/goblins_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/grain_engine_mk2_expander_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/grain_engine_mk2_front_panel_r3.svg", {}, -1 },
|
||||
{ "/voxglitch/res/grain_fx_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/hazumi_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/looper_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/repeater_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/samplerx8_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/satanonaut_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/wav_bank_front_panel.svg", {}, -1 },
|
||||
{ "/voxglitch/res/wav_bank_mc_front_panel_v2.svg", {}, -1 },
|
||||
{ "/voxglitch/res/xy_front_panel.svg", {}, -1 },
|
||||
};
|
||||
|
||||
static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const char* const svgFileToInvert = nullptr)
|
||||
|
@ -458,6 +478,24 @@ static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const c
|
|||
}
|
||||
}
|
||||
|
||||
// Special case for voxglitch colors
|
||||
if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/voxglitch/", 11) == 0)
|
||||
{
|
||||
switch (paint.color)
|
||||
{
|
||||
// wavbank blue
|
||||
case 0xffc5ae8a:
|
||||
// various black
|
||||
case 0xff121212:
|
||||
case 0xff2a2828:
|
||||
return false;
|
||||
// satanonaut
|
||||
case 0xff595959:
|
||||
paint.color = 0x7f3219ac;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
switch (paint.color)
|
||||
{
|
||||
// scopes or other special things (do nothing)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue