Browse Source

Start work on TheXOR, still WIP

Signed-off-by: falkTX <falktx@falktx.com>
the-xor
falkTX 3 years ago
parent
commit
7822824e48
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
7 changed files with 165 additions and 19 deletions
  1. +3
    -0
      .gitmodules
  2. +1
    -0
      README.md
  3. +4
    -0
      docs/LICENSES.md
  4. +15
    -0
      plugins/Makefile
  5. +1
    -0
      plugins/TheXOR
  6. +108
    -1
      plugins/plugins.cpp
  7. +33
    -18
      plugins/todo.txt

+ 3
- 0
.gitmodules View File

@@ -181,3 +181,6 @@
[submodule "plugins/MSM"]
path = plugins/MSM
url = https://github.com/netboy3/MSM-vcvrack-plugin.git
[submodule "plugins/TheXOR"]
path = plugins/TheXOR
url = https://github.com/CardinalModules/TheXOR.git

+ 1
- 0
README.md View File

@@ -153,6 +153,7 @@ At the moment the following 3rd-party modules are provided:
- Sonus Modular
- stocaudio
- Substation Opensource
- TheXOR
- Valley
- ZetaCarinae
- ZZC


+ 4
- 0
docs/LICENSES.md View File

@@ -64,6 +64,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| Substation Opensource | BSD-3-Clause-Attribution | Need to check full compatibility with GPLv3+ |
| Sonus Modular | GPL-3.0-or-later | |
| stocaudio | GPL-3.0-or-later | |
| TheXOR | CC0-1.0 | |
| Valley | GPL-3.0-or-later | |
| ZetaCarinae | GPL-3.0-or-later | |
| ZZC | GPL-3.0-or-later | |
@@ -178,6 +179,9 @@ Below is a list of artwork licenses from plugins
| substation-opensource/* | BSD-3-Clause-Attribution | No artwork specific license provided |
| sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) |
| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided |
| TheXOR/* | CC0-1.0 | No artwork specific license provided |
| TheXOR/FreeMonoBold.ttf | GPL-3.0-with-font-exception | |
| TheXOR/Segment7Standard.ttf | OFL-1.1-RFN | |
| ValleyAudio/* | GPL-3.0-or-later | [Same license as source code](https://github.com/ValleyAudio/ValleyRackFree/issues/73) |
| ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | |
| ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | |


+ 15
- 0
plugins/Makefile View File

@@ -739,6 +739,14 @@ PLUGIN_FILES += $(wildcard substation-opensource/dep/slime4rack/src/slime/**/*.c
PLUGIN_FILES += $(filter-out substation-opensource/src/_plugin.cpp substation-opensource/src/Settings.cpp,$(wildcard substation-opensource/src/*.cpp))
PLUGIN_FILES += substation-settings/Settings.cpp

# --------------------------------------------------------------
# TheXOR

PLUGIN_FILES += TheXOR/src/Sequencers.cpp
PLUGIN_FILES += TheXOR/src/common.cpp
PLUGIN_FILES += TheXOR/src/ascii.cpp
PLUGIN_FILES += TheXOR/src/empty.cpp

# --------------------------------------------------------------
# ValleyAudio

@@ -1642,6 +1650,13 @@ $(BUILD_DIR)/substation-%.cpp.o: substation-%.cpp
-D'PRIVATE=__attribute__((error("Using internal Rack function or symbol")))' \
-Isubstation-opensource/dep/slime4rack/include

$(BUILD_DIR)/TheXOR/%.cpp.o: TheXOR/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(THEXOR_CUSTOM),$(call custom_module_names,$(m),TheXOR)) \
-DpluginInstance=pluginInstance__TheXOR

$(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"


+ 1
- 0
plugins/TheXOR

@@ -0,0 +1 @@
Subproject commit 689d178a6ba86d49aade4517caeffb8fbd0e0dc5

+ 108
- 1
plugins/plugins.cpp View File

@@ -641,7 +641,7 @@ extern Model* modelBlankPanel;

// substation
/* NOTE too much noise in original include, do this a different way
// "substation-opensource/src/_plugin.hpp"
// #include "substation-opensource/src/_plugin.hpp"
*/
namespace slime {
namespace plugin {
@@ -659,6 +659,53 @@ extern Model* modelBlank7;
extern Model* modelFilterPlus;
}}}

// TheXOR
/* NOTE custom implementation, no header file definition possible to include */
namespace TheXOR {
extern Model* modelKlee;
extern Model* modelkExp;
extern Model* modelM581;
extern Model* modelM581TExp;
extern Model* modelM581CExp;
extern Model* modelM581MExp;
extern Model* modelM581VExp;
extern Model* modelZ8K;
extern Model* modelZ8KVExp;
extern Model* modelZ8KCExp;
extern Model* modelZ8KMExp;
extern Model* modelZ8KTExp;
extern Model* modelZ8KXExp;
extern Model* modelRenato;
extern Model* modelSpiralone;
extern Model* modelBurst;
extern Model* modelUncertain;
extern Model* modelPWMClock;
extern Model* modelQuantizer;
extern Model* modelAttAmp;
extern Model* modelXSwitch;
extern Model* modelBoole;
extern Model* modelMplex;
extern Model* modelDmplex;
extern Model* modelCounter;
extern Model* modelmidyQuant;
extern Model* modelnag;
extern Model* modelempty;
extern Model* modelascii;
extern Model* modelquattro;
extern Model* modelflop;
extern Model* modelo88o;
extern Model* modelvolt;
extern Model* modelNordschleife;
extern Model* modelRR;
extern Model* modelchords;
extern Model* modelc2v;
extern Model* modelc3v;
extern Model* modeldice;
extern Model* modelgate;
extern Model* modelPWC;
extern Model* modelcclk;
}

// ValleyAudio
#include "ValleyAudio/src/Valley.hpp"

@@ -743,6 +790,7 @@ Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__sonusmodular;
Plugin* pluginInstance__stocaudio;
Plugin* pluginInstance__substation;
Plugin* pluginInstance__TheXOR;
Plugin* pluginInstance__ValleyAudio;
Plugin* pluginInstance__ZetaCarinaeModules;
Plugin* pluginInstance__ZZC;
@@ -2383,6 +2431,64 @@ static void initStatic__substation()
}
}

