1
Fork 0

Compare commits

...

10 Commits

Author SHA1 Message Date
falkTX 6795d8acba
Do not ship with fundamental on this release, WIP
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-04 21:54:26 +01:00
falkTX d633abc35c
Fix build
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-04 21:46:57 +01:00
falkTX a65840d2cd
Remove line added during testing, sorry!
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-04 20:17:40 +01:00
falkTX 9d89f16e54
Refresh default template, add fx and synth variants of those
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-04 17:31:15 +01:00
falkTX 3318ae17d0
Bump version
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-04 17:02:03 +01:00
falkTX 1628f29a98
Do not show resize handle on standalone
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-02 03:18:23 +01:00
falkTX f5ca52b5e4
Fix VST3 state under some hosts
See https://github.com/DISTRHO/DPF/issues/370

Signed-off-by: falkTX <falktx@falktx.com>
2022-03-28 20:53:27 +01:00
falkTX 8311fb6641
Update carla for windows utf16 fixes
Signed-off-by: falkTX <falktx@falktx.com>
2022-03-28 15:40:55 +01:00
falkTX 05cac6e738
Make DBus desktop portal start automatically
Signed-off-by: falkTX <falktx@falktx.com>
2022-03-28 14:13:29 +01:00
falkTX a82af5aff8
Fix ChowDSP Credit module
Closes #98

Signed-off-by: falkTX <falktx@falktx.com>
2022-03-27 22:58:05 +01:00
14 changed files with 519 additions and 36 deletions

View File

@ -7,7 +7,7 @@
# also set in:
# src/CardinalCommon.cpp `CARDINAL_VERSION`
# src/CardinalPlugin.cpp `getVersion`
VERSION = 22.03
VERSION = 22.04
# --------------------------------------------------------------
# Import base definitions

2
carla

@ -1 +1 @@
Subproject commit 97582181926ed102e1e7080e456c2adebbf803fa
Subproject commit 04558b63101de55556733edfa4a369b51f36e9b3

2
dpf

@ -1 +1 @@
Subproject commit f26b8147d309f8b3cdcaa6b3e6d8dac773658009
Subproject commit c2f66ac3c7d62082d38cc806bd86e15cebb9c6a7

@ -1 +1 @@
Subproject commit 80f61cd0171bb7d988c9ec3a144e0566d62c767c
Subproject commit 52f89b94a25828f9debf8bca4d58854fb1e70228

View File

@ -457,8 +457,7 @@ BOGAUDIO_CUSTOM_PER_FILE = ARQuantity AttackMenuItem ReleaseMenuItem
# --------------------------------------------------------------
# ChowDSP
# Credit module crashes on save, see https://github.com/DISTRHO/Cardinal/issues/98
PLUGIN_FILES += $(filter-out ChowDSP/src/Credit.cpp,$(wildcard ChowDSP/src/*/*.cpp))
PLUGIN_FILES += $(wildcard ChowDSP/src/*/*.cpp)
PLUGIN_FILES += $(wildcard ChowDSP/src/*/*/*.cpp)
PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp)

View File

