diff --git a/.gitmodules b/.gitmodules index 48adb33..ca43258 100644 --- a/.gitmodules +++ b/.gitmodules @@ -61,3 +61,6 @@ [submodule "plugins/ValleyAudio"] path = plugins/ValleyAudio url = https://github.com/ValleyAudio/ValleyRackFree.git +[submodule "plugins/DrumKit"] + path = plugins/DrumKit + url = https://github.com/SVModular/DrumKit.git diff --git a/plugins/DrumKit b/plugins/DrumKit new file mode 160000 index 0000000..58755a3 --- /dev/null +++ b/plugins/DrumKit @@ -0,0 +1 @@ +Subproject commit 58755a32837522a64b6b886b764dbefc9a2b8fd3 diff --git a/plugins/Makefile b/plugins/Makefile index 5e4a541..7035204 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -341,6 +341,18 @@ BOGAUDIO_CUSTOM_PER_FILE = ARQuantity AttackMenuItem ReleaseMenuItem PLUGIN_FILES += $(filter-out cf/src/plugin.cpp,$(wildcard cf/src/*.cpp)) +# -------------------------------------------------------------- +# DrumKit + +PLUGIN_FILES += $(wildcard DrumKit/src/*.cpp) +PLUGIN_FILES += $(wildcard DrumKit/src/controller/*.cpp) +PLUGIN_FILES += $(wildcard DrumKit/src/view/*.cpp) +PLUGIN_FILES += $(wildcard DrumKit/src/model/*.cpp) +PLUGIN_FILES += $(wildcard DrumKit/deps/*.cpp) +PLUGIN_FILES += $(wildcard DrumKit/deps/SynthDevKit/src/*.cpp) + +DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator + # -------------------------------------------------------------- # ESeries @@ -749,6 +761,14 @@ $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp $(foreach m,$(CF_CUSTOM),$(call custom_module_names,$(m),cf)) \ -DpluginInstance=pluginInstance__cf +$(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(DRUMKIT_CUSTOM),$(call custom_module_names,$(m),DrumKit)) \ + -DpluginInstance=pluginInstance__DrumKit \ + -Dinit=init__DrumKit + $(BUILD_DIR)/ESeries/%.cpp.o: ESeries/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" @@ -783,8 +803,8 @@ $(BUILD_DIR)/ImpromptuModular/%.cpp.o: ImpromptuModular/%.cpp $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename $*))) \ - -Dinit=init__ImpromptuModular \ - -DpluginInstance=pluginInstance__ImpromptuModular + -DpluginInstance=pluginInstance__ImpromptuModular \ + -Dinit=init__ImpromptuModular $(BUILD_DIR)/ImpromptuModular/src/Foundr%.cpp.o: ImpromptuModular/src/Foundr%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 048ef40..b5a2cfd 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -172,6 +172,9 @@ // cf #include "cf/src/plugin.hpp" +// DrumKit +#include "DrumKit/src/DrumKit.hpp" + // ESeries #include "ESeries/src/plugin.hpp" @@ -267,6 +270,7 @@ Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; Plugin* pluginInstance__cf; +extern Plugin* pluginInstance__DrumKit; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__Fundamental; Plugin* pluginInstance__GrandeModular; @@ -826,6 +830,29 @@ static void initStatic__cf() } } +static void initStatic__DrumKit() +{ + Plugin* const p = new Plugin; + pluginInstance__DrumKit = p; + + const StaticPluginLoader spl(p, "DrumKit"); + if (spl.ok()) + { + p->addModel(modelBD9); + p->addModel(modelSnare); + p->addModel(modelClosedHH); + p->addModel(modelOpenHH); + p->addModel(modelDMX); + p->addModel(modelCR78); + p->addModel(modelSBD); + p->addModel(modelGnome); + p->addModel(modelSequencer); + p->addModel(modelTomi); + p->addModel(modelBaronial); + p->addModel(modelMarionette); + } +} + static void initStatic__ESeries() { Plugin* const p = new Plugin; @@ -1085,6 +1112,7 @@ void initStaticPlugins() initStatic__Bidoo(); initStatic__BogaudioModules(); initStatic__cf(); + initStatic__DrumKit(); initStatic__ESeries(); initStatic__Fundamental(); initStatic__GrandeModular();