Browse Source

Update carla-shared py code

tags/1.9.4
falkTX 11 years ago
parent
commit
d570e3a1fb
2 changed files with 44 additions and 166 deletions
  1. +18
    -122
      source/carla_shared.py
  2. +26
    -44
      source/carla_widgets.py

+ 18
- 122
source/carla_shared.py View File

@@ -354,6 +354,8 @@ class CarlaObject(object):
'isPlugin',
# current process mode
'processMode',
# current transport mode
'transportMode',
# current max parameters
'maxParameters',
# discovery tools
@@ -380,7 +382,8 @@ Carla.gui = None
Carla.isControl = False
Carla.isLocal = True
Carla.isPlugin = False
Carla.processMode = PROCESS_MODE_MULTIPLE_CLIENTS if LINUX else PROCESS_MODE_CONTINUOUS_RACK
Carla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS if LINUX else ENGINE_PROCESS_MODE_CONTINUOUS_RACK
Carla.transportMode = ENGINE_TRANSPORT_MODE_JACK if LINUX else ENGINE_TRANSPORT_MODE_INTERNAL
Carla.maxParameters = MAX_DEFAULT_PARAMETERS

Carla.discovery_native = ""
@@ -501,35 +504,11 @@ def initHost(appName, libPrefix = None, failError = True):
else:
libfilename = ""

# -------------------------------------------------------------
# Search for Carla tools

carla_bridge_native = ""
carla_bridge_posix32 = ""
carla_bridge_posix64 = ""
carla_bridge_win32 = ""
carla_bridge_win64 = ""

carla_bridge_lv2_external = ""
carla_bridge_lv2_gtk2 = ""
carla_bridge_lv2_gtk3 = ""
carla_bridge_lv2_qt4 = ""
carla_bridge_lv2_qt5 = ""
carla_bridge_lv2_cocoa = ""
carla_bridge_lv2_windows = ""
carla_bridge_lv2_x11 = ""

carla_bridge_vst_mac = ""
carla_bridge_vst_hwnd = ""
carla_bridge_vst_x11 = ""

# -------------------------------------------------------------
# find windows tools

Carla.discovery_win32 = findTool("discovery", "carla-discovery-win32.exe")
Carla.discovery_win64 = findTool("discovery", "carla-discovery-win64.exe")
carla_bridge_win32 = findTool("bridges", "carla-bridge-win32.exe")
carla_bridge_win64 = findTool("bridges", "carla-bridge-win64.exe")

# -------------------------------------------------------------
# find native and posix tools
@@ -538,39 +517,6 @@ def initHost(appName, libPrefix = None, failError = True):
Carla.discovery_native = findTool("discovery", "carla-discovery-native")
Carla.discovery_posix32 = findTool("discovery", "carla-discovery-posix32")
Carla.discovery_posix64 = findTool("discovery", "carla-discovery-posix64")
carla_bridge_native = findTool("bridges", "carla-bridge-native")
carla_bridge_posix32 = findTool("bridges", "carla-bridge-posix32")
carla_bridge_posix64 = findTool("bridges", "carla-bridge-posix64")

# -------------------------------------------------------------
# find generic tools

carla_bridge_lv2_external = findTool("bridges", "carla-bridge-lv2-external")

# -------------------------------------------------------------
# find windows only tools

if WINDOWS:
carla_bridge_lv2_windows = findTool("bridges", "carla-bridge-lv2-windows.exe")
carla_bridge_vst_hwnd = findTool("bridges", "carla-bridge-vst-hwnd.exe")

# -------------------------------------------------------------
# find mac os only tools

elif MACOS:
carla_bridge_lv2_cocoa = findTool("bridges", "carla-bridge-lv2-cocoa")
carla_bridge_vst_mac = findTool("bridges", "carla-bridge-vst-mac")

# -------------------------------------------------------------
# find other tools

else:
carla_bridge_lv2_gtk2 = findTool("bridges", "carla-bridge-lv2-gtk2")
carla_bridge_lv2_gtk3 = findTool("bridges", "carla-bridge-lv2-gtk3")
carla_bridge_lv2_qt4 = findTool("bridges", "carla-bridge-lv2-qt4")
carla_bridge_lv2_qt5 = findTool("bridges", "carla-bridge-lv2-qt5")
carla_bridge_lv2_x11 = findTool("bridges", "carla-bridge-lv2-x11")
carla_bridge_vst_x11 = findTool("bridges", "carla-bridge-vst-x11")

if not libfilename:
if failError:
@@ -584,79 +530,29 @@ def initHost(appName, libPrefix = None, failError = True):
Carla.host = Host(libfilename)

