From e3a7a5ccb89752e2fc5f30a59b0c4501605aa1bc Mon Sep 17 00:00:00 2001 From: falkTX Date: Mon, 11 Jul 2022 14:43:49 +0100 Subject: [PATCH] Use FX variant as base for wasm builds, add input and midi options Signed-off-by: falkTX --- dpf | 2 +- src/Makefile | 2 +- src/override/MenuBar.cpp | 32 ++++++++++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/dpf b/dpf index f022c76..e2e2b55 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit f022c766bd315b5bb22800b9ab78a4e1ec991edc +Subproject commit e2e2b5507f683a6b62adbd984b62cdde0ed05c3d diff --git a/src/Makefile b/src/Makefile index 009cd2f..5c2c9eb 100644 --- a/src/Makefile +++ b/src/Makefile @@ -203,7 +203,7 @@ ifeq ($(MOD_BUILD),true) $(MAKE) -C Cardinal lv2 $(MAKE) -C CardinalFX lv2 else ifeq ($(WASM),true) - $(MAKE) -C CardinalSynth jack + $(MAKE) -C CardinalFX jack else $(MAKE) -C Cardinal $(MAKE) -C CardinalFX $(CARDINAL_FX_ARGS) diff --git a/src/override/MenuBar.cpp b/src/override/MenuBar.cpp index 8d29563..5456f36 100644 --- a/src/override/MenuBar.cpp +++ b/src/override/MenuBar.cpp @@ -50,11 +50,15 @@ #include #include +#include "../CardinalCommon.hpp" + #ifdef HAVE_LIBLO # include #endif -#include "../CardinalCommon.hpp" +#ifdef DISTRHO_OS_WASM +# include "DistrhoStandaloneUtils.hpp" +#endif namespace rack { namespace asset { @@ -604,6 +608,30 @@ struct EngineButton : MenuButton { menu->addChild(createMenuItem("Performance meters", cpuMeterText, [=]() { settings::cpuMeter ^= true; })); + +#ifdef DISTRHO_OS_WASM + if (supportsAudioInput()) { + const bool enabled = isAudioInputEnabled(); + std::string text = "Enable Audio Input"; + if (enabled) + text += " " CHECKMARK_STRING; + menu->addChild(createMenuItem(text, "", [enabled]() { + if (!enabled) + requestAudioInput(); + })); + } + + if (supportsMIDI()) { + const bool enabled = isMIDIEnabled(); + std::string text = "Enable MIDI"; + if (enabled) + text += " " CHECKMARK_STRING; + menu->addChild(createMenuItem(text, "", [enabled]() { + if (!enabled) + requestMIDI(); + })); + } +#endif } }; @@ -682,7 +710,7 @@ struct MenuBar : widget::OpaqueWidget { MenuBar(const bool isStandalone) : widget::OpaqueWidget() - { + { const float margin = 5; box.size.y = BND_WIDGET_HEIGHT + 2 * margin;