initial work for PdArray (#658)

* initial work for PdArray

* custom name for TextBox

* use DRWAV as custom for PdArray

* invert PdArray panels

* some more symbol fixes?

* Cleanup

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

* Fix typo

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

* Fix uninitialized values

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

---------

Signed-off-by: falkTX <falktx@falktx.com>
Co-authored-by: falkTX <falktx@falktx.com>
This commit is contained in:
dreamer 2024-05-04 02:29:43 +02:00 committed by GitHub
parent 8777f99e90
commit 646f01d114
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 62 additions and 6 deletions

3
.gitmodules vendored
View file

@ -245,3 +245,6 @@
[submodule "plugins/Biset"]
path = plugins/Biset
url = https://github.com/gibbonjoyeux/VCV-Biset.git
[submodule "plugins/PdArray"]
path = plugins/PdArray
url = https://github.com/mgunyho/PdArray.git

View file

@ -178,6 +178,7 @@ At the moment the following 3rd-party modules are provided:
- [Orbits](https://github.com/RareBreeds/Orbits)
- [Parable Instruments](https://github.com/adbrant/ArableInstruments)
- [Path Set](https://github.com/patheros/PathSetModules)
- [PdArray](https://github.com/mgunyho/PdArray)
- [PinkTrombone](https://github.com/VegaDeftwing/PinkTromboneVCV)
- [Prism](https://github.com/SteveRussell33/Prism)
- [rackwindows](https://github.com/n0jo/rackwindows)

View file

@ -73,6 +73,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| Orbits | GPL-3.0-or-later | |
| Parable Instruments | GPL-3.0-or-later | |
| Path Set | GPL-3.0-or-later | |
| PdArray | EUPL-1.2 | |
| PinkTrombone | GPL-3.0-or-later | |
| Prism | BSD-3-Clause | |
| Rackwindows | MIT | |
@ -232,6 +233,9 @@ Below is a list of artwork licenses from plugins
| Orbits/fonts/ShareTechMono-Regular.ttf | OFL-1.1-RFN | |
| ParableInstruments/* | Custom | Copyright © Alex Brandt, [used and distributed with permission](https://github.com/adbrant/ArableInstruments/issues/21) |
| PathSet/* | GPL-3.0-or-later | No artwork specific license provided |
| PdArray/res/*svg | EUPL-1.2 | No artwork specific license provided |
| PdArray/res/fonts/Overpass-*.ttf | OFL-1.1-RFN | |
| PdArray/res/fonts/Roboto-*.ttf | Apache-2.0 | |
| PinkTrombone/* | GPL-3.0-or-later | No artwork specific license provided |
| Prism/* | CC-BY-SA-4.0 | |
| Prism/RobotoCondensed-Regular.ttf | Apache-2.0 | |

View file

@ -971,6 +971,14 @@ PLUGIN_FILES += $(filter-out PathSet/src/plugin.cpp,$(wildcard PathSet/src/*.cpp
# modules/types which are present in other plugins
PATHSET_CUSTOM = PitchShifter
# --------------------------------------------------------------
# PdArray
PLUGIN_FILES += $(filter-out PdArray/src/plugin.cpp,$(wildcard PdArray/src/*.cpp))
# modules/types which are present in other plugins
PDARRAY_CUSTOM = $(DRWAV) CustomTrimpot MsDisplayWidget TextBox
# --------------------------------------------------------------
# PinkTrombone
@ -1445,11 +1453,11 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes
RESOURCE_FILES += Mog/res
RESOURCE_FILES += nonlinearcircuits/res
RESOURCE_FILES += ParableInstruments/res/Neil.png
RESOURCE_FILES += $(wildcard StarlingVia/res/original.*)
RESOURCE_FILES += surgext/build/surge-data/configuration.xml
RESOURCE_FILES += surgext/build/surge-data/fx_presets
RESOURCE_FILES += surgext/build/surge-data/wavetables
RESOURCE_FILES += surgext/build/surge-data/windows.wt
RESOURCE_FILES += $(wildcard StarlingVia/res/original.*)
RESOURCE_FILES += $(wildcard surgext/res/xt/fonts/quicksand/*.ttf)
RESOURCE_FILES += $(wildcard unless_modules/art/*.art)
RESOURCE_FILES += $(wildcard unless_modules/art/svg/*/*.svg)
@ -2628,6 +2636,13 @@ $(BUILD_DIR)/PathSet/%.cpp.o: PathSet/%.cpp
$(foreach m,$(PATHSET_CUSTOM),$(call custom_module_names,$(m),PathSet)) \
-DpluginInstance=pluginInstance__PathSet
$(BUILD_DIR)/PdArray/%.cpp.o: PdArray/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(PDARRAY_CUSTOM),$(call custom_module_names,$(m),PdArray)) \
-DpluginInstance=pluginInstance__PdArray
$(BUILD_DIR)/PinkTrombone/%.cpp.o: PinkTrombone/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"

1
plugins/PdArray Submodule

@ -0,0 +1 @@
Subproject commit 8e8e65490bf9d1708e586b1d759849bf2d76a4f0

View file

@ -776,6 +776,17 @@ extern Model* modelBlankPanel;
// Path Set
#include "PathSet/src/plugin.hpp"
// PdArray
#define TextBox PdArrayTextBox
#define CustomTrimpot PdArrayCustomTrimpot
#define MsDisplayWidget PdArrayMsDisplayWidget
#define MAX_POLY_CHANNELS PDARRAY_MAX_POLY_CHANNELS
#include "PdArray/src/plugin.hpp"
#undef Textbox
#undef CustomTrimpot
#undef MsDisplayWidget
#undef MAX_POLY_CHANNELS
// PinkTrombone
#include "PinkTrombone/src/plugin.hpp"
@ -946,6 +957,7 @@ Plugin* pluginInstance__nonlinearcircuits;
Plugin* pluginInstance__Orbits;
Plugin* pluginInstance__ParableInstruments;
Plugin* pluginInstance__PathSet;
Plugin* pluginInstance__PdArray;
Plugin* pluginInstance__PinkTrombone;
Plugin* pluginInstance__Prism;
Plugin* pluginInstance__rackwindows;
@ -2913,6 +2925,20 @@ static void initStatic__PathSet()
}
}
static void initStatic__PdArray()
{
Plugin* const p = new Plugin;
pluginInstance__PdArray = p;
const StaticPluginLoader spl(p, "PdArray");
if (spl.ok())
{
p->addModel(modelArray);
p->addModel(modelMiniramp);
p->addModel(modelMinistep);
}
}
static void initStatic__PinkTrombone()
{
Plugin* const p = new Plugin;
@ -3427,6 +3453,7 @@ void initStaticPlugins()
initStatic__Orbits();
initStatic__ParableInstruments();
initStatic__PathSet();
initStatic__PdArray();
initStatic__PinkTrombone();
initStatic__Prism();
initStatic__rackwindows();

View file

@ -73,6 +73,7 @@ enum DarkMode {
kModeMyth,
kModeNonlinearcircuits,
kModeParableInstruments,
kModePdArray,
kModePathSet,
kModeVoxglitch,
kModeWhatTheRack,
@ -355,6 +356,10 @@ static const struct {
{ kModePathSet, "/PathSet/res/PlusPane.svg", {}, -1 },
{ kModePathSet, "/PathSet/res/ShiftyExpander.svg", {}, -1 },
{ kModePathSet, "/PathSet/res/ShiftyMod.svg", {}, -1 },
// EUPL-1.2
{ kModePdArray, "/PdArray/res/Array.svg", {}, -1 },
{ kModePdArray, "/PdArray/res/Miniramp.svg", {}, -1 },
{ kModePdArray, "/PdArray/res/Ministep.svg", {}, -1 },
// BSD-3-Clause
{ kModeVoxglitch, "/voxglitch/res/autobreak_front_panel.svg", {}, -1 },
{ kModeVoxglitch, "/voxglitch/res/bytebeat_front_panel.svg", {}, -1 },