Browse Source

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>
tags/24.04
Filipe Coelho GitHub 1 year ago
parent
commit
0f405dd45b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
6 changed files with 79 additions and 3 deletions
  1. +4
    -2
      .gitmodules
  2. +1
    -0
      README.md
  3. +2
    -0
      docs/LICENSES.md
  4. +32
    -1
      plugins/Makefile
  5. +1
    -0
      plugins/StarlingVia
  6. +39
    -0
      plugins/plugins.cpp

+ 4
- 2
.gitmodules View File

@@ -236,7 +236,9 @@
[submodule "plugins/Computerscare"]
path = plugins/Computerscare
url = https://github.com/freddyz/computerscare-vcv-modules.git
branch = v2.0.4
[submodule "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

+ 1
- 0
README.md View File

@@ -186,6 +186,7 @@ At the moment the following 3rd-party modules are provided:
- [Sapphire](https://github.com/cosinekitty/sapphire)
- [Sonus Modular](https://gitlab.com/sonusdept/sonusmodular)
- [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)
- [Surge XT](https://github.com/surge-synthesizer/surge-rack)
- [unless_modules](https://gitlab.com/unlessgames/unless_modules)


+ 2
- 0
docs/LICENSES.md 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 | |
| Sapphire | GPL-3.0-or-later | |
| Sonus Modular | GPL-3.0-or-later | |
| Starling Via | MIT | |
| stocaudio | GPL-3.0-or-later | |
| Stoermelder Pack-One | 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 | |
| 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) |
| StarlingVia/* | MIT | 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/fonts/RedkostComic.otf | OFL-1.1-RFN | |


+ 32
- 1
plugins/Makefile 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
- 0
plugins/StarlingVia

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

+ 39
- 0
plugins/plugins.cpp 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();


Loading…
Cancel
Save