| @@ -153,7 +153,7 @@ | |||
| url = https://github.com/martin-lueders/ML_modules.git | |||
| [submodule "plugins/Orbits"] | |||
| path = plugins/Orbits | |||
| url = git@github.com:RareBreeds/Orbits.git | |||
| url = https://github.com/RareBreeds/Orbits.git | |||
| [submodule "plugins/stocaudio"] | |||
| path = plugins/stocaudio | |||
| url = https://github.com/aptrn/stocaudio-modules.git | |||
| @@ -172,6 +172,18 @@ | |||
| [submodule "plugins/Dintree"] | |||
| path = plugins/Dintree | |||
| url = https://github.com/hires/Dintree-Virtual.git | |||
| [submodule "plugins/Algoritmarte"] | |||
| path = plugins/Algoritmarte | |||
| url = https://github.com/algoritmarte/AlgoritmarteVCVPlugin.git | |||
| [submodule "plugins/AaronStatic"] | |||
| path = plugins/AaronStatic | |||
| url = https://github.com/aaronstatic/AaronStatic_modules.git | |||
| [submodule "plugins/MSM"] | |||
| path = plugins/MSM | |||
| url = https://github.com/netboy3/MSM-vcvrack-plugin.git | |||
| [submodule "plugins/nonlinearcircuits"] | |||
| path = plugins/nonlinearcircuits | |||
| url = https://github.com/mhetrick/nonlinearcircuits.git | |||
| [submodule "plugins/StarlingVia"] | |||
| path = plugins/StarlingVia | |||
| url = https://github.com/starlingcode/Via-for-Rack.git | |||
| @@ -104,6 +104,8 @@ At the moment the following 3rd-party modules are provided: | |||
| - 21kHz | |||
| - 8Mode | |||
| - Aaron Static | |||
| - AlgoritmArte | |||
| - Amalgamated Harmonics | |||
| - Animated Circuits | |||
| - Aria Salvatrice | |||
| @@ -142,6 +144,8 @@ At the moment the following 3rd-party modules are provided: | |||
| - Mockba Modular | |||
| - Mog | |||
| - mscHack | |||
| - MSM | |||
| - Nonlinear Circuits | |||
| - Orbits | |||
| - Path Set | |||
| - Prism | |||
| @@ -15,6 +15,8 @@ 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+ | | |||
| | 21kHz | MIT | | | |||
| | 8Mode | BSD-3-Clause | | | |||
| | Aaron Static | MIT | | | |||
| | AlgoritmArte | GPL-3.0-or-later | | | |||
| | Amalgamated Harmonics | BSD-3-Clause | | | |||
| | Animated Circuits | GPL-3.0-or-later | | | |||
| | Aria Salvatrice | GPL-3.0-or-later | | | |||
| @@ -53,6 +55,8 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | |||
| | Mockba Modular | MIT | | | |||
| | Mog | CC0-1.0 | | | |||
| | mscHack | BSD-3-Clause | | | |||
| | MSM | MIT | Repo's [LICENSE-dist.md](https://github.com/netboy3/MSM-vcvrack-plugin/issues/10) includes wrong information | | |||
| | Nonlinear Circuits | CC0-1.0 | | | |||
| | Orbits | GPL-3.0-or-later | | | |||
| | Path Set | GPL-3.0-or-later | | | |||
| | Prism | BSD-3-Clause | | | |||
| @@ -84,6 +88,10 @@ Below is a list of artwork licenses from plugins | |||
| |-----------------------------------------|------------------|------------------| | |||
| | 21kHz | MIT | 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/LEDSliderGreenHandle.svg | CC-BY-NC-4.0 | | | |||
| | AmalgamatedHarmonics/* | BSD-3-Clause | No artwork specific license provided | | |||
| | AmalgamatedHarmonics/DSEG*.ttf | OFL-1.1-RFN | | | |||
| | AmalgamatedHarmonics/Roboto*.ttf | Apache-2.0 | | | |||
| @@ -158,6 +166,12 @@ Below is a list of artwork licenses from plugins | |||
| | Mog/components/* | CC-BY-NC-4.0 | | | |||
| | Mog/Exo2-BoldItalic.ttf | OFL-1.1-RFN | | | |||
| | mscHack/* | BSD-3-Clause | No artwork specific license provided, see [mschack#108](https://github.com/mschack/VCV-Rack-Plugins/issues/108) | | |||
| | MSM/* | MIT | No artwork specific license provided | | |||
| | MSM/Fonts/DejaVuSansMono.ttf | Bitstream-Vera | | | |||
| | MSM/Fonts/Segment7Standard.ttf | OFL-1.1-RFN | | | |||
| | MSM/Fonts/Sudo.ttf | OFL-1.1-no-RFN | | | |||
| | nonlinearcircuits/* | CC0-1.0 | No artwork specific license provided | | |||
| | nonlinearcircuits/Audiowide-Regular.ttf | OFL-1.1-RFN | | | |||
| | Orbits/* | CC-BY-NC-ND-4.0 | | | |||
| | Orbits/fonts/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | | |||
| | PathSet/* | GPL-3.0-or-later | No artwork specific license provided | | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit 4ace0a1789c577ee4eb12dc03da5271f80598d62 | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit 9d41fe882ab5029100b55c98ba7f10172d452795 | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit 80b4a5aa06d9c4a58f62d90fe567b28b01f6312d | |||
| @@ -231,7 +231,20 @@ PLUGIN_FILES += $(filter-out 21kHz/src/21kHz.cpp,$(wildcard 21kHz/src/*.cpp)) | |||
| # -------------------------------------------------------------- | |||
| # 8Mode | |||
| PLUGIN_FILES += $(wildcard 8Mode/src/*.cpp) | |||
| PLUGIN_FILES += $(filter-out 8Mode/src/plugin.cpp,$(wildcard 8Mode/src/*.cpp)) | |||
| # -------------------------------------------------------------- | |||
| # AlgoritmArte | |||
| PLUGIN_FILES += $(filter-out Algoritmarte/src/plugin.cpp,$(wildcard Algoritmarte/src/*.cpp)) | |||
| # -------------------------------------------------------------- | |||
| # Aaron Static | |||
| PLUGIN_FILES += $(wildcard AaronStatic/src/*.cpp) | |||
| # modules/types which are present in other plugins | |||
| AARONSTATIC_CUSTOM = RefreshCounter | |||
| # -------------------------------------------------------------- | |||
| # AmalgamatedHarmonics | |||
| @@ -378,7 +391,7 @@ AUTINN_CUSTOM = Chord Vibrato | |||
| # -------------------------------------------------------------- | |||
| # Axioma | |||
| PLUGIN_FILES += $(wildcard Axioma/src/*.cpp) | |||
| PLUGIN_FILES += $(filter-out Axioma/src/plugin.cpp,$(wildcard Axioma/src/*.cpp)) | |||
| # -------------------------------------------------------------- | |||
| # BaconPlugs | |||
| @@ -668,6 +681,19 @@ PLUGIN_FILES += $(wildcard mscHack/src/*.cpp) | |||
| # modules/types which are present in other plugins | |||
| MSCHACK_CUSTOM_PER_FILE = MAIN_SYNC_CLOCK FILTER_STRUCT FILTER_PARAM_STRUCT OSC_PARAM_STRUCT PHRASE_CHANGE_STRUCT | |||
| # -------------------------------------------------------------- | |||
| # MSM | |||
| PLUGIN_FILES += $(filter-out MSM/src/MSM.cpp,$(wildcard MSM/src/*.cpp)) | |||
| # modules/types which are present in other plugins | |||
| MSM_CUSTOM = ADSR BlankPanel Delay LFO LowFrequencyOscillator Mult Noise OP VCA VCO sawTable triTable | |||
| # -------------------------------------------------------------- | |||
| # Nonlinear Circuits | |||
| PLUGIN_FILES += $(filter-out nonlinearcircuits/src/NLC.cpp,$(wildcard nonlinearcircuits/src/*.cpp)) | |||
| # -------------------------------------------------------------- | |||
| # Orbits | |||
| @@ -946,7 +972,20 @@ else | |||
| PLUGIN_LIST = $(subst /plugin.json,,$(wildcard */plugin.json)) | |||
| endif | |||
| UNWANTED_FILES = HetrickCV/res/illustrator - deprecated/MyModule.svg | |||
| UNWANTED_FILES = HetrickCV/res/illustrator - deprecated/MyModule.svg | |||
| UNWANTED_FILES += nonlinearcircuits/res/NLC - 1050 MIXER SEQUENCER.svg | |||
| UNWANTED_FILES += 1050 MIXER SEQUENCER.svg | |||
| UNWANTED_FILES += 32to1.svg | |||
| UNWANTED_FILES += 4seq.svg | |||
| UNWANTED_FILES += 8 BIT CIPHER.svg | |||
| UNWANTED_FILES += DIVIDE & CONQUER.svg | |||
| UNWANTED_FILES += DIVINE CMOS.svg | |||
| UNWANTED_FILES += GENiE.svg | |||
| UNWANTED_FILES += NEURON.svg | |||
| UNWANTED_FILES += NUMBERWANG.svg | |||
| UNWANTED_FILES += ROUTER.svg | |||
| UNWANTED_FILES += SEGUE.svg | |||
| UNWANTED_FILES += STATUES.svg | |||
| RESOURCE_FILES = \ | |||
| $(filter-out $(UNWANTED_FILES), \ | |||
| @@ -969,6 +1008,7 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets | |||
| RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes | |||
| RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets | |||
| RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes | |||
| RESOURCE_FILES += nonlinearcircuits/res | |||
| # MOD builds only have LV2 FX variant for now | |||
| ifeq ($(MOD_BUILD),true) | |||
| @@ -1156,6 +1196,21 @@ $(BUILD_DIR)/8Mode/%.cpp.o: 8Mode/%.cpp | |||
| $(foreach m,$(8MODE_CUSTOM),$(call custom_module_names,$(m),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 | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||
| $(foreach m,$(ALGORITMARTE_CUSTOM),$(call custom_module_names,$(m),Algoritmarte)) \ | |||
| -DpluginInstance=pluginInstance__Algoritmarte | |||
| $(BUILD_DIR)/AmalgamatedHarmonics/%.cpp.o: AmalgamatedHarmonics/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| @@ -1293,7 +1348,8 @@ $(BUILD_DIR)/Dintree/%.cpp.o: Dintree/%.cpp | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||
| $(foreach m,$(DINTREE_CUSTOM),$(call custom_module_names,$(m),Dintree)) \ | |||
| -DpluginInstance=pluginInstance__Dintree | |||
| -DpluginInstance=pluginInstance__Dintree \ | |||
| -DSKIP_MINGW_FORMAT | |||
| $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @@ -1546,6 +1602,21 @@ $(BUILD_DIR)/mscHack/%.cpp.o: mscHack/%.cpp | |||
| -Wno-non-c-typedef-for-linkage \ | |||
| -Wno-unused-but-set-variable | |||
| $(BUILD_DIR)/MSM/%.cpp.o: MSM/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||
| $(foreach m,$(MSM_CUSTOM),$(call custom_module_names,$(m),MSM)) \ | |||
| -DpluginInstance=pluginInstance__MSM \ | |||
| -DDARKTHEME | |||
| $(BUILD_DIR)/nonlinearcircuits/%.cpp.o: nonlinearcircuits/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||
| $(foreach m,$(NONLINEARCIRCUITS_CUSTOM),$(call custom_module_names,$(m),nonlinearcircuits)) \ | |||
| -DpluginInstance=pluginInstance__nonlinearcircuits | |||
| $(BUILD_DIR)/Orbits/%.cpp.o: Orbits/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit d7c3763ba3f801a3cfe98c49dfb7419a1477fd46 | |||
| @@ -30,6 +30,12 @@ | |||
| // 8Mode | |||
| #include "8Mode/src/8mode.hpp" | |||
| // Aaron Static | |||
| #include "AaronStatic/src/plugin.hpp" | |||
| // Algoritmarte | |||
| #include "Algoritmarte/src/plugin.hpp" | |||
| // AmalgamatedHarmonics | |||
| #include "AmalgamatedHarmonics/src/AH.hpp" | |||
| @@ -562,6 +568,51 @@ extern Model* modelAlienz; | |||
| extern Model* modelOSC_WaveMorph_3; | |||
| extern Model* modelMaude_221; | |||
| // MSM | |||
| /* NOTE too much noise in original include, do this a different way | |||
| // #include "MSM/src/MSM.hpp" | |||
| */ | |||
| #define modelADSR modelMSMADSR | |||
| #define modelBlankPanel modelMSMBlankPanel | |||
| #define modelDelay modelMSMDelay | |||
| #define modelLFO modelMSMLFO | |||
| #define modelMult modelMSMMult | |||
| #define modelNoise modelMSMNoise | |||
| #define modelVCA modelMSMVCA | |||
| #define modelVCO modelMSMVCO | |||
| extern Model* modelVCO; | |||
| extern Model* modelBVCO; | |||
| extern Model* modelExperimentalVCO; | |||
| extern Model* modelNoise; | |||
| extern Model* modelLFO; | |||
| extern Model* modelVCA; | |||
| extern Model* modelADSR; | |||
| extern Model* modelDelay; | |||
| extern Model* modelWaveShaper; | |||
| extern Model* modelWavefolder; | |||
| extern Model* modelBitcrusher; | |||
| extern Model* modelPhaserModule; | |||
| extern Model* modelMorpher; | |||
| extern Model* modelRingMod; | |||
| extern Model* modelRandomSource; | |||
| extern Model* modelMult; | |||
| extern Model* modelCrazyMult; | |||
| extern Model* modelFade; | |||
| extern Model* modelSimpleSlider; | |||
| extern Model* modelxseq; | |||
| extern Model* modelBlankPanel; | |||
| #undef modelADSR | |||
| #undef modelBlankPanel | |||
| #undef modelDelay | |||
| #undef modelLFO | |||
| #undef modelMult | |||
| #undef modelNoise | |||
| #undef modelVCA | |||
| #undef modelVCO | |||
| // Nonlinear Circuits | |||
| #include "nonlinearcircuits/src/NLC.hpp" | |||
| // Orbits | |||
| #include "Orbits/src/plugin.hpp" | |||
| @@ -649,6 +700,8 @@ Plugin* pluginInstance__Cardinal; | |||
| #ifndef NOPLUGINS | |||
| Plugin* pluginInstance__21kHz; | |||
| Plugin* pluginInstance__8Mode; | |||
| extern Plugin* pluginInstance__AaronStatic; | |||
| Plugin* pluginInstance__Algoritmarte; | |||
| Plugin* pluginInstance__AmalgamatedHarmonics; | |||
| Plugin* pluginInstance__AnimatedCircuits; | |||
| Plugin* pluginInstance__Aria; | |||
| @@ -690,6 +743,8 @@ Plugin* pluginInstance__ML; | |||
| Plugin* pluginInstance__MockbaModular; | |||
| Plugin* pluginInstance__Mog; | |||
| extern Plugin* pluginInstance__mscHack; | |||
| Plugin* pluginInstance__MSM; | |||
| Plugin* pluginInstance__nonlinearcircuits; | |||
| Plugin* pluginInstance__Orbits; | |||
| Plugin* pluginInstance__PathSet; | |||
| Plugin* pluginInstance__Prism; | |||
| @@ -870,6 +925,39 @@ 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() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| pluginInstance__Algoritmarte = p; | |||
| const StaticPluginLoader spl(p, "Algoritmarte"); | |||
| if (spl.ok()) | |||
| { | |||
| p->addModel(modelClockkky); | |||
| p->addModel(modelPlanetz); | |||
| p->addModel(modelMusiFrog); | |||
| p->addModel(modelZefiro); | |||
| p->addModel(modelHoldMeTight); | |||
| p->addModel(modelCyclicCA); | |||
| p->addModel(modelMusiMath); | |||
| } | |||
| } | |||
| static void initStatic__AmalgamatedHarmonics() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| @@ -2090,6 +2178,78 @@ static void initStatic__mscHack() | |||
| } | |||
| } | |||
| static void initStatic__MSM() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| pluginInstance__MSM = p; | |||
| const StaticPluginLoader spl(p, "MSM"); | |||
| if (spl.ok()) | |||
| { | |||
| #define modelADSR modelMSMADSR | |||
| #define modelBlankPanel modelMSMBlankPanel | |||
| #define modelDelay modelMSMDelay | |||
| #define modelLFO modelMSMLFO | |||
| #define modelMult modelMSMMult | |||
| #define modelNoise modelMSMNoise | |||
| #define modelVCA modelMSMVCA | |||
| #define modelVCO modelMSMVCO | |||
| p->addModel(modelVCO); | |||
| p->addModel(modelBVCO); | |||
| p->addModel(modelExperimentalVCO); | |||
| p->addModel(modelNoise); | |||
| p->addModel(modelLFO); | |||
| p->addModel(modelVCA); | |||
| p->addModel(modelADSR); | |||
| p->addModel(modelDelay); | |||
| p->addModel(modelWaveShaper); | |||
| p->addModel(modelWavefolder); | |||
| p->addModel(modelBitcrusher); | |||
| p->addModel(modelPhaserModule); | |||
| p->addModel(modelMorpher); | |||
| p->addModel(modelRingMod); | |||
| p->addModel(modelRandomSource); | |||
| p->addModel(modelMult); | |||
| p->addModel(modelCrazyMult); | |||
| p->addModel(modelFade); | |||
| p->addModel(modelSimpleSlider); | |||
| p->addModel(modelxseq); | |||
| p->addModel(modelBlankPanel); | |||
| #undef modelADSR | |||
| #undef modelBlankPanel | |||
| #undef modelDelay | |||
| #undef modelLFO | |||
| #undef modelMult | |||
| #undef modelNoise | |||
| #undef modelVCA | |||
| #undef modelVCO | |||
| } | |||
| } | |||
| static void initStatic__nonlinearcircuits() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| pluginInstance__nonlinearcircuits = p; | |||
| const StaticPluginLoader spl(p, "nonlinearcircuits"); | |||
| if (spl.ok()) | |||
| { | |||
| p->addModel(model4Seq); | |||
| p->addModel(modelCipher); | |||
| p->addModel(modelBOOLs); | |||
| p->addModel(modelDivideConquer); | |||
| p->addModel(modelDivineCMOS); | |||
| p->addModel(modelDoubleNeuron); | |||
| p->addModel(modelGenie); | |||
| p->addModel(modelLetsSplosh); | |||
| p->addModel(modelNeuron); | |||
| p->addModel(modelNumberwang); | |||
| p->addModel(modelSegue); | |||
| p->addModel(modelSquidAxon); | |||
| p->addModel(modelStatues); | |||
| } | |||
| } | |||
| static void initStatic__Orbits() | |||
| { | |||
| Plugin* const p = new Plugin; | |||
| @@ -2348,6 +2508,8 @@ void initStaticPlugins() | |||
| #ifndef NOPLUGINS | |||
| initStatic__21kHz(); | |||
| initStatic__8Mode(); | |||
| initStatic__AaronStatic(); | |||
| initStatic__Algoritmarte(); | |||
| initStatic__AmalgamatedHarmonics(); | |||
| initStatic__AnimatedCircuits(); | |||
| initStatic__Aria(); | |||
| @@ -2389,6 +2551,8 @@ void initStaticPlugins() | |||
| initStatic__MockbaModular(); | |||
| initStatic__Mog(); | |||
| initStatic__mscHack(); | |||
| initStatic__MSM(); | |||
| initStatic__nonlinearcircuits(); | |||
| initStatic__Orbits(); | |||
| initStatic__PathSet(); | |||
| initStatic__Prism(); | |||
| @@ -56,6 +56,19 @@ static const struct { | |||
| { "/21kHz/res/Panels/D_Inf.svg", {}, -1 }, | |||
| { "/21kHz/res/Panels/PalmLoop.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 | |||
| { "/Algoritmarte/res/Clockkky.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/CyclicCA.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/HoldMeTight.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/MusiFrog.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/MusiMath.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/Planetz.svg", {}, -1 }, | |||
| { "/Algoritmarte/res/Zefiro.svg", {}, -1 }, | |||
| // Custom, runtime dark mode used with permission | |||
| { "/AudibleInstruments/res/Blinds.svg", {}, -1 }, | |||
| { "/AudibleInstruments/res/Braids.svg", {}, -1 }, | |||
| @@ -252,6 +265,20 @@ static const struct { | |||
| { "/kocmoc/res/SKF.svg", {}, -1 }, | |||
| { "/kocmoc/res/SVF.svg", {}, -1 }, | |||
| { "/kocmoc/res/TRG.svg", {}, -1 }, | |||
| // CC0-1.0 | |||
| { "/nonlinearcircuits/res/NLC - 4seq.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - 8 BIT CIPHER.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/BOOLs2.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - DIVIDE & CONQUER.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - DIVINE CMOS.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/DoubleNeuronRef.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - GENiE.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/LetsSplosh.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - NEURON.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - NUMBERWANG.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - SEGUE.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/squid-axon-papernoise-panel2.svg", {}, -1 }, | |||
| { "/nonlinearcircuits/res/NLC - STATUES.svg", {}, -1 }, | |||
| // GPL-3.0-or-later | |||
| { "/PathSet/res/AstroVibe.svg", {}, -1 }, | |||
| { "/PathSet/res/IceTray.svg", {}, -1 }, | |||
| @@ -352,6 +379,29 @@ static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const c | |||
| } | |||
| } | |||
| // Special case for Nonlinear Circuits | |||
| if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/nonlinearcircuits/", 19) == 0) | |||
| { | |||
| switch (paint.color) | |||
| { | |||
| case 0xff9a7900: | |||
| case 0xff96782c: | |||
| case 0xff6a07ae: | |||
| case 0xffcf8044: | |||
| case 0xff2ac6ba: | |||
| case 0xff5ba85c: | |||
| case 0xffa97b00: | |||
| case 0xff9f7a00: | |||
| case 0xffff7300: | |||
| case 0xffa47b00: | |||
| case 0xffb09423: | |||
| return false; | |||
| case 0xffffffff: | |||
| paint.color = 0x00000000; | |||
| return true; | |||
| } | |||
| } | |||
| // Special case for PathSet colors | |||
| if (svgFileToInvert != nullptr && std::strncmp(svgFileToInvert, "/PathSet/", 9) == 0) | |||
| { | |||
| @@ -434,6 +484,7 @@ static inline bool invertPaint(NSVGshape* const shape, NSVGpaint& paint, const c | |||
| case 0xff0095fe: | |||
| case 0xff4d9a4d: | |||
| case 0xff4d4d9a: | |||
| case 0xff0187fc: | |||
| return false; | |||
| // pure black (convert to not quite pure white) | |||
| case 0xff000000: | |||