Feature/add aaron static (#179)

* preliminary Aaron Static work

* build fix (override, needs work); color invert

* put color exception somewhere else
This commit is contained in:
dreamer 2022-02-26 02:10:26 +01:00 committed by GitHub
parent e42d689cd3
commit 1c7e2f4386
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 51 additions and 0 deletions

3
.gitmodules vendored
View file

@ -175,3 +175,6 @@
[submodule "plugins/Algoritmarte"] [submodule "plugins/Algoritmarte"]
path = plugins/Algoritmarte path = plugins/Algoritmarte
url = https://github.com/algoritmarte/AlgoritmarteVCVPlugin.git url = https://github.com/algoritmarte/AlgoritmarteVCVPlugin.git
[submodule "plugins/AaronStatic"]
path = plugins/AaronStatic
url = https://github.com/aaronstatic/AaronStatic_modules.git

View file

@ -104,6 +104,7 @@ At the moment the following 3rd-party modules are provided:
- 21kHz - 21kHz
- 8Mode - 8Mode
- Aaron Static
- AlgoritmArte - AlgoritmArte
- Amalgamated Harmonics - Amalgamated Harmonics
- Animated Circuits - Animated Circuits

View file

@ -15,6 +15,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| Rack | GPL-3.0-or-later | The actual Rack code, internal dependencies are compatible with GPLv3+ | | Rack | GPL-3.0-or-later | The actual Rack code, internal dependencies are compatible with GPLv3+ |
| 21kHz | MIT | | | 21kHz | MIT | |
| 8Mode | BSD-3-Clause | | | 8Mode | BSD-3-Clause | |
| Aaron Static | MIT | |
| AlgoritmArte | GPL-3.0-or-later | | | AlgoritmArte | GPL-3.0-or-later | |
| Amalgamated Harmonics | BSD-3-Clause | | | Amalgamated Harmonics | BSD-3-Clause | |
| Animated Circuits | GPL-3.0-or-later | | | Animated Circuits | GPL-3.0-or-later | |
@ -84,6 +85,8 @@ Below is a list of artwork licenses from plugins
|-----------------------------------------|------------------|------------------| |-----------------------------------------|------------------|------------------|
| 21kHz | MIT | No artwork specific license provided | | 21kHz | MIT | No artwork specific license provided |
| 8Mode | BSD-3-Clause | No artwork specific license provided | | 8Mode | BSD-3-Clause | No artwork specific license provided |
| AaronStatic/* | MIT | No artwork specific license provided |
| AaronStatic/fonts/PixelOperator.ttf | CC0-1.0 | |
| Algoritmarte/* | GPL-3.0-or-later | No artwork specific license provided | | Algoritmarte/* | GPL-3.0-or-later | No artwork specific license provided |
| Algoritmarte/LEDSliderGreenHandle.svg | CC-BY-NC-4.0 | | | Algoritmarte/LEDSliderGreenHandle.svg | CC-BY-NC-4.0 | |
| AmalgamatedHarmonics/* | BSD-3-Clause | No artwork specific license provided | | AmalgamatedHarmonics/* | BSD-3-Clause | No artwork specific license provided |

1
plugins/AaronStatic Submodule

@ -0,0 +1 @@
Subproject commit 4ace0a1789c577ee4eb12dc03da5271f80598d62

View file

@ -238,6 +238,11 @@ PLUGIN_FILES += $(filter-out 8Mode/src/plugin.cpp,$(wildcard 8Mode/src/*.cpp))
PLUGIN_FILES += $(filter-out Algoritmarte/src/plugin.cpp,$(wildcard Algoritmarte/src/*.cpp)) PLUGIN_FILES += $(filter-out Algoritmarte/src/plugin.cpp,$(wildcard Algoritmarte/src/*.cpp))
# --------------------------------------------------------------
# Aaron Static
PLUGIN_FILES += $(wildcard AaronStatic/src/*.cpp)
# -------------------------------------------------------------- # --------------------------------------------------------------
# AmalgamatedHarmonics # AmalgamatedHarmonics
@ -1151,6 +1156,14 @@ $(BUILD_DIR)/8Mode/%.cpp.o: 8Mode/%.cpp
$(foreach m,$(8MODE_CUSTOM),$(call custom_module_names,$(m),8Mode)) \ $(foreach m,$(8MODE_CUSTOM),$(call custom_module_names,$(m),8Mode)) \
-DpluginInstance=pluginInstance__8Mode -DpluginInstance=pluginInstance__8Mode
$(BUILD_DIR)/AaronStatic/%.cpp.o: AaronStatic/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(AARONSTATIC_CUSTOM),$(call custom_module_names,$(m),AaronStatic)) \
-DpluginInstance=pluginInstance__AaronStatic \
-Dinit=init__AaronStatic
$(BUILD_DIR)/Algoritmarte/%.cpp.o: Algoritmarte/%.cpp $(BUILD_DIR)/Algoritmarte/%.cpp.o: Algoritmarte/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<" @echo "Compiling $<"

View file

@ -30,6 +30,13 @@
// 8Mode // 8Mode
#include "8Mode/src/8mode.hpp" #include "8Mode/src/8mode.hpp"
// Aaron Static
#include "AaronStatic/src/plugin.hpp"
// Nasty override of this required function for now:
NVGcolor prepareDisplay(NVGcontext *vg, Rect *box, int fontSize) {
return nvgRGB(0xaf, 0xd2, 0x2c);
}
// Algoritmarte // Algoritmarte
#include "Algoritmarte/src/plugin.hpp" #include "Algoritmarte/src/plugin.hpp"
@ -646,6 +653,7 @@ Plugin* pluginInstance__Cardinal;
#ifndef NOPLUGINS #ifndef NOPLUGINS
Plugin* pluginInstance__21kHz; Plugin* pluginInstance__21kHz;
Plugin* pluginInstance__8Mode; Plugin* pluginInstance__8Mode;
Plugin* pluginInstance__AaronStatic;
Plugin* pluginInstance__Algoritmarte; Plugin* pluginInstance__Algoritmarte;
Plugin* pluginInstance__AmalgamatedHarmonics; Plugin* pluginInstance__AmalgamatedHarmonics;
Plugin* pluginInstance__AnimatedCircuits; Plugin* pluginInstance__AnimatedCircuits;
@ -867,6 +875,21 @@ static void initStatic__8Mode()
} }
} }
static void initStatic__AaronStatic()
{
Plugin* const p = new Plugin;
pluginInstance__AaronStatic = p;
const StaticPluginLoader spl(p, "AaronStatic");
if (spl.ok())
{
p->addModel(modelChordCV);
p->addModel(modelScaleCV);
p->addModel(modelRandomNoteCV);
p->addModel(modelDiatonicCV);
}
}
static void initStatic__Algoritmarte() static void initStatic__Algoritmarte()
{ {
Plugin* const p = new Plugin; Plugin* const p = new Plugin;
@ -2340,6 +2363,7 @@ void initStaticPlugins()
#ifndef NOPLUGINS #ifndef NOPLUGINS
initStatic__21kHz(); initStatic__21kHz();
initStatic__8Mode(); initStatic__8Mode();
initStatic__AaronStatic();
initStatic__Algoritmarte(); initStatic__Algoritmarte();
initStatic__AmalgamatedHarmonics(); initStatic__AmalgamatedHarmonics();
initStatic__AnimatedCircuits(); initStatic__AnimatedCircuits();

View file

@ -56,6 +56,11 @@ static const struct {
{ "/21kHz/res/Panels/D_Inf.svg", {}, -1 }, { "/21kHz/res/Panels/D_Inf.svg", {}, -1 },
{ "/21kHz/res/Panels/PalmLoop.svg", {}, -1 }, { "/21kHz/res/Panels/PalmLoop.svg", {}, -1 },
{ "/21kHz/res/Panels/TachyonEntangler.svg", {}, -1 }, { "/21kHz/res/Panels/TachyonEntangler.svg", {}, -1 },
// MIT
{"/AaronStatic/res/ChordCV.svg", {}, -1 },
{"/AaronStatic/res/DiatonicCV.svg", {}, -1 },
{"/AaronStatic/res/RandomNoteCV.svg", {}, -1 },
{"/AaronStatic/res/ScaleCV.svg", {}, -1 },
// GPL3.0-or-later // GPL3.0-or-later
{ "/Algoritmarte/res/Clockkky.svg", {}, -1 }, { "/Algoritmarte/res/Clockkky.svg", {}, -1 },
{ "/Algoritmarte/res/CyclicCA.svg", {}, -1 }, { "/Algoritmarte/res/CyclicCA.svg", {}, -1 },
@ -442,6 +447,7 @@ static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const c
case 0xff0095fe: case 0xff0095fe:
case 0xff4d9a4d: case 0xff4d9a4d:
case 0xff4d4d9a: case 0xff4d4d9a:
case 0xff0187fc:
return false; return false;
// pure black (convert to not quite pure white) // pure black (convert to not quite pure white)
case 0xff000000: case 0xff000000: