Browse Source

Tweak template patch locations

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.09
falkTX 2 years ago
parent
commit
2aa9142437
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
20 changed files with 587 additions and 56 deletions
  1. +1
    -1
      dpf
  2. +0
    -0
      patches/examples/DRMR_-_BassGrowl.vcv
  3. +0
    -0
      patches/examples/DRMR_-_Etherpad.vcv
  4. +0
    -0
      patches/examples/DRMR_-_Gabberswing.vcv
  5. +0
    -0
      patches/examples/DRMR_-_Interverb.vcv
  6. +0
    -0
      patches/examples/VT_-_Jupiter_Ascent.vcv
  7. +0
    -0
      patches/examples/falkTX_-_Random-Progress-Pluck-Rev.vcv
  8. +0
    -0
      patches/examples/falkTX_-_Salomonis-MonoRegen.vcv
  9. +0
    -0
      patches/init/fx.vcv
  10. +0
    -0
      patches/init/main.vcv
  11. +0
    -0
      patches/init/synth.vcv
  12. +268
    -0
      patches/init/wasm.vcv
  13. +268
    -0
      patches/welcome-wasm-mini.vcv
  14. +0
    -0
      patches/welcome-wasm.vcv
  15. +6
    -1
      src/CardinalCommon.hpp
  16. +11
    -5
      src/CardinalFX/DistrhoPluginInfo.h
  17. +23
    -28
      src/CardinalPlugin.cpp
  18. +3
    -3
      src/CardinalUI.cpp
  19. +0
    -17
      src/Makefile.cardinal.mk
  20. +7
    -1
      src/override/MenuBar.cpp

+ 1
- 1
dpf

@@ -1 +1 @@
Subproject commit d200db475b74a20e244bbfc2031527666c614eb4
Subproject commit d41b971d77dceadcb76a7736908d0b6a36ff1469

patches/DRMR_-_BassGrowl.vcv → patches/examples/DRMR_-_BassGrowl.vcv View File


patches/DRMR_-_Etherpad.vcv → patches/examples/DRMR_-_Etherpad.vcv View File


patches/DRMR_-_Gabberswing.vcv → patches/examples/DRMR_-_Gabberswing.vcv View File


patches/DRMR_-_Interverb.vcv → patches/examples/DRMR_-_Interverb.vcv View File


patches/VT_-_Jupiter_Ascent.vcv → patches/examples/VT_-_Jupiter_Ascent.vcv View File


patches/falkTX_-_Random-Progress-Pluck-Rev.vcv → patches/examples/falkTX_-_Random-Progress-Pluck-Rev.vcv View File


patches/falkTX_-_Salomonis-MonoRegen.vcv → patches/examples/falkTX_-_Salomonis-MonoRegen.vcv View File


src/template-fx.vcv → patches/init/fx.vcv View File


src/template.vcv → patches/init/main.vcv View File


src/template-synth.vcv → patches/init/synth.vcv View File


+ 268
- 0
patches/init/wasm.vcv View File

