Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add starling via #173

Closed
wants to merge 17 commits into from
Closed
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -233,3 +233,6 @@
[submodule "plugins/DHE-Modules"]
path = plugins/DHE-Modules
url = https://github.com/dhemery/DHE-Modules.git
[submodule "plugins/StarlingVia"]
path = plugins/StarlingVia
url = https://github.com/starlingcode/Via-for-Rack.git
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,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)
Expand Down
2 changes: 2 additions & 0 deletions docs/LICENSES.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,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 | |
Expand Down Expand Up @@ -229,6 +230,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 | |
Expand Down
33 changes: 32 additions & 1 deletion plugins/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -996,8 +996,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
dromer marked this conversation as resolved.
Show resolved Hide resolved
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))

# --------------------------------------------------------------
Expand Down Expand Up @@ -2618,6 +2634,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 $<"
Expand Down
1 change: 1 addition & 0 deletions plugins/StarlingVia
Submodule StarlingVia added at 42e3c8
39 changes: 39 additions & 0 deletions plugins/plugins.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,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"

Expand Down Expand Up @@ -866,6 +876,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;
Expand Down Expand Up @@ -2844,6 +2855,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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the scale and wavetable macros are not needed here, not sure about it being needed on this file at all tbh

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, pretty sure I had conflicts when not defining these. can try again without

Copy link
Collaborator Author

@dromer dromer Jan 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, commented these out, rebuilt the StarlingVia components and it nearly builds.

Only at ttl generation do I now get what(): Manifest contains module SCANNER but it is not defined in plugin

#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;
Expand Down Expand Up @@ -3184,6 +3222,7 @@ void initStaticPlugins()
initStatic__repelzen();
initStatic__Sapphire();
initStatic__sonusmodular();
initStatic__StarlingVia();
initStatic__stocaudio();
initStatic__stoermelder_p1();
initStatic__surgext();
Expand Down
Loading