Browse Source

Check /usr directory for existing carla tools on macOS too

Closes #495

Signed-off-by: falkTX <falktx@falktx.com>
tags/23.02
falkTX 2 years ago
parent
commit
e9c030a0f8
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 36 additions and 31 deletions
  1. +17
    -14
      plugins/Cardinal/src/Carla.cpp
  2. +19
    -17
      plugins/Cardinal/src/Ildaeil.cpp

+ 17
- 14
plugins/Cardinal/src/Carla.cpp View File

@@ -1,6 +1,6 @@
/*
* DISTRHO Cardinal Plugin
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -132,7 +132,17 @@ struct CarlaModule : Module {
const char* binaryDir = nullptr;
const char* resourceDir = nullptr;

#if defined(CARLA_OS_MAC)
#if defined(CARLA_OS_WIN)
const std::string winBinaryDir = system::join(asset::systemDir, "Carla");

if (system::exists(winBinaryDir))
{
winResourceDir = system::join(winBinaryDir, "resources");
binaryDir = winBinaryDir.c_str();
resourceDir = winResourceDir.c_str();
}
#else // CARLA_OS_WIN
#if defined(CARLA_OS_MAC)
if (system::exists("~/Applications/Carla.app"))
{
binaryDir = "~/Applications/Carla.app/Contents/MacOS";
@@ -143,17 +153,10 @@ struct CarlaModule : Module {
binaryDir = "/Applications/Carla.app/Contents/MacOS";
resourceDir = "/Applications/Carla.app/Contents/MacOS/resources";
}
#elif defined(CARLA_OS_WIN)
const std::string winBinaryDir = system::join(asset::systemDir, "Carla");

if (system::exists(winBinaryDir))
{
winResourceDir = system::join(winBinaryDir, "resources");
binaryDir = winBinaryDir.c_str();
resourceDir = winResourceDir.c_str();
}
#else
if (system::exists("/usr/local/lib/carla"))
#else // CARLA_OS_MAC
if (false) {}
#endif // CARLA_OS_MAC
else if (system::exists("/usr/local/lib/carla"))
{
binaryDir = "/usr/local/lib/carla";
resourceDir = "/usr/local/share/carla/resources";
@@ -163,7 +166,7 @@ struct CarlaModule : Module {
binaryDir = "/usr/lib/carla";
resourceDir = "/usr/share/carla/resources";
}
#endif
#endif // CARLA_OS_WIN

if (binaryDir == nullptr)
{


+ 19
- 17
plugins/Cardinal/src/Ildaeil.cpp View File

@@ -1,6 +1,6 @@
/*
* DISTRHO Cardinal Plugin
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -244,7 +244,17 @@ struct IldaeilModule : Module {
fCarlaHostHandle = carla_create_native_plugin_host_handle(fCarlaPluginDescriptor, fCarlaPluginHandle);
DISTRHO_SAFE_ASSERT_RETURN(fCarlaHostHandle != nullptr,);

#if defined(CARLA_OS_MAC)
#if defined(CARLA_OS_WIN)
const std::string winBinaryDir = system::join(asset::systemDir, "Carla");

if (system::exists(winBinaryDir))
{
const std::string winResourceDir = system::join(winBinaryDir, "resources");
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, winBinaryDir.c_str());
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, winResourceDir.c_str());
}
#else // CARLA_OS_WIN
#if defined(CARLA_OS_MAC)
if (system::exists("~/Applications/Carla.app"))
{
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, "~/Applications/Carla.app/Contents/MacOS");
@@ -255,20 +265,12 @@ struct IldaeilModule : Module {
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, "/Applications/Carla.app/Contents/MacOS");
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, "/Applications/Carla.app/Contents/MacOS/resources");
}
#elif defined(CARLA_OS_WASM)
if (true)
{}
#elif defined(CARLA_OS_WIN)
const std::string winBinaryDir = system::join(asset::systemDir, "Carla");

if (system::exists(winBinaryDir))
{
const std::string winResourceDir = system::join(winBinaryDir, "resources");
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, winBinaryDir.c_str());
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, winResourceDir.c_str());
}
#else
if (system::exists("/usr/local/lib/carla"))
#elif defined(CARLA_OS_WASM)
if (true) {}
#else
if (false) {}
#endif
else if (system::exists("/usr/local/lib/carla"))
{
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, "/usr/local/lib/carla");
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, "/usr/local/share/carla/resources");
@@ -278,7 +280,7 @@ struct IldaeilModule : Module {
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, "/usr/lib/carla");
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, "/usr/share/carla/resources");
}
#endif
#endif // CARLA_OS_WIN
else
{
canUseBridges = false;


Loading…
Cancel
Save