static void initStatic__TheXOR()
{
Plugin* const p = new Plugin;
pluginInstance__TheXOR = p;

const StaticPluginLoader spl(p, "TheXOR");
if (spl.ok())
{
p->addModel(TheXOR::modelempty);
p->addModel(TheXOR::modelascii);
/*
p->addModel(TheXOR::modelKlee);
p->addModel(TheXOR::modelkExp);
p->addModel(TheXOR::modelM581);
p->addModel(TheXOR::modelM581TExp);
p->addModel(TheXOR::modelM581CExp);
p->addModel(TheXOR::modelM581MExp);
p->addModel(TheXOR::modelM581VExp);
p->addModel(TheXOR::modelZ8K);
p->addModel(TheXOR::modelZ8KVExp);
p->addModel(TheXOR::modelZ8KCExp);
p->addModel(TheXOR::modelZ8KMExp);
p->addModel(TheXOR::modelZ8KTExp);
p->addModel(TheXOR::modelZ8KXExp);
p->addModel(TheXOR::modelRenato);
p->addModel(TheXOR::modelSpiralone);
p->addModel(TheXOR::modelBurst);
p->addModel(TheXOR::modelUncertain);
p->addModel(TheXOR::modelPWMClock);
p->addModel(TheXOR::modelQuantizer);
p->addModel(TheXOR::modelAttAmp);
p->addModel(TheXOR::modelXSwitch);
p->addModel(TheXOR::modelBoole);
p->addModel(TheXOR::modelMplex);
p->addModel(TheXOR::modelDmplex);
p->addModel(TheXOR::modelCounter);
p->addModel(TheXOR::modelmidyQuant);
p->addModel(TheXOR::modelnag);
p->addModel(TheXOR::modelempty);
p->addModel(TheXOR::modelascii);
p->addModel(TheXOR::modelquattro);
p->addModel(TheXOR::modelflop);
p->addModel(TheXOR::modelo88o);
p->addModel(TheXOR::modelvolt);
p->addModel(TheXOR::modelNordschleife);
p->addModel(TheXOR::modelRR);
p->addModel(TheXOR::modelchords);
p->addModel(TheXOR::modelc2v);
p->addModel(TheXOR::modelc3v);
p->addModel(TheXOR::modeldice);
p->addModel(TheXOR::modelgate);
p->addModel(TheXOR::modelPWC);
p->addModel(TheXOR::modelcclk);
*/
// spl.removeModule("Str1ker");
}
}