@@ -0,0 +1,268 @@
{
"version": "2.1.2",
"unsaved": true,
"zoom": 1.0,
"modules": [
{
"id": 8712245256622475,
"plugin": "Cardinal",
"model": "TextEditor",
"version": "2.0",
"params": [],
"leftModuleId": 799138358763949,
"data": {
"filepath": "",
"lang": "None",
"etext": "Welcome to Cardinal!\n\nThis is the Web/Wasm variant\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n",
"width": 23
},
"pos": [
49,
0
]
},
{
"id": 5726895899473528,
"plugin": "Fundamental",
"model": "ADSR",
"version": "2.0",
"params": [
{
"value": 0.5,
"id": 0
},
{
"value": 0.5,
"id": 1
},
{
"value": 0.5,
"id": 2
},
{
"value": 0.5,
"id": 3
},
{
"value": 0.0,
"id": 4
},
{
"value": 0.0,
"id": 5
},
{
"value": 0.0,
"id": 6
},
{
"value": 0.0,
"id": 7
},
{
"value": 0.0,
"id": 8
}
],
"leftModuleId": 8601159184541723,
"rightModuleId": 4828178296911509,
"pos": [
18,
0
]
},
{
"id": 4828178296911509,
"plugin": "Fundamental",
"model": "VCA-1",
"version": "2.0",
"params": [
{
"value": 1.0,
"id": 0
},
{
"value": 1.0,
"id": 1
}
],
"leftModuleId": 5726895899473528,
"rightModuleId": 1,
"pos": [
27,
0
]
},
{
"id": 8601159184541723,
"plugin": "Fundamental",
"model": "VCO",
"version": "2.0",
"params": [
{
"value": 0.0,
"id": 0
},
{
"value": 1.0,
"id": 1
},
{
"value": 0.0,
"id": 2
},
{
"value": 0.0,
"id": 3
},
{
"value": 0.0,
"id": 4
},
{
"value": 0.5,
"id": 5
},
{
"value": 0.0,
"id": 6
},
{
"value": 0.0,
"id": 7
}
],
"leftModuleId": 2,
"rightModuleId": 5726895899473528,
"pos": [
9,
0
]
},
{
"id": 1,
"plugin": "Cardinal",
"model": "HostAudio2",
"version": "2.0",
"params": [
{
"value": 0.79432821273803711,
"id": 0
}
],
"leftModuleId": 4828178296911509,
"rightModuleId": 799138358763949,
"data": {
"dcFilter": true
},
"pos": [
30,
0
]
},
{
"id": 2,
"plugin": "Cardinal",
"model": "HostMIDI",
"version": "2.0",
"params": [],
"rightModuleId": 8601159184541723,
"data": {
"pwRange": 0.0,
"smooth": false,
"channels": 1,
"polyMode": 0,
"lastPitch": 8192,
"lastMod": 0,
"inputChannel": 0,
"outputChannel": 0
},
"pos": [
0,
0
]
},
{
"id": 799138358763949,
"plugin": "Cardinal",
"model": "HostMIDIMap",
"version": "2.0",
"params": [],
"leftModuleId": 1,
"rightModuleId": 8712245256622475,
"data": {
"maps": [
{
"cc": -1,
"moduleId": -1,
"paramId": 0
}
],
"smooth": true,
"channel": 0
},
"pos": [
38,
0
]
}
],
"cables": [
{
"id": 5155876120487880,
"outputModuleId": 2,
"outputId": 1,
"inputModuleId": 5726895899473528,
"inputId": 4,
"color": "#ff9352"
},
{
"id": 781753834216137,
"outputModuleId": 2,
"outputId": 6,
"inputModuleId": 5726895899473528,
"inputId": 5,
"color": "#ffd452"
},
{
"id": 3464471860196875,
"outputModuleId": 5726895899473528,
"outputId": 0,
"inputModuleId": 4828178296911509,
"inputId": 0,
"color": "#e8ff52"
},
{
"id": 739552540616113,
"outputModuleId": 4828178296911509,
"outputId": 0,
"inputModuleId": 1,
"inputId": 0,
"color": "#52beff"
},
{
"id": 6701970185765111,
"outputModuleId": 2,
"outputId": 0,
"inputModuleId": 8601159184541723,
"inputId": 0,
"color": "#ff5252"
},
{
"id": 6959800657121782,
"outputModuleId": 2,
"outputId": 2,
"inputModuleId": 8601159184541723,
"inputId": 1,
"color": "#52ff7d"
},
{
"id": 1598271319373837,
"outputModuleId": 8601159184541723,
"outputId": 0,
"inputModuleId": 4828178296911509,
"inputId": 1,
"color": "#a8ff52"
}
]
}

+ 268
- 0
patches/welcome-wasm-mini.vcv View File

@@ -0,0 +1,268 @@
{
"version": "2.1.2",
"unsaved": true,
"zoom": 1.0,
"modules": [
{
"id": 8712245256622475,
"plugin": "Cardinal",
"model": "TextEditor",
"version": "2.0",
"params": [],
"leftModuleId": 799138358763949,
"data": {
"filepath": "",
"lang": "None",
"etext": "Welcome to Cardinal!\n\nThis is the Web/Wasm variant\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n",
"width": 23
},
"pos": [
49,
0
]
},
{
"id": 5726895899473528,
"plugin": "Fundamental",
"model": "ADSR",
"version": "2.0",
"params": [
{
"value": 0.5,
"id": 0
},
{
"value": 0.5,
"id": 1
},
{
"value": 0.5,
"id": 2
},
{
"value": 0.5,
"id": 3
},
{
"value": 0.0,
"id": 4
},
{
"value": 0.0,
"id": 5
},
{
"value": 0.0,
"id": 6
},
{
"value": 0.0,
"id": 7
},
{
"value": 0.0,
"id": 8
}
],
"leftModuleId": 8601159184541723,
"rightModuleId": 4828178296911509,
"pos": [
18,
0
]
},
{
"id": 4828178296911509,
"plugin": "Fundamental",
"model": "VCA-1",
"version": "2.0",
"params": [
{
"value": 1.0,
"id": 0
},
{
"value": 1.0,
"id": 1
}
],
"leftModuleId": 5726895899473528,
"rightModuleId": 1,
"pos": [
27,
0
]
},
{
"id": 8601159184541723,
"plugin": "Fundamental",
"model": "VCO",
"version": "2.0",
"params": [
{
"value": 0.0,
"id": 0
},
{
"value": 1.0,
"id": 1
},
{
"value": 0.0,
"id": 2
},
{
"value": 0.0,
"id": 3
},
{
"value": 0.0,
"id": 4
},
{
"value": 0.5,
"id": 5
},
{
"value": 0.0,
"id": 6
},
{
"value": 0.0,
"id": 7
}
],
"leftModuleId": 2,
"rightModuleId": 5726895899473528,
"pos": [
9,
0
]
},
{
"id": 1,
"plugin": "Cardinal",
"model": "HostAudio2",
"version": "2.0",
"params": [
{
"value": 0.79432821273803711,
"id": 0
}
],
"leftModuleId": 4828178296911509,
"rightModuleId": 799138358763949,
"data": {
"dcFilter": true
},
"pos": [
30,
0
]
},
{
"id": 2,
"plugin": "Cardinal",
"model": "HostMIDI",
"version": "2.0",
"params": [],
"rightModuleId": 8601159184541723,
"data": {
"pwRange": 0.0,
"smooth": false,
"channels": 1,
"polyMode": 0,
"lastPitch": 8192,
"lastMod": 0,
"inputChannel": 0,
"outputChannel": 0
},
"pos": [
0,
0
]
},
{
"id": 799138358763949,
"plugin": "Cardinal",
"model": "HostMIDIMap",
"version": "2.0",
"params": [],
"leftModuleId": 1,
"rightModuleId": 8712245256622475,
"data": {
"maps": [
{
"cc": -1,
"moduleId": -1,
"paramId": 0
}
],
"smooth": true,
"channel": 0
},
"pos": [
38,
0
]
}
],
"cables": [
{
"id": 5155876120487880,
"outputModuleId": 2,
"outputId": 1,
"inputModuleId": 5726895899473528,
"inputId": 4,
"color": "#ff9352"
},
{
"id": 781753834216137,
"outputModuleId": 2,
"outputId": 6,
"inputModuleId": 5726895899473528,
"inputId": 5,
"color": "#ffd452"
},
{
"id": 3464471860196875,
"outputModuleId": 5726895899473528,
"outputId": 0,
"inputModuleId": 4828178296911509,
"inputId": 0,
"color": "#e8ff52"
},
{
"id": 739552540616113,
"outputModuleId": 4828178296911509,
"outputId": 0,
"inputModuleId": 1,
"inputId": 0,
"color": "#52beff"
},
{
"id": 6701970185765111,
"outputModuleId": 2,
"outputId": 0,
"inputModuleId": 8601159184541723,
"inputId": 0,
"color": "#ff5252"
},
{
"id": 6959800657121782,
"outputModuleId": 2,
"outputId": 2,
"inputModuleId": 8601159184541723,
"inputId": 1,
"color": "#52ff7d"
},
{
"id": 1598271319373837,
"outputModuleId": 8601159184541723,
"outputId": 0,
"inputModuleId": 4828178296911509,
"inputId": 1,
"color": "#a8ff52"
}
]
}

src/template-wasm.vcv → patches/welcome-wasm.vcv View File


+ 6
- 1
src/CardinalCommon.hpp View File

@@ -26,7 +26,12 @@
#endif #endif


#ifdef DISTRHO_OS_WASM #ifdef DISTRHO_OS_WASM
# define CARDINAL_IMPORTED_TEMPLATE_FILENAME "/imported.vcv"
# define CARDINAL_WASM_IMPORTED_TEMPLATE_FILENAME "/imported.vcv"
# ifdef STATIC_BUILD
# define CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME "welcome-wasm.vcv"
# else
# define CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME "welcome-wasm-mini.vcv"
# endif
#endif #endif


extern const std::string CARDINAL_VERSION; extern const std::string CARDINAL_VERSION;


+ 11
- 5
src/CardinalFX/DistrhoPluginInfo.h View File

@@ -28,12 +28,18 @@
#define DISTRHO_PLUGIN_BRAND "DISTRHO" #define DISTRHO_PLUGIN_BRAND "DISTRHO"
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx" #define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx"


#ifdef __MOD_DEVICES__
#define DISTRHO_PLUGIN_NAME "Cardinal Mini"
#define DISTRHO_PLUGIN_LABEL "CardinalMini"
#if defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD)
# define DISTRHO_PLUGIN_NAME "Mini Cardinal"
# define DISTRHO_PLUGIN_LABEL "MiniCardinal"
#elif defined(DISTRHO_OS_WASM)
# define DISTRHO_PLUGIN_NAME "Cardinal"
# define DISTRHO_PLUGIN_LABEL "Cardinal"
#elif defined(__MOD_DEVICES__)
# define DISTRHO_PLUGIN_NAME "Cardinal Mini"
# define DISTRHO_PLUGIN_LABEL "CardinalMini"
#else #else
#define DISTRHO_PLUGIN_NAME "Cardinal FX"
#define DISTRHO_PLUGIN_LABEL "CardinalFX"
# define DISTRHO_PLUGIN_NAME "Cardinal FX"
# define DISTRHO_PLUGIN_LABEL "CardinalFX"
#endif #endif


#ifdef HEADLESS #ifdef HEADLESS


+ 23
- 28
src/CardinalPlugin.cpp View File

