Browse Source

Testing: Load carla lib using RTLD_GLOBAL, fixes u-he plugins

tags/1.9.7
falkTX 8 years ago
parent
commit
07b911cfb9
3 changed files with 4 additions and 1 deletions
  1. +2
    -0
      source/backend/engine/CarlaEngine.cpp
  2. +1
    -1
      source/carla_backend.py
  3. +1
    -0
      source/carla_utils.py

+ 2
- 0
source/backend/engine/CarlaEngine.cpp View File

@@ -429,6 +429,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype,
if (std::strcmp(label, "http://factorial.hu/plugins/lv2/ir") == 0) if (std::strcmp(label, "http://factorial.hu/plugins/lv2/ir") == 0)
preferBridges = true; preferBridges = true;
} }
#if 0
else if (ptype == PLUGIN_VST2) else if (ptype == PLUGIN_VST2)
{ {
/* /*
@@ -498,6 +499,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype,
else if (uniqueId == 1397573722 && std::strstr(filename, "/ZebraHZ.") != nullptr) else if (uniqueId == 1397573722 && std::strstr(filename, "/ZebraHZ.") != nullptr)
preferBridges = true; preferBridges = true;
} }
#endif
// FIXME: linuxsampler inside carla-rack/patchbay plugin has some issues (only last kit makes noise) // FIXME: linuxsampler inside carla-rack/patchbay plugin has some issues (only last kit makes noise)
else if (getType() == kEngineTypePlugin && (ptype == PLUGIN_GIG || ptype == PLUGIN_SFZ)) else if (getType() == kEngineTypePlugin && (ptype == PLUGIN_GIG || ptype == PLUGIN_SFZ))
{ {


+ 1
- 1
source/carla_backend.py View File

@@ -2098,7 +2098,7 @@ class CarlaHostDLL(CarlaHostMeta):
# info about this host object # info about this host object
self.isPlugin = False self.isPlugin = False


self.lib = cdll.LoadLibrary(libName)
self.lib = CDLL(libName, RTLD_GLOBAL)


self.lib.carla_get_engine_driver_count.argtypes = None self.lib.carla_get_engine_driver_count.argtypes = None
self.lib.carla_get_engine_driver_count.restype = c_uint self.lib.carla_get_engine_driver_count.restype = c_uint


+ 1
- 0
source/carla_utils.py View File

@@ -163,6 +163,7 @@ class CarlaUtils(object):
object.__init__(self) object.__init__(self)


self.lib = cdll.LoadLibrary(filename) self.lib = cdll.LoadLibrary(filename)
#self.lib = CDLL(filename, RTLD_GLOBAL)


self.lib.carla_get_complete_license_text.argtypes = None self.lib.carla_get_complete_license_text.argtypes = None
self.lib.carla_get_complete_license_text.restype = c_char_p self.lib.carla_get_complete_license_text.restype = c_char_p


Loading…
Cancel
Save