Add Starling Via (#636)

* adding Starling Via

* update StarlingVia with async file dialogs; adjust plugins/Makefile

* include plugin binaries

* custom defines for StarlingVia

* extern StarlingVia

* update starlingvia

* use newer StarlingVia commit

* Fix memory issues in StarlingVia

Signed-off-by: falkTX <falktx@falktx.com>

---------

Signed-off-by: falkTX <falktx@falktx.com>
Co-authored-by: dreamer <dreamer@puikheid.nl>
Co-authored-by: dreamer <1185977+dromer@users.noreply.github.com>
This commit is contained in:
Filipe Coelho 2024-04-04 17:16:50 +02:00 committed by GitHub
parent 106c6dd3d9
commit 0f405dd45b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 79 additions and 3 deletions

View file

@ -1012,8 +1012,24 @@ PLUGIN_FILES += $(filter-out Sapphire/src/plugin.cpp,$(wildcard Sapphire/src/*.c
PLUGIN_FILES += $(filter-out sonusmodular/src/sonusmodular.cpp,$(wildcard sonusmodular/src/*.cpp))
# --------------------------------------------------------------
# stocaudio
# Starling Via
PLUGIN_FILES += $(wildcard StarlingVia/src/*.cpp)
PLUGIN_FILES += $(wildcard StarlingVia/Via/io/src/*.cpp)
PLUGIN_FILES += $(wildcard StarlingVia/Via/ui/src/*.cpp)
PLUGIN_FILES += $(wildcard StarlingVia/Via/modules/*/*.cpp)
PLUGIN_BINARIES += StarlingVia/res/original.gateseq
PLUGIN_BINARIES += StarlingVia/res/original.meta
PLUGIN_BINARIES += StarlingVia/res/original.osc3
PLUGIN_BINARIES += StarlingVia/res/original.scanner
PLUGIN_BINARIES += StarlingVia/res/original.sync
PLUGIN_BINARIES += StarlingVia/res/original.sync3
# modules/types which are present in other plugins
STARLINGVIA_CUSTOM = Scanner Scale Wavetable
# --------------------------------------------------------------
# stocaudio
PLUGIN_FILES += $(filter-out stocaudio/src/plugin.cpp,$(wildcard stocaudio/src/*.cpp))
# --------------------------------------------------------------
@ -2645,6 +2661,21 @@ $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp
$(foreach m,$(SONUSMODULAR_CUSTOM),$(call custom_module_names,$(m),sonusmodular)) \
-DpluginInstance=pluginInstance__sonusmodular
$(BUILD_DIR)/StarlingVia/%.cpp.o: StarlingVia/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(STARLINGVIA_CUSTOM),$(call custom_module_names,$(m),StarlingVia)) \
-DpluginInstance=pluginInstance__StarlingVia \
-DBUILD_VIRTUAL \
-IStarlingVia/dep/starling-dsp \
-IStarlingVia/Via/modules/inc \
-IStarlingVia/Via/synthesis/inc \
-IStarlingVia/Via/io/inc \
-IStarlingVia/Via/ui/inc \
-IStarlingVia/src/dep/starling-dsp \
-IStarlingVia/src/dep/starling-rack-ui
$(BUILD_DIR)/stoermelder-packone/%.cpp.o: stoermelder-packone/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"

1
plugins/StarlingVia Submodule

@ -0,0 +1 @@
Subproject commit a6b75fddc2df624ba64dab70c2e35b8e48ad8c1d

View file

@ -782,6 +782,16 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {}
// sonusmodular
#include "sonusmodular/src/sonusmodular.hpp"
// Starling Via
#define modelScanner modelStarlingViaScanner
#define Scale starlingViaScale
#define Wavetable starlingViaWavetable
#include "StarlingVia/src/starling.hpp"
#undef modelScanner
#undef Scale
#undef Wavetable
// stocaudio
#include "stocaudio/src/plugin.hpp"
@ -914,6 +924,7 @@ Plugin* pluginInstance__RebelTech;
Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__sapphire;
Plugin* pluginInstance__sonusmodular;
extern Plugin* pluginInstance__StarlingVia;
Plugin* pluginInstance__stocaudio;
extern Plugin* pluginInstance__stoermelder_p1;
Plugin* pluginInstance__surgext;
@ -2987,6 +2998,33 @@ static void initStatic__sonusmodular()
}
}
static void initStatic__StarlingVia()
{
Plugin* const p = new Plugin;
pluginInstance__StarlingVia = p;
const StaticPluginLoader spl(p, "StarlingVia");
if (spl.ok())
{
#define modelScanner modelStarlingViaScanner
#define Scale starlingViaScale
#define Wavetable starlingViaWavetable
p->addModel(modelMeta);
p->addModel(modelGateseq);
p->addModel(modelScanner);
p->addModel(modelSync);
p->addModel(modelAtsr);
p->addModel(modelOsc3);
p->addModel(modelSync3);
p->addModel(modelSync3XL);
p->addModel(modelSync3XLLevels);
#undef modelScanner
#undef Scale
#undef Wavetable
}
}
static void initStatic__stocaudio()
{
Plugin* const p = new Plugin;
@ -3329,6 +3367,7 @@ void initStaticPlugins()
initStatic__repelzen();
initStatic__Sapphire();
initStatic__sonusmodular();
initStatic__StarlingVia();
initStatic__stocaudio();
initStatic__stoermelder_p1();
initStatic__surgext();