Browse Source

WIP: Add Substation Open Source release (broken)

pull/163/head
Simon-L 4 years ago
parent
commit
264de7eea0
4 changed files with 79 additions and 0 deletions
  1. +3
    -0
      .gitmodules
  2. +20
    -0
      plugins/Makefile
  3. +55
    -0
      plugins/plugins.cpp
  4. +1
    -0
      plugins/substation-opensource

+ 3
- 0
.gitmodules View File

@@ -127,3 +127,6 @@
[submodule "plugins/Autinn"]
path = plugins/Autinn
url = https://github.com/NikolaiVChr/Autinn.git
[submodule "plugins/substation-opensource"]
path = plugins/substation-opensource
url = https://gitlab.com/slimechild/substation-opensource.git

+ 20
- 0
plugins/Makefile View File

@@ -613,6 +613,16 @@ REPELZEN_CUSTOM = Blank Mixer Werner tanh_pade

PLUGIN_FILES += $(filter-out sonusmodular/src/sonusmodular,$(wildcard sonusmodular/src/*.cpp))

# --------------------------------------------------------------
# Substation (Open source release)

PLUGIN_FILES += $(wildcard substation-opensource/dep/slime4rack/src/slime/*.cpp)
PLUGIN_FILES += $(wildcard substation-opensource/dep/slime4rack/src/slime/**/*.cpp)
PLUGIN_FILES += $(filter-out substation-opensource/src/_plugin.cpp,$(wildcard substation-opensource/src/*.cpp))

# modules/types which are present in other plugins
SUBSTATION_CUSTOM = Clock Mixer Quantizer VCA init

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

@@ -1381,6 +1391,16 @@ $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp
$(foreach m,$(SONUSMODULAR_CUSTOM),$(call custom_module_names,$(m),sonusmodular)) \
-DpluginInstance=pluginInstance__sonusmodular

$(BUILD_DIR)/substation-opensource/%.cpp.o: substation-opensource/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(SUBSTATION_CUSTOM),$(call custom_module_names,$(m),substation)) \
-DpluginInstance=pluginInstance__substation \
-D'PRIVATE=__attribute__((error("Using internal Rack function or symbol")))' \
-Werror \
-Isubstation-opensource/dep/slime4rack/include

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


+ 55
- 0
plugins/plugins.cpp View File

@@ -492,6 +492,29 @@ extern Model* modelMaude_221;
// sonusmodular
#include "sonusmodular/src/sonusmodular.hpp"

//substation
// NOTE too much noise in original include, do this a different way
// "substation-opensource/src/_plugin.hpp"
#define modelClock modelsubstationClock
#define modelMixer modelsubstationMixer
#define modelQuantizer modelsubstationQuantizer
#define modelVCA modelsubstationVCA
extern Model* modelClock;
extern Model* modelPolySequencer;
extern Model* modelSubOscillator;
extern Model* modelMixer;
extern Model* modelFilter;
extern Model* modelEnvelopes;
extern Model* modelQuantizer;
extern Model* modelVCA;
extern Model* modelBlank4;
extern Model* modelBlank7;
extern Model* modelFilterPlus;
#undef modelClock
#undef modelMixer
#undef modelQuantizer
#undef modelVCA

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

@@ -558,6 +581,7 @@ Plugin* pluginInstance__Prism;
Plugin* pluginInstance__rackwindows;
Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__sonusmodular;
Plugin* pluginInstance__substation;
Plugin* pluginInstance__ValleyAudio;
Plugin* pluginInstance__ZetaCarinaeModules;
Plugin* pluginInstance__ZZC;
@@ -1786,6 +1810,36 @@ static void initStatic__sonusmodular()
}
}

static void initStatic__substation()
{
Plugin* const p = new Plugin;
pluginInstance__substation = p;

const StaticPluginLoader spl(p, "substation-opensource");
if (spl.ok())
{
#define modelClock modelsubstationClock
#define modelMixer modelsubstationMixer
#define modelQuantizer modelsubstationQuantizer
#define modelVCA modelsubstationVCA
p->addModel(modelClock);
p->addModel(modelEnvelopes);
p->addModel(modelFilter);
p->addModel(modelMixer);
p->addModel(modelQuantizer);
p->addModel(modelPolySequencer);
p->addModel(modelVCA);
p->addModel(modelSubOscillator);
p->addModel(modelBlank4);
p->addModel(modelBlank7);
p->addModel(modelFilterPlus);
#undef modelClock
#undef modelMixer
#undef modelQuantizer
#undef modelVCA
}
}

static void initStatic__ValleyAudio()
{
Plugin* const p = new Plugin;
@@ -1887,6 +1941,7 @@ void initStaticPlugins()
initStatic__rackwindows();
initStatic__repelzen();
initStatic__sonusmodular();
initStatic__substation();
initStatic__ValleyAudio();
initStatic__ZetaCarinaeModules();
initStatic__ZZC();


+ 1
- 0
plugins/substation-opensource

@@ -0,0 +1 @@
Subproject commit 5cf59e9364dcb03ee697b5135a39cc92f82af407

Loading…
Cancel
Save