@@ -52,18 +52,14 @@
# include "extra/SharedResourcePointer.hpp" # include "extra/SharedResourcePointer.hpp"
#endif #endif
#if CARDINAL_VARIANT_FX
# define CARDINAL_FACTORY_TEMPLATE_NAME "template-fx.vcv"
#elif CARDINAL_VARIANT_SYNTH
# define CARDINAL_FACTORY_TEMPLATE_NAME "template-synth.vcv"
#else
# define CARDINAL_FACTORY_TEMPLATE_NAME "template.vcv"
#endif
#ifdef DISTRHO_OS_WASM #ifdef DISTRHO_OS_WASM
# define CARDINAL_TEMPLATE_NAME "template-wasm.vcv"
# define CARDINAL_TEMPLATE_NAME "init/wasm.vcv"
#elif CARDINAL_VARIANT_FX
# define CARDINAL_TEMPLATE_NAME "init/fx.vcv"
#elif CARDINAL_VARIANT_SYNTH
# define CARDINAL_TEMPLATE_NAME "init/synth.vcv"
#else #else
# define CARDINAL_TEMPLATE_NAME CARDINAL_FACTORY_TEMPLATE_NAME
# define CARDINAL_TEMPLATE_NAME "init/main.vcv"
#endif #endif
static const constexpr uint kCardinalStateBaseCount = 3; // patch, screenshot, comment static const constexpr uint kCardinalStateBaseCount = 3; // patch, screenshot, comment
@@ -78,16 +74,19 @@ static const constexpr uint kCardinalStateCount = kCardinalStateBaseCount;
#endif #endif
namespace rack { namespace rack {
namespace asset {
std::string patchesPath();
}
namespace engine { namespace engine {
void Engine_setAboutToClose(Engine*);
void Engine_setAboutToClose(Engine*);
} }
namespace plugin { namespace plugin {
void initStaticPlugins();
void destroyStaticPlugins();
void initStaticPlugins();
void destroyStaticPlugins();
} }
#ifndef HEADLESS #ifndef HEADLESS
namespace window { namespace window {
void WindowInit(Window* window, DISTRHO_NAMESPACE::Plugin* plugin);
void WindowInit(Window* window, DISTRHO_NAMESPACE::Plugin* plugin);
} }
#endif #endif
} }
@@ -183,10 +182,8 @@ struct Initializer
{ {
if (const char* const resourcePath = getResourcePath(bundlePath)) if (const char* const resourcePath = getResourcePath(bundlePath))
{ {
asset::bundlePath = system::join(resourcePath, "PluginManifests");
asset::systemDir = resourcePath; asset::systemDir = resourcePath;
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
factoryTemplatePath = system::join(asset::systemDir, CARDINAL_FACTORY_TEMPLATE_NAME);
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
} }
} }
@@ -196,13 +193,8 @@ struct Initializer
// Make system dir point to source code location as fallback // Make system dir point to source code location as fallback
asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack"; asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack";
if (system::exists(system::join(asset::systemDir, "res")))
{
templatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR CARDINAL_TEMPLATE_NAME;
factoryTemplatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR CARDINAL_FACTORY_TEMPLATE_NAME;
}
// If source code dir does not exist use install target prefix as system dir // If source code dir does not exist use install target prefix as system dir
else
if (!system::exists(system::join(asset::systemDir, "res")))
#endif #endif
{ {
#if defined(DISTRHO_OS_WASM) #if defined(DISTRHO_OS_WASM)
@@ -218,18 +210,19 @@ struct Initializer
#endif #endif
asset::bundlePath = system::join(asset::systemDir, "PluginManifests"); asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
factoryTemplatePath = system::join(asset::systemDir, CARDINAL_FACTORY_TEMPLATE_NAME);
} }
} }
asset::userDir = asset::systemDir; asset::userDir = asset::systemDir;
} }
const std::string patchesPath = asset::patchesPath();
#ifdef DISTRHO_OS_WASM #ifdef DISTRHO_OS_WASM
if ((patchStorageSlug = getPatchStorageSlug()) != nullptr)
templatePath = CARDINAL_IMPORTED_TEMPLATE_FILENAME;
templatePath = system::join(patchesPath, CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME);
#else
templatePath = system::join(patchesPath, CARDINAL_TEMPLATE_NAME);
#endif #endif
factoryTemplatePath = system::join(patchesPath, CARDINAL_TEMPLATE_NAME);
// Log environment // Log environment
INFO("%s %s v%s", APP_NAME.c_str(), APP_EDITION.c_str(), APP_VERSION.c_str()); INFO("%s %s v%s", APP_NAME.c_str(), APP_EDITION.c_str(), APP_VERSION.c_str());
@@ -608,11 +601,13 @@ public:
context->window = new rack::window::Window; context->window = new rack::window::Window;
#ifdef DISTRHO_OS_WASM #ifdef DISTRHO_OS_WASM
if (rack::patchStorageSlug == nullptr)
if ((rack::patchStorageSlug = getPatchStorageSlug()) == nullptr)
#endif #endif
{ {
context->patch->loadTemplate(); context->patch->loadTemplate();
context->scene->rackScroll->reset(); context->scene->rackScroll->reset();
// swap to factory template after first load
context->patch->templatePath = context->patch->factoryTemplatePath;
} }
#if defined(HAVE_LIBLO) && defined(HEADLESS) #if defined(HAVE_LIBLO) && defined(HEADLESS)


