Browse Source

Add voxglitch

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.03
falkTX 3 years ago
parent
commit
38c25e6b78
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
7 changed files with 97 additions and 0 deletions
  1. +3
    -0
      .gitmodules
  2. +1
    -0
      README.md
  3. +3
    -0
      docs/LICENSES.md
  4. +15
    -0
      plugins/Makefile
  5. +36
    -0
      plugins/plugins.cpp
  6. +1
    -0
      plugins/voxglitch
  7. +38
    -0
      src/custom/dep.cpp

+ 3
- 0
.gitmodules View File

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

+ 1
- 0
README.md View File

@@ -155,6 +155,7 @@ At the moment the following 3rd-party modules are provided:
- stocaudio
- Substation Opensource
- Valley
- Voxglitch
- ZetaCarinae
- ZZC



+ 3
- 0
docs/LICENSES.md View File

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


+ 15
- 0
plugins/Makefile View File

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


+ 36
- 0
plugins/plugins.cpp View File

@@ -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
- 0
plugins/voxglitch

@@ -0,0 +1 @@
Subproject commit c391e1a83b73b38125fb007117c40d0f5ee2091c

+ 38
- 0
src/custom/dep.cpp View File

@@ -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…
Cancel
Save