Browse Source

Fix changing env vars on Windows, allows to load LV2 plugins

tags/1.9.5
falkTX 10 years ago
parent
commit
38a0fdeab5
2 changed files with 23 additions and 9 deletions
  1. +14
    -0
      source/carla_backend.py
  2. +9
    -9
      source/carla_host.py

+ 14
- 0
source/carla_backend.py View File

@@ -20,6 +20,7 @@
# Imports (Global)

from ctypes import *
from os import environ
from platform import architecture
from sys import platform, maxsize

@@ -1742,6 +1743,14 @@ class Host(object):
def get_host_osc_url_udp(self):
return charPtrToString(self.lib.carla_get_host_osc_url_udp())

# extra
def setenv(self, key, value):
environ[key] = value

if WINDOWS:
keyvalue = "%s=%s" % (key, value)
self.msvcrt._putenv(keyvalue.encode("utf-8"))

def _init(self, libName):
self.lib = cdll.LoadLibrary(libName)

@@ -2008,3 +2017,8 @@ class Host(object):

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

if WINDOWS:
self.msvcrt = cdll.msvcrt
self.msvcrt._putenv.argtypes = [c_char_p]
self.msvcrt._putenv.restype = None

+ 9
- 9
source/carla_host.py View File

@@ -711,7 +711,7 @@ class HostWindow(QMainWindow):

# ---------------------------------------------

if not gCarla.isPlugin:
if gCarla.host is not None and not gCarla.isPlugin:
# engine
self.setEngineSettings(settings)

@@ -725,14 +725,14 @@ class HostWindow(QMainWindow):
SF2_PATH = toList(settings.value("Paths/SF2", gCarla.DEFAULT_SF2_PATH))
SFZ_PATH = toList(settings.value("Paths/SFZ", gCarla.DEFAULT_SFZ_PATH))

os.environ["LADSPA_PATH"] = splitter.join(LADSPA_PATH)
os.environ["DSSI_PATH"] = splitter.join(DSSI_PATH)
os.environ["LV2_PATH"] = splitter.join(LV2_PATH)
os.environ["VST_PATH"] = splitter.join(VST_PATH)
os.environ["AU_PATH"] = splitter.join(AU_PATH)
os.environ["GIG_PATH"] = splitter.join(GIG_PATH)
os.environ["SF2_PATH"] = splitter.join(SF2_PATH)
os.environ["SFZ_PATH"] = splitter.join(SFZ_PATH)
gCarla.host.setenv("LADSPA_PATH", splitter.join(LADSPA_PATH))
gCarla.host.setenv("DSSI_PATH", splitter.join(DSSI_PATH))
gCarla.host.setenv("LV2_PATH", splitter.join(LV2_PATH))
gCarla.host.setenv("VST_PATH", splitter.join(VST_PATH))
gCarla.host.setenv("AU_PATH", splitter.join(AU_PATH))
gCarla.host.setenv("GIG_PATH", splitter.join(GIG_PATH))
gCarla.host.setenv("SF2_PATH", splitter.join(SF2_PATH))
gCarla.host.setenv("SFZ_PATH", splitter.join(SFZ_PATH))

# ---------------------------------------------



Loading…
Cancel
Save