@ -1471,16 +1471,13 @@ static void initStatic__ChowDSP()
p->addModel(modelChowDer);
p->addModel(modelWarp);
p->addModel(modelWerner);
p->addModel(modelCredit);
p->addModel(modelChowPulse);
p->addModel(modelChowTapeCompression);
p->addModel(modelChowTapeChew);
p->addModel(modelChowTapeDegrade);
p->addModel(modelChowTapeLoss);
p->addModel(modelChowChorus);
// Credit crashes on save, see https://github.com/DISTRHO/Cardinal/issues/98
// p->addModel(modelCredit);
spl.removeModule("Credit");
}
}
@ -1585,6 +1582,7 @@ static void initStatic__FehlerFabrik()
}
}
/* TODO enable this when ready, WIP
static void initStatic__Fundamental()
{
Plugin* const p = new Plugin;
@ -1625,6 +1623,7 @@ static void initStatic__Fundamental()
spl.removeModule("Random");
}
}
*/
static void initStatic__GlueTheGiant()
{
@ -2500,7 +2499,9 @@ void initStaticPlugins()
initStatic__ExpertSleepersEncoders();
initStatic__Extratone();
initStatic__FehlerFabrik();
/* TODO enable this when ready, WIP
initStatic__Fundamental();
*/
initStatic__GlueTheGiant();
initStatic__GoodSheperd();
initStatic__GrandeModular();

View File

@ -29,6 +29,7 @@
#include "AsyncDialog.hpp"
#include "PluginContext.hpp"
#include "DistrhoPluginUtils.hpp"
#include <asset.hpp>
#include <context.hpp>
@ -51,13 +52,18 @@
# include <unistd.h>
#endif
const std::string CARDINAL_VERSION = "22.03";
const std::string CARDINAL_VERSION = "22.04";
namespace rack {
namespace settings {
int rateLimit = 0;
}
bool isStandalone()
{
return std::strstr(getPluginFormatName(), "JACK") != nullptr;
}
#ifdef ARCH_WIN
std::string getSpecialPath(const SpecialPath type)
{
@ -131,6 +137,7 @@ void loadDialog()
FileBrowserOptions opts;
opts.startDir = dir.c_str();
opts.saving = ui->saving = false;
opts.title = "Open patch";
ui->openFileBrowser(opts);
});
#endif
@ -227,6 +234,7 @@ static void saveAsDialog(const bool uncompressed)
FileBrowserOptions opts;
opts.startDir = dir.c_str();
opts.saving = ui->saving = true;
opts.title = "Save patch";
ui->savingUncompressed = uncompressed;
ui->openFileBrowser(opts);
}

View File

@ -41,6 +41,8 @@ namespace window {
void generateScreenshot();
}
bool isStandalone();
#ifdef ARCH_WIN
enum SpecialPath {
kSpecialPathUserProfile,

View File

@ -57,6 +57,14 @@ static const constexpr uint kCardinalStateCount = 4; // patch, screenshot, comme
static const constexpr uint kCardinalStateCount = 3; // patch, screenshot, comment
#endif
#if CARDINAL_VARIANT_FX
# define CARDINAL_TEMPLATE_NAME "template-fx.vcv"
#elif CARDINAL_VARIANT_SYNTH
# define CARDINAL_TEMPLATE_NAME "template-synth.vcv"
#else
# define CARDINAL_TEMPLATE_NAME "template.vcv"
#endif
namespace rack {
namespace plugin {
void initStaticPlugins();
@ -134,7 +142,7 @@ struct Initializer
{
asset::bundlePath = system::join(resourcePath, "PluginManifests");
asset::systemDir = resourcePath;
templatePath = system::join(asset::systemDir, "template.vcv");
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
}
}
@ -146,7 +154,7 @@ struct Initializer
if (system::exists(system::join(asset::systemDir, "res")))
{
templatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "template.vcv";
templatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR CARDINAL_TEMPLATE_NAME;
}
// If source code dir does not exist use install target prefix as system dir
else
@ -165,7 +173,7 @@ struct Initializer
if (! asset::systemDir.empty())
{
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
templatePath = system::join(asset::systemDir, "template.vcv");
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
}
}
}
@ -593,7 +601,7 @@ protected:
uint32_t getVersion() const override
{
return d_version(0, 22, 3);
return d_version(0, 22, 4);
}
int64_t getUniqueId() const override

View File

@ -272,7 +272,7 @@ all: lv2 vst2 vst3 static
endif
CORE_RESOURCES = $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf))
CORE_RESOURCES += template.vcv
CORE_RESOURCES += $(subst ../,,$(wildcard ../template*.vcv))
LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
@ -320,6 +320,14 @@ $(TARGET_DIR)/%/template.vcv: ../template.vcv
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/%/template-fx.vcv: ../template-fx.vcv
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/%/template-synth.vcv: ../template-synth.vcv
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@