# -------------------------------------------------------------
# Set internal stuff

Carla.host.set_engine_option(OPTION_PROCESS_NAME, 0, os.path.basename(appName))
# Set binary path

NSM_URL = os.getenv("NSM_URL")
libfolder = libfilename.replace(libname, "")
localBinaries = os.path.join(libfolder, "..", "bridges")
systemBinaries = os.path.join(libfolder, "bridges")

if NSM_URL:
Carla.host.nsm_announce(NSM_URL, appName, os.getpid())
if os.path.exists(libfolder):
Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, libfolder)
elif os.path.exists(localBinaries):
Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, localBinaries)
elif os.path.exists(systemBinaries):
Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, systemBinaries)

# -------------------------------------------------------------
# Set resource path

localResources = os.path.join(libfilename.replace(libname, ""), "..", "modules", "carla_native", "resources")
systemResources = os.path.join(libfilename.replace(libname, ""), "resources")
localResources = os.path.join(libfolder, "..", "modules", "carla_native", "resources")
systemResources = os.path.join(libfolder, "resources")

if os.path.exists(localResources):
Carla.host.set_engine_option(OPTION_PATH_RESOURCES, 0, localResources)
Carla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, localResources)
elif os.path.exists(systemResources):
Carla.host.set_engine_option(OPTION_PATH_RESOURCES, 0, systemResources)

# -------------------------------------------------------------
# Set bridge paths

if carla_bridge_native:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_NATIVE, 0, carla_bridge_native)

if carla_bridge_posix32:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_POSIX32, 0, carla_bridge_posix32)

if carla_bridge_posix64:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_POSIX64, 0, carla_bridge_posix64)

if carla_bridge_win32:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_WIN32, 0, carla_bridge_win32)

if carla_bridge_win64:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_WIN64, 0, carla_bridge_win64)

if carla_bridge_lv2_external:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_EXTERNAL, 0, carla_bridge_lv2_external)

if WINDOWS:
if carla_bridge_lv2_windows:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_WINDOWS, 0, carla_bridge_lv2_windows)

if carla_bridge_vst_hwnd:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_VST_HWND, 0, carla_bridge_vst_hwnd)

elif MACOS:
if carla_bridge_lv2_cocoa:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_COCOA, 0, carla_bridge_lv2_cocoa)

if carla_bridge_vst_mac:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_VST_MAC, 0, carla_bridge_vst_mac)

else:
if carla_bridge_lv2_gtk2:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_GTK2, 0, carla_bridge_lv2_gtk2)

if carla_bridge_lv2_gtk3:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_GTK3, 0, carla_bridge_lv2_gtk3)

if carla_bridge_lv2_qt4:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_QT4, 0, carla_bridge_lv2_qt4)

if carla_bridge_lv2_qt5:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_QT5, 0, carla_bridge_lv2_qt5)

if carla_bridge_lv2_x11:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_LV2_X11, 0, carla_bridge_lv2_x11)

if carla_bridge_vst_x11:
Carla.host.set_engine_option(OPTION_PATH_BRIDGE_VST_X11, 0, carla_bridge_vst_x11)
Carla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, systemResources)

# ------------------------------------------------------------------------------------------------------------
# Check if a value is a number (float support)


+ 26
- 44
source/carla_widgets.py View File