static void initStatic__ValleyAudio()
{
Plugin* const p = new Plugin;
@@ -2502,6 +2608,7 @@ void initStaticPlugins()
initStatic__sonusmodular();
initStatic__stocaudio();
initStatic__substation();
initStatic__TheXOR();
initStatic__ValleyAudio();
initStatic__ZetaCarinaeModules();
initStatic__ZZC();


+ 33
- 18
plugins/todo.txt View File

@@ -2,14 +2,11 @@ List of plugins still to add, sorted by popularity

- TODO, see list at https://github.com/VCVRack/library/tree/v2/repos

Grayscale 74754.0 (not opensource?)
Grayscale 74754.0 (not opensource)

VultModulesFree 61804.0 (not opensource?)
VultModulesFree 61804.0 (not opensource)

NYSTHI 58494.0 (not opensource?)

ML_modules 55847.0
https://github.com/martin-lueders/ML_modules/
NYSTHI 58494.0 (not opensource)

FrozenWasteland 53690.0 (GPL-3.0-only)
https://github.com/almostEric/FrozenWasteland/
@@ -17,10 +14,10 @@ https://github.com/almostEric/FrozenWasteland/
ArableInstruments 48756.0
https://github.com/adbrant/ArableInstruments/

squinkylabs-plug1 48682.0
squinkylabs-plug1 48682.0 (GPL-3.0-only)
https://github.com/squinkylabs/SquinkyVCV

LindenbergResearch 43959.0 (not opensource?)
LindenbergResearch 43959.0 (not opensource)

Geodesics 42761.0 (GPL-3.0-only)
https://github.com/MarcBoule/Geodesics
@@ -29,23 +26,41 @@ Alikins 41798.0
https://github.com/alikins/Alikins-rack-plugins

dBiz 40849.0
https://github.com/DISTRHO/Cardinal/pull/166 WIP

RJModules 39972.0
https://github.com/Miserlou/RJModules (needs v2 work)

DHE-Modules 39582.0
AlrightDevices 38307.0
https://github.com/dhemery/DHE-Modules/

AlrightDevices 38307.0 (not opensource)

SynthKit 38228.0
SubmarineFree 38146.0
Hora-treasureFree 37847.0
https://github.com/SVModular/SynthKit/

SubmarineFree 38146.0 (GPL-3.0-only)
https://github.com/david-c14/SubmarineFree

Hora-treasureFree 37847.0 (not opensource)

ParableInstruments 37781.0
CountModula 37759.0
MSM 37337.0
https://github.com/adbrant/ArableInstruments/

CountModula 37759.0 (GPL-3.0-only)
https://github.com/countmodula/VCVRackPlugins/

CharredDesert 36813.0
EricaCopies 36556.0
TheXOR 36497.0
Autinn 34990.0
https://github.com/SVModular/CharredDesert/

EricaCopies 36556.0 (not opensource)

trowaSoft 34946.0
Hora-VCO_VCF_VCA_Free 34770.0
https://github.com/j4s0n-c/trowaSoft-VCV/

Hora-VCO_VCF_VCA_Free 34770.0 (not opensource)

moDllz 34368.0
21kHz 34172.0
Ohmer 33950.0
modular80 33447.0
Autodafe-DrumKit 33143.0


Loading…
Cancel
Save