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

4
.gitmodules vendored
View file

@ -236,7 +236,9 @@
[submodule "plugins/Computerscare"] [submodule "plugins/Computerscare"]
path = plugins/Computerscare path = plugins/Computerscare
url = https://github.com/freddyz/computerscare-vcv-modules.git url = https://github.com/freddyz/computerscare-vcv-modules.git
branch = v2.0.4
[submodule "plugins/CVfunk"] [submodule "plugins/CVfunk"]
path = plugins/CVfunk path = plugins/CVfunk
url = https://github.com/codygeary/CVfunk-Modules.git url = https://github.com/codygeary/CVfunk-Modules.git
[submodule "plugins/StarlingVia"]
path = plugins/StarlingVia
url = https://github.com/starlingcode/Via-for-Rack.git

View file

@ -186,6 +186,7 @@ At the moment the following 3rd-party modules are provided:
- [Sapphire](https://github.com/cosinekitty/sapphire) - [Sapphire](https://github.com/cosinekitty/sapphire)
- [Sonus Modular](https://gitlab.com/sonusdept/sonusmodular) - [Sonus Modular](https://gitlab.com/sonusdept/sonusmodular)
- [stocaudio](https://github.com/aptrn/stocaudio-modules) - [stocaudio](https://github.com/aptrn/stocaudio-modules)
- [Starling Via](https://github.com/starlingcode/Via-for-Rack)
- [Stoermelder Pack-One](https://github.com/stoermelder/vcvrack-packone) - [Stoermelder Pack-One](https://github.com/stoermelder/vcvrack-packone)
- [Surge XT](https://github.com/surge-synthesizer/surge-rack) - [Surge XT](https://github.com/surge-synthesizer/surge-rack)
- [unless_modules](https://gitlab.com/unlessgames/unless_modules) - [unless_modules](https://gitlab.com/unlessgames/unless_modules)

View file

@ -79,6 +79,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| RebelTech | GPL-2.0-or-later | | | RebelTech | GPL-2.0-or-later | |
| Sapphire | GPL-3.0-or-later | | | Sapphire | GPL-3.0-or-later | |
| Sonus Modular | GPL-3.0-or-later | | | Sonus Modular | GPL-3.0-or-later | |
| Starling Via | MIT | |
| stocaudio | GPL-3.0-or-later | | | stocaudio | GPL-3.0-or-later | |
| Stoermelder Pack-One | GPL-3.0-or-later | | | Stoermelder Pack-One | GPL-3.0-or-later | |
| Surge XT | GPL-3.0-or-later | | | Surge XT | GPL-3.0-or-later | |
@ -235,6 +236,7 @@ Below is a list of artwork licenses from plugins
| RebelTech/* | CC-BY-NC-4.0 | | | RebelTech/* | CC-BY-NC-4.0 | |
| Sapphire/* | GPL-3.0-or-later | No artwork specific license provided | | Sapphire/* | GPL-3.0-or-later | No artwork specific license provided |
| sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) | | sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) |
| StarlingVia/* | MIT | No artwork specific license provided |
| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided | | stocaudio/* | GPL-3.0-or-later | No artwork specific license provided |
| stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided | | stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided |
| stoermelder-packone/fonts/RedkostComic.otf | OFL-1.1-RFN | | | stoermelder-packone/fonts/RedkostComic.otf | OFL-1.1-RFN | |

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)) 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)) 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)) \ $(foreach m,$(SONUSMODULAR_CUSTOM),$(call custom_module_names,$(m),sonusmodular)) \
-DpluginInstance=pluginInstance__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 $(BUILD_DIR)/stoermelder-packone/%.cpp.o: stoermelder-packone/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<" @echo "Compiling $<"

1
plugins/StarlingVia Submodule

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

View file

@ -782,6 +782,16 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {}
// sonusmodular // sonusmodular
#include "sonusmodular/src/sonusmodular.hpp" #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 // stocaudio
#include "stocaudio/src/plugin.hpp" #include "stocaudio/src/plugin.hpp"
@ -914,6 +924,7 @@ Plugin* pluginInstance__RebelTech;
Plugin* pluginInstance__repelzen; Plugin* pluginInstance__repelzen;
Plugin* pluginInstance__sapphire; Plugin* pluginInstance__sapphire;
Plugin* pluginInstance__sonusmodular; Plugin* pluginInstance__sonusmodular;
extern Plugin* pluginInstance__StarlingVia;
Plugin* pluginInstance__stocaudio; Plugin* pluginInstance__stocaudio;
extern Plugin* pluginInstance__stoermelder_p1; extern Plugin* pluginInstance__stoermelder_p1;
Plugin* pluginInstance__surgext; 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() static void initStatic__stocaudio()
{ {
Plugin* const p = new Plugin; Plugin* const p = new Plugin;
@ -3329,6 +3367,7 @@ void initStaticPlugins()
initStatic__repelzen(); initStatic__repelzen();
initStatic__Sapphire(); initStatic__Sapphire();
initStatic__sonusmodular(); initStatic__sonusmodular();
initStatic__StarlingVia();
initStatic__stocaudio(); initStatic__stocaudio();
initStatic__stoermelder_p1(); initStatic__stoermelder_p1();
initStatic__surgext(); initStatic__surgext();