View File

@ -127,7 +127,7 @@ struct ResizeHandle : widget::OpaqueWidget {
struct Scene::Internal {
ResizeHandle* resizeHandle;
ResizeHandle* resizeHandle = nullptr;
bool heldArrowKeys[4] = {};
@ -173,6 +173,9 @@ Scene::Scene() {
browser->hide();
addChild(browser);
if (isStandalone())
return;
internal->resizeHandle = new ResizeHandle;
internal->resizeHandle->box.size = math::Vec(16, 16);
addChild(internal->resizeHandle);
@ -200,7 +203,8 @@ void Scene::step() {
rackScroll->box.pos.y = menuBar->box.size.y;
}
internal->resizeHandle->box.pos = box.size.minus(internal->resizeHandle->box.size);
if (internal->resizeHandle != nullptr)
internal->resizeHandle->box.pos = box.size.minus(internal->resizeHandle->box.size);
// Resize owned descendants
menuBar->box.size.x = box.size.x;

161
src/template-fx.vcv Normal file
View File

@ -0,0 +1,161 @@
{
"version": "2.1",
"path": "/Shared/Personal/FOSS/GIT/DISTRHO/DISTRHO_Cardinal/src/template-fx.vcv",
"unsaved": true,
"zoom": 1.0,
"modules": [
{
"id": 8712245256622475,
"plugin": "Cardinal",
"model": "TextEditor",
"version": "2.0",
"params": [],
"leftModuleId": 4,
"data": {
"filepath": "",
"lang": "None",
"etext": "Welcome to Cardinal!\n\nThis is the FX variant\nIt has 2 audio ports, plus MIDI\n\nAudio and MIDI is pass-through in\nthe default patch\n\n",
"width": 19
},
"pos": [
34,
0
]
},
{
"id": 1,
"plugin": "Cardinal",
"model": "HostAudio2",
"version": "2.0",
"params": [
{
"value": 1.0,
"id": 0
}
],
"rightModuleId": 2,
"data": {
"dcFilter": true
},
"pos": [
0,
0
]
},
{
"id": 2,
"plugin": "Cardinal",
"model": "HostMIDI",
"version": "2.0",
"params": [],
"leftModuleId": 1,
"rightModuleId": 3,
"data": {
"pwRange": 0.0,
"smooth": false,
"channels": 1,
"polyMode": 0,
"lastPitch": 8192,
"lastMod": 0,
"inputChannel": 0,
"outputChannel": 0
},
"pos": [
8,
0
]
},
{
"id": 3,
"plugin": "Cardinal",
"model": "HostTime",
"version": "2.0",
"params": [],
"leftModuleId": 2,
"rightModuleId": 4,
"pos": [
17,
0
]
},
{
"id": 4,
"plugin": "Cardinal",
"model": "HostParameters",
"version": "2.0",
"params": [],
"leftModuleId": 3,
"rightModuleId": 8712245256622475,
"pos": [
25,
0
]
}
],
"cables": [
{
"id": 4678253779474352,
"outputModuleId": 2,
"outputId": 0,
"inputModuleId": 2,
"inputId": 0,
"color": "#ff5252"
},
{
"id": 7683580154025470,
"outputModuleId": 2,
"outputId": 1,
"inputModuleId": 2,
"inputId": 1,
"color": "#ff9352"
},
{
"id": 8430980435213069,
"outputModuleId": 2,
"outputId": 2,
"inputModuleId": 2,
"inputId": 2,
"color": "#ffd452"
},
{
"id": 4583111412242866,
"outputModuleId": 2,
"outputId": 3,
"inputModuleId": 2,
"inputId": 3,
"color": "#e8ff52"
},
{
"id": 4427623524544856,
"outputModuleId": 2,
"outputId": 4,
"inputModuleId": 2,
"inputId": 4,
"color": "#a8ff52"
},
{
"id": 6950452937672903,
"outputModuleId": 2,
"outputId": 5,
"inputModuleId": 2,
"inputId": 5,
"color": "#67ff52"
},
{
"id": 3491422883476882,
"outputModuleId": 1,
"outputId": 0,
"inputModuleId": 1,
"inputId": 0,
"color": "#52beff"
},
{
"id": 4569757452962581,
"outputModuleId": 1,
"outputId": 1,
"inputModuleId": 1,
"inputId": 1,
"color": "#527dff"
}
]
}

238
src/template-synth.vcv Normal file
View File

@ -0,0 +1,238 @@
{
"version": "2.1",
"path": "/Shared/Personal/FOSS/GIT/DISTRHO/DISTRHO_Cardinal/src/template-fx.vcv",
"unsaved": true,
"zoom": 1.0,
"modules": [
{
"id": 8712245256622475,
"plugin": "Cardinal",
"model": "TextEditor",
"version": "2.0",
"params": [],
"leftModuleId": 4,
"data": {
"filepath": "",
"lang": "None",
"etext": "Welcome to Cardinal!\n\nThis is the Synth variant\nIt has 2 audio outputs, plus MIDI\n\nA basic VCO + ADSR + VCA is\nthe default patch\n\n",
"width": 19
},
"pos": [
43,
0
]
},
{
"id": 674529428127255,
"plugin": "Bogaudio",
"model": "Bogaudio-ADSR",
"version": "2.0",
"params": [
{
"value": 0.069131895899772644,
"id": 0
},
{
"value": 0.31622999906539917,
"id": 1
},
{
"value": 1.0,
"id": 2
},
{
"value": 0.31622999906539917,
"id": 3
},
{
"value": 0.0,
"id": 4
}
],
"leftModuleId": 331777374771466,
"rightModuleId": 3281475959768191,
"data": {
"invert": 1.0
},
"pos": [
12,
0
]
},
{
"id": 3281475959768191,
"plugin": "Bogaudio",
"model": "Bogaudio-VCAmp",
"version": "2.0",
"params": [
{
"value": 0.83333331346511841,
"id": 0
}
],
"leftModuleId": 674529428127255,
"rightModuleId": 1,
"data": {},
"pos": [
15,
0
]
},
{
"id": 331777374771466,
"plugin": "Bogaudio",
"model": "Bogaudio-LVCO",
"version": "2.0",
"params": [
{
"value": 0.0,
"id": 0
},
{
"value": 0.0,
"id": 1
},
{
"value": 0.0,
"id": 2
},
{
"value": 0.02500000037252903,
"id": 3
}
],
"leftModuleId": 2,
"rightModuleId": 674529428127255,
"data": {
"poly_input": 0,
"dc_correction": true,
"fm_mode": false,
"linear_mode": false,
"reset_on_wave_change": false
},
"pos": [
9,
0
]
},
{
"id": 1,
"plugin": "Cardinal",
"model": "HostAudio2",
"version": "2.0",
"params": [
{
"value": 1.0,
"id": 0
}
],
"leftModuleId": 3281475959768191,
"rightModuleId": 3,
"data": {
"dcFilter": true
},
"pos": [
18,
0
]
},
{
"id": 2,
"plugin": "Cardinal",
"model": "HostMIDI",
"version": "2.0",
"params": [],
"rightModuleId": 331777374771466,
"data": {
"pwRange": 0.0,
"smooth": false,
"channels": 1,
"polyMode": 0,
"lastPitch": 8192,
"lastMod": 0,
"inputChannel": 0,
"outputChannel": 0
},
"pos": [
0,
0
]
},
{
"id": 3,
"plugin": "Cardinal",
"model": "HostTime",
"version": "2.0",
"params": [],
"leftModuleId": 1,
"rightModuleId": 4,
"pos": [
26,
0
]
},
{
"id": 4,
"plugin": "Cardinal",
"model": "HostParameters",
"version": "2.0",
"params": [],
"leftModuleId": 3,
"rightModuleId": 8712245256622475,
"pos": [
34,
0
]
}
],
"cables": [
{
"id": 4819926075235968,
"outputModuleId": 2,
"outputId": 0,
"inputModuleId": 331777374771466,
"inputId": 0,
"color": "#ff5252"
},
{
"id": 2420818759782995,
"outputModuleId": 331777374771466,
"outputId": 0,
"inputModuleId": 3281475959768191,
"inputId": 1,
"color": "#67ff52"
},
{
"id": 5329555665685235,
"outputModuleId": 674529428127255,
"outputId": 0,
"inputModuleId": 3281475959768191,
"inputId": 0,
"color": "#52ffff"
},
{
"id": 4079786865533706,
"outputModuleId": 2,
"outputId": 1,
"inputModuleId": 674529428127255,
"inputId": 0,
"color": "#ff9352"
},
{
"id": 3101737648049587,
"outputModuleId": 3281475959768191,
"outputId": 0,
"inputModuleId": 1,
"inputId": 0,
"color": "#52beff"
},
{
"id": 537659689081948,
"outputModuleId": 2,
"outputId": 2,
"inputModuleId": 331777374771466,
"inputId": 1,
"color": "#ffd452"
}
]
}

View File

@ -1,24 +1,23 @@
{
"version": "2.0",
"version": "2.1",
"unsaved": true,
"zoom": 1.0,
"modules": [
{
"id": 1,
"id": 2799203590388841,
"plugin": "Cardinal",
"model": "HostAudio2",
"model": "TextEditor",
"version": "2.0",
"params": [
{
"value": 1.0,
"id": 0
}
],
"rightModuleId": 2,
"params": [],
"leftModuleId": 4,
"data": {
"dcFilter": true
"filepath": "",
"lang": "None",
"etext": "Welcome to Cardinal!\n\nThis is the main variant\nIt has 8 audio ports, 10 CV ports, plus MIDI\n\nThe most relevant modules for host\nintegration are in this default patch\n\nHave fun!\n\n",
"width": 23
},
"pos": [
0,
42,
0
]
},
@ -28,10 +27,20 @@
"model": "HostMIDI",
"version": "2.0",
"params": [],
"leftModuleId": 1,
"leftModuleId": 7249509538355161,
"rightModuleId": 3,
"data": {
"pwRange": 0.0,
"smooth": false,
"channels": 1,
"polyMode": 0,
"lastPitch": 8192,
"lastMod": 0,
"inputChannel": 0,
"outputChannel": 0
},
"pos": [
8,
16,
0
]
},
@ -44,7 +53,7 @@
"leftModuleId": 2,
"rightModuleId": 4,
"pos": [
17,
25,
0
]
},
@ -55,12 +64,57 @@
"version": "2.0",
"params": [],
"leftModuleId": 3,
"rightModuleId": 2799203590388841,
"pos": [
25,
33,
0
]
},
{
"id": 7249509538355161,
"plugin": "Cardinal",
"model": "HostCV",
"version": "2.0",
"params": [
{
"value": 0.0,
"id": 0
},
{
"value": 0.0,
"id": 1
},
{
"value": 0.0,
"id": 2
},
{
"value": 0.0,
"id": 3
}
],
"leftModuleId": 3606136179759592,
"rightModuleId": 2,
"pos": [
8,
0
]
},
{
"id": 3606136179759592,
"plugin": "Cardinal",
"model": "HostAudio8",
"version": "2.0",
"params": [],
"rightModuleId": 7249509538355161,
"data": {
"dcFilter": false
},
"pos": [
0,
0
]
}
],
"cables": [],
"masterModuleId": 1
"cables": []
}