Browse Source

Merge branch 'aria' into main

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.02
falkTX 3 years ago
parent
commit
40c086b789
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
9 changed files with 145 additions and 24 deletions
  1. +3
    -0
      .gitmodules
  2. +32
    -1
      deps/Makefile
  3. +1
    -0
      plugins/AriaModules
  4. +1
    -1
      plugins/ImpromptuModular
  5. +15
    -0
      plugins/Makefile
  6. +1
    -1
      plugins/MindMeldModular
  7. +90
    -21
      plugins/plugins.cpp
  8. +1
    -0
      plugins/res/AriaModules
  9. +1
    -0
      src/Makefile.cardinal.mk

+ 3
- 0
.gitmodules View File

@@ -79,3 +79,6 @@
[submodule "plugins/repelzen"]
path = plugins/repelzen
url = https://github.com/wiqid/repelzen.git
[submodule "plugins/AriaModules"]
path = plugins/AriaModules
url = https://github.com/CardinalModules/AriaModules.git

+ 32
- 1
deps/Makefile View File

@@ -130,7 +130,7 @@ DEP_MAKE += DEP_MAC_SDK_FLAGS=
DEP_MAKE += MACHINE=$(MACHINE)$(MACHINE_SUFFIX)

# --------------------------------------------------------------
# VCV internal dependencies target
# Rack internal dependencies target

$(DEP_PATH)/lib/%.a:
$(DEP_MAKE) -C $(DEP_PATH) lib/$*.a
@@ -176,10 +176,40 @@ $(DEP_PATH)/zstd-1.4.5/.stamp-patched:
sed -i -e "142,144d" $(DEP_PATH)/zstd-1.4.5/programs/util.c
touch $@

# --------------------------------------------------------------
# QuickJS target, needed for AriaModules

QUICKJS_MAKE_FLAGS = CFLAGS="$(BUILD_C_FLAGS) -D_GNU_SOURCE -DCONFIG_VERSION='\"Cardinal\"' -w"
QUICKJS_MAKE_FLAGS += PROGS=libquickjs.a

ifeq ($(WITH_LTO),true)
QUICKJS_MAKE_FLAGS += CONFIG_LTO=y
else
QUICKJS_MAKE_FLAGS += CONFIG_LTO=n
endif

ifeq ($(WINDOWS),true)
QUICKJS_MAKE_FLAGS += CONFIG_WIN32=y
else ifeq ($(MACOS),true)
QUICKJS_MAKE_FLAGS += CONFIG_DARWIN=y
endif

$(DEP_PATH)/lib/libquickjs.a: $(DEP_PATH)/QuickJS
$(DEP_MAKE) $(QUICKJS_MAKE_FLAGS) -C $(DEP_PATH)/QuickJS
install -d $(DEP_PATH)/include
install -d $(DEP_PATH)/lib
install -m644 $(DEP_PATH)/QuickJS/libquickjs.a $@
install -m644 $(DEP_PATH)/QuickJS/quickjs.h $(DEP_PATH)/include/quickjs.h

$(DEP_PATH)/QuickJS:
git clone "https://github.com/JerrySievert/QuickJS.git" $(DEP_PATH)/QuickJS
git -C $(DEP_PATH)/QuickJS checkout b70d5344013836544631c361ae20569b978176c9

# --------------------------------------------------------------
# Build targets

TARGETS += $(DEP_PATH)/lib/libjansson.a
TARGETS += $(DEP_PATH)/lib/libquickjs.a
TARGETS += $(DEP_PATH)/lib/libsamplerate.a
TARGETS += $(DEP_PATH)/lib/libspeexdsp.a

@@ -206,5 +236,6 @@ clean:
rm -rf $(DEP_PATH)/libsamplerate-0.1.9
rm -rf $(DEP_PATH)/speexdsp-SpeexDSP-1.2rc3
rm -rf $(DEP_PATH)/zstd-1.4.5
rm -rf $(DEP_PATH)/QuickJS

# --------------------------------------------------------------

+ 1
- 0
plugins/AriaModules

@@ -0,0 +1 @@
Subproject commit 90f8009e1431341225c616bb3a9c250b02bce2c1

+ 1
- 1
plugins/ImpromptuModular

@@ -1 +1 @@
Subproject commit b5215ae3e907fab07ebd1fc3098a678306065483
Subproject commit e80c8cb0873fbccca2d382d564e69b1a88ecb1f5

+ 15
- 0
plugins/Makefile View File

@@ -207,6 +207,14 @@ AMALGAMATEDHARMONICS_CUSTOM += bogaudio