+ 3
- 3
src/CardinalUI.cpp View File

@@ -253,7 +253,7 @@ static void downloadPatchStorageFailed(const char* const filename)
} }


using namespace rack; using namespace rack;
context->patch->templatePath = system::join(asset::systemDir, "template-synth.vcv"); // FIXME
context->patch->templatePath = system::join(asset::systemDir, "init/wasm.vcv"); // FIXME
context->patch->loadTemplate(); context->patch->loadTemplate();
context->scene->rackScroll->reset(); context->scene->rackScroll->reset();
} }
@@ -277,7 +277,7 @@ static void downloadPatchStorageSucceeded(const char* const filename)
} }


try { try {
context->patch->load(CARDINAL_IMPORTED_TEMPLATE_FILENAME);
context->patch->load(CARDINAL_WASM_IMPORTED_TEMPLATE_FILENAME);
} catch (rack::Exception& e) { } catch (rack::Exception& e) {
const std::string message = rack::string::f("Could not load patch: %s", e.what()); const std::string message = rack::string::f("Could not load patch: %s", e.what());
asyncDialog::create(message.c_str()); asyncDialog::create(message.c_str());
@@ -428,7 +428,7 @@ public:


void uiIdle() override void uiIdle() override
{ {
if (counterForFirstIdlePoint >= 0 && ++counterForFirstIdlePoint == 5)
if (counterForFirstIdlePoint >= 0 && ++counterForFirstIdlePoint == 30)
{ {
counterForFirstIdlePoint = -1; counterForFirstIdlePoint = -1;




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

@@ -311,7 +311,6 @@ endif


CORE_RESOURCES = patches CORE_RESOURCES = patches
CORE_RESOURCES += $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf)) CORE_RESOURCES += $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf))
CORE_RESOURCES += $(subst ../,,$(wildcard ../template*.vcv))


LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%) LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%) VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
@@ -376,22 +375,6 @@ $(TARGET_DIR)/%/patches: ../../patches
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@


$(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)/%/template-wasm.vcv: ../template-wasm.vcv
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@

$(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/% $(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@


+ 7
- 1
src/override/MenuBar.cpp View File

@@ -97,12 +97,15 @@ struct MenuButton : ui::Button {


struct FileButton : MenuButton { struct FileButton : MenuButton {
const bool isStandalone; const bool isStandalone;
#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
std::vector<std::string> demoPatches; std::vector<std::string> demoPatches;
#endif


FileButton(const bool standalone) FileButton(const bool standalone)
: MenuButton(), isStandalone(standalone) : MenuButton(), isStandalone(standalone)
{ {
const std::string patchesDir = asset::patchesPath();
#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
const std::string patchesDir = asset::patchesPath() + DISTRHO_OS_SEP_STR "examples";


if (system::isDirectory(patchesDir)) if (system::isDirectory(patchesDir))
{ {
@@ -111,6 +114,7 @@ struct FileButton : MenuButton {
return string::lowercase(a) < string::lowercase(b); return string::lowercase(a) < string::lowercase(b);
}); });
} }
#endif
} }


void onAction(const ActionEvent& e) override { void onAction(const ActionEvent& e) override {
@@ -195,6 +199,7 @@ struct FileButton : MenuButton {
})); }));
#endif #endif


#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
if (!demoPatches.empty()) if (!demoPatches.empty())
{ {
menu->addChild(new ui::MenuSeparator); menu->addChild(new ui::MenuSeparator);
@@ -220,6 +225,7 @@ struct FileButton : MenuButton {
})); }));
})); }));
} }
#endif


#ifndef DISTRHO_OS_WASM #ifndef DISTRHO_OS_WASM
if (isStandalone) { if (isStandalone) {


Loading…
Cancel
Save