@@ -52,7 +52,7 @@ ICON_STATE_ON = 3
gFakePluginInfo = {
"type": PLUGIN_NONE,
"category": PLUGIN_CATEGORY_SYNTH,
"hints": PLUGIN_CAN_DRYWET|PLUGIN_CAN_VOLUME|PLUGIN_CAN_PANNING, # PLUGIN_IS_SYNTH
"hints": PLUGIN_IS_SYNTH|PLUGIN_CAN_DRYWET|PLUGIN_CAN_VOLUME|PLUGIN_CAN_PANNING,
"optionsAvailable": 0x1FF, # all
"optionsEnabled": 0x1FF, # all
"binary": "AwesoomeBinary.yeah",
@@ -66,8 +66,7 @@ gFakePluginInfo = {
}

gFakeParamInfo = {
'type': PARAMETER_INPUT,
'hints': PARAMETER_IS_ENABLED|PARAMETER_IS_AUTOMABLE,
'hints': PARAMETER_IS_INPUT|PARAMETER_IS_ENABLED|PARAMETER_IS_AUTOMABLE,
'name': "Parameter Name",
'unit': "",
'scalePoints': [],
@@ -120,11 +119,11 @@ class CarlaAboutW(QDialog):
self.adjustSize()

else:
self.ui.l_extended.setText(cString(Carla.host.get_extended_license_text()))
self.ui.l_extended.setText(Carla.host.get_complete_license_text())

if Carla.host.is_engine_running():
self.ui.le_osc_url_tcp.setText(cString(Carla.host.get_host_osc_url_tcp()))
self.ui.le_osc_url_udp.setText(cString(Carla.host.get_host_osc_url_udp()))
self.ui.le_osc_url_tcp.setText(Carla.host.get_host_osc_url_tcp())
self.ui.le_osc_url_udp.setText(Carla.host.get_host_osc_url_udp())
else:
self.ui.le_osc_url_tcp.setText(self.tr("(Engine not running)"))
self.ui.le_osc_url_udp.setText(self.tr("(Engine not running)"))
@@ -219,46 +218,29 @@ class PluginParameter(QWidget):
self.ui.label.setText(pInfo['name'])
self.ui.widget.setName(pInfo['name'])

if pType == PARAMETER_INPUT:
self.ui.widget.setMinimum(pInfo['minimum'])
self.ui.widget.setMaximum(pInfo['maximum'])
self.ui.widget.setDefault(pInfo['default'])
self.ui.widget.setValue(pInfo['current'], False)
self.ui.widget.setLabel(pInfo['unit'])
self.ui.widget.setStep(pInfo['step'])
self.ui.widget.setStepSmall(pInfo['stepSmall'])
self.ui.widget.setStepLarge(pInfo['stepLarge'])
self.ui.widget.setScalePoints(pInfo['scalePoints'], bool(pHints & PARAMETER_USES_SCALEPOINTS))

if not pHints & PARAMETER_IS_ENABLED:
self.ui.label.setEnabled(False)
self.ui.widget.setEnabled(False)
self.ui.widget.setReadOnly(True)
self.ui.sb_control.setEnabled(False)
self.ui.sb_channel.setEnabled(False)

elif not pHints & PARAMETER_IS_AUTOMABLE:
self.ui.sb_control.setEnabled(False)
self.ui.sb_channel.setEnabled(False)

if pHints & PARAMETER_IS_READ_ONLY:
self.ui.widget.setReadOnly(True)

elif pType == PARAMETER_OUTPUT:
self.ui.widget.setMinimum(pInfo['minimum'])
self.ui.widget.setMaximum(pInfo['maximum'])
self.ui.widget.setValue(pInfo['current'], False)
self.ui.widget.setLabel(pInfo['unit'])
self.ui.widget.setMinimum(pInfo['minimum'])
self.ui.widget.setMaximum(pInfo['maximum'])
self.ui.widget.setDefault(pInfo['default'])
self.ui.widget.setValue(pInfo['current'], False)
self.ui.widget.setLabel(pInfo['unit'])
self.ui.widget.setStep(pInfo['step'])
self.ui.widget.setStepSmall(pInfo['stepSmall'])
self.ui.widget.setStepLarge(pInfo['stepLarge'])
self.ui.widget.setScalePoints(pInfo['scalePoints'], bool(pHints & PARAMETER_USES_SCALEPOINTS))

if not pHints & PARAMETER_IS_ENABLED:
self.ui.label.setEnabled(False)
self.ui.widget.setEnabled(False)
self.ui.widget.setReadOnly(True)
self.ui.sb_control.setEnabled(False)
self.ui.sb_channel.setEnabled(False)

if not pHints & PARAMETER_IS_AUTOMABLE:
self.ui.sb_control.setEnabled(False)
self.ui.sb_channel.setEnabled(False)
elif not pHints & PARAMETER_IS_AUTOMABLE:
self.ui.sb_control.setEnabled(False)
self.ui.sb_channel.setEnabled(False)

else:
self.ui.widget.setVisible(False)
self.ui.sb_control.setVisible(False)
self.ui.sb_channel.setVisible(False)
if pHints & PARAMETER_IS_READ_ONLY:
self.ui.widget.setReadOnly(True)

if pHints & PARAMETER_USES_CUSTOM_TEXT:
self.ui.widget.setTextCallback(self._textCallBack)
@@ -369,7 +351,7 @@ class PluginParameter(QWidget):
self.valueChanged.emit(self.fParameterId, value)

def _textCallBack(self):
return cString(Carla.host.get_parameter_text(self.fPluginId, self.fParameterId))
return Carla.host.get_parameter_text(self.fPluginId, self.fParameterId)

# ------------------------------------------------------------------------------------------------------------
# Plugin Editor (Built-in)


Loading…
Cancel
Save