PLUGIN_FILES += $(wildcard AnimatedCircuits/src/Folding/*.cpp)

# --------------------------------------------------------------
# Aria

PLUGIN_FILES += $(filter-out AriaModules/src/Arcane.cpp AriaModules/src/plugin.cpp,$(wildcard AriaModules/src/*.cpp))

# modules/types which are present in other plugins
ARIA_CUSTOM = Blank

# --------------------------------------------------------------
# AS

@@ -775,6 +783,13 @@ $(BUILD_DIR)/AnimatedCircuits/%.cpp.o: AnimatedCircuits/%.cpp
$(foreach m,$(ANIMATEDCIRCUITS_CUSTOM),$(call custom_module_names,$(m),AnimatedCircuits)) \
-DpluginInstance=pluginInstance__AnimatedCircuits

$(BUILD_DIR)/AriaModules/%.cpp.o: AriaModules/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(ARIA_CUSTOM),$(call custom_module_names,$(m),Aria)) \
-DpluginInstance=pluginInstance__Aria

$(BUILD_DIR)/AS/%.cpp.o: AS/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"


+ 1
- 1
plugins/MindMeldModular

@@ -1 +1 @@
Subproject commit 1f63e91e1e32bf31bc5dbccf5b924316f69f45f9
Subproject commit 0ef9be3619f822849f5a4621380777a6c39a2aa6

+ 90
- 21
plugins/plugins.cpp View File

@@ -30,6 +30,33 @@
// AnimatedCircuits
#include "AnimatedCircuits/src/plugin.hpp"

// Aria
/* NOTE too much noise in original include, do this a different way
// #include "AriaModules/src/plugin.hpp"
*/
#define modelBlank modelAriaBlank
extern Model *modelSplort;
extern Model *modelSmerge;
extern Model *modelSpleet;
extern Model *modelSwerge;
extern Model *modelSplirge;
// extern Model *modelSrot;
extern Model *modelQqqq;
extern Model *modelQuack;
extern Model *modelQ;
extern Model *modelQuale;
extern Model *modelDarius;
extern Model *modelSolomon4;
extern Model *modelSolomon8;
extern Model *modelSolomon16;
extern Model *modelPsychopump;
extern Model *modelPokies4;
extern Model *modelGrabby;
extern Model *modelRotatoes4;
extern Model *modelUndular;
extern Model *modelBlank;
#undef modelBlank

// AS
#define modelADSR modelASADSR
#define modelVCA modelASVCA
@@ -327,6 +354,7 @@ Plugin* pluginInstance__Cardinal;
#ifndef NOPLUGINS
Plugin* pluginInstance__AmalgamatedHarmonics;
Plugin* pluginInstance__AnimatedCircuits;
Plugin* pluginInstance__Aria;
Plugin* pluginInstance__AS;
Plugin* pluginInstance__Atelier;
Plugin* pluginInstance__AudibleInstruments;
@@ -429,6 +457,29 @@ struct StaticPluginLoader {
{
return rootJ != nullptr;
}

void removeModule(const char* const slugToRemove) const noexcept
{
json_t* const modules = json_object_get(rootJ, "modules");
DISTRHO_SAFE_ASSERT_RETURN(modules != nullptr,);

size_t i;
json_t* v;
json_array_foreach(modules, i, v)
{
if (json_t* const slug = json_object_get(v, "slug"))
{
if (const char* const value = json_string_value(slug))
{
if (std::strcmp(value, slugToRemove) == 0)
{
json_array_remove(modules, i);
break;
}
}
}
}
}
};

static void initStatic__Core()
@@ -516,6 +567,43 @@ static void initStatic__AnimatedCircuits()
}
}

static void initStatic__Aria()
{
Plugin* const p = new Plugin;
pluginInstance__Aria = p;

const StaticPluginLoader spl(p, "AriaModules");
if (spl.ok())
{
#define modelBlank modelAriaBlank
p->addModel(modelSplort);
p->addModel(modelSmerge);
p->addModel(modelSpleet);
p->addModel(modelSwerge);
p->addModel(modelSplirge);
// p->addModel(modelSrot);
p->addModel(modelQqqq);
p->addModel(modelQuack);
p->addModel(modelQ);
p->addModel(modelQuale);
p->addModel(modelDarius);
p->addModel(modelSolomon4);
p->addModel(modelSolomon8);
p->addModel(modelSolomon16);
p->addModel(modelPsychopump);
p->addModel(modelPokies4);
p->addModel(modelGrabby);
p->addModel(modelRotatoes4);
p->addModel(modelUndular);
p->addModel(modelBlank);
#undef modelBlank
// NOTE disabled in Cardinal due to online requirement
spl.removeModule("Arcane");
spl.removeModule("Atout");
spl.removeModule("Aleister");
}
}

static void initStatic__AS()
{
Plugin* const p = new Plugin;
@@ -711,27 +799,7 @@ static void initStatic__Bidoo()

// NOTE disabled in Cardinal due to curl usage
// p->addModel(modelANTN);

// intentionally remove known bad plugin
if (json_t* const modules = json_object_get(spl.rootJ, "modules"))
{
size_t i;
json_t* v;
json_array_foreach(modules, i, v)
{
if (json_t* const slug = json_object_get(v, "slug"))
{
if (const char* const value = json_string_value(slug))
{
if (std::strcmp(value, "antN") == 0)
{
json_array_remove(modules, i);
break;
}
}
}
}
}
spl.removeModule("antN");
}
}

@@ -1289,6 +1357,7 @@ void initStaticPlugins()
#ifndef NOPLUGINS
initStatic__AmalgamatedHarmonics();
initStatic__AnimatedCircuits();
initStatic__Aria();
initStatic__AS();
initStatic__Atelier();
initStatic__AudibleInstruments();


+ 1
- 0
plugins/res/AriaModules View File

@@ -0,0 +1 @@
../AriaModules/res/

+ 1
- 0
src/Makefile.cardinal.mk View File

@@ -96,6 +96,7 @@ RACK_EXTRA_LIBS += ../rack.a

ifneq ($(SYSDEPS),true)
RACK_EXTRA_LIBS += ../Rack/dep/lib/libjansson.a
RACK_EXTRA_LIBS += ../Rack/dep/lib/libquickjs.a
RACK_EXTRA_LIBS += ../Rack/dep/lib/libsamplerate.a
RACK_EXTRA_LIBS += ../Rack/dep/lib/libspeexdsp.a
ifeq ($(WINDOWS),true)


Loading…
Cancel
Save