diff --git a/resources/48x48/warning.png b/resources/48x48/warning.png
new file mode 100644
index 000000000..80bd694e7
Binary files /dev/null and b/resources/48x48/warning.png differ
diff --git a/resources/resources.qrc b/resources/resources.qrc
index 991d1bfc4..87793d9f2 100644
--- a/resources/resources.qrc
+++ b/resources/resources.qrc
@@ -41,6 +41,7 @@
48x48/jack.png
48x48/juce.png
48x48/folder.png
+ 48x48/warning.png
48x48/carla.png
48x48/carla-control.png
diff --git a/resources/ui/carla_settings.ui b/resources/ui/carla_settings.ui
index d1a58a60a..d7a2617f3 100644
--- a/resources/ui/carla_settings.ui
+++ b/resources/ui/carla_settings.ui
@@ -6,7 +6,7 @@
0
0
- 607
+ 612
465
@@ -86,6 +86,11 @@
paths
+
+
+ experimental
+
+
Widget
@@ -166,6 +171,24 @@
ItemIsSelectable|ItemIsEnabled
+ -
+
+ Experimental
+
+
+
+ 75
+ true
+
+
+
+
+ :/48x48/warning.png:/48x48/warning.png
+
+
+ ItemIsSelectable|ItemIsEnabled
+
+
-
@@ -289,7 +312,7 @@
Qt::Horizontal
- QSizePolicy::Fixed
+ QSizePolicy::Preferred
@@ -396,15 +419,15 @@
-
-
+
- Advanced
+ Experimental
-
-
+
- Load Carla backend in local namespace (RECOMMENDED)
+ Enable experimental features
@@ -627,17 +650,7 @@
-
- Fancy Eye-candy
-
-
- true
-
-
-
- -
-
-
- Use OpenGL for rendering (EXPERIMENTAL, needs restart)
+ Basic eye-candy (group shadows)
@@ -660,16 +673,6 @@
- -
-
-
- false
-
-
- High Quality Antiliasing (OpenGL only)
-
-
-
@@ -966,36 +969,6 @@
- -
-
-
- Advanced
-
-
-
-
-
-
- Force mono plugins as stereo by running 2 instances at the same time.
-This mode is not available for VST plugins.
-
-
- Force mono plugins as stereo (EXPERIMENTAL)
-
-
-
- -
-
-
- Whenever possible, run the plugins in bridge mode.
-
-
- Run plugins in bridge mode when possible (EXPERIMENTAL)
-
-
-
-
-
-
-
@@ -1407,6 +1380,221 @@ This mode is not available for VST plugins.
+
+
+
+ 2
+
+ -
+
+
-
+
+
+ <b>Experimental</b>
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+
+ :/48x48/warning.png
+
+
+ Qt::AlignHCenter|Qt::AlignTop
+
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 22
+ 22
+
+
+
+
+
+
+ :/16x16/dialog-warning.png
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Experimental options! Likely to be unstable!
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ Main
+
+
+
-
+
+
+ Enable plugin bridges
+
+
+
+ -
+
+
+ Load Carla backend in global namespace (NOT RECOMMENDED)
+
+
+
+
+
+
+ -
+
+
+ Canvas
+
+
+
-
+
+
+ Fancy eye-candy (fade-in/out groups, glow connections)
+
+
+
+ -
+
+
+ Use OpenGL for rendering (needs restart)
+
+
+
+ -
+
+
+ false
+
+
+ High Quality Antiliasing (OpenGL only)
+
+
+
+
+
+
+ -
+
+
+ Engine
+
+
+
-
+
+
+ Force mono plugins as stereo by running 2 instances at the same time.
+This mode is not available for VST plugins.
+
+
+ Force mono plugins as stereo
+
+
+
+ -
+
+
+ Whenever possible, run the plugins in bridge mode.
+
+
+ Run plugins in bridge mode when possible
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 70
+
+
+
+
+ -
+
+
+
+ 16777215
+ 5
+
+
+
+
+
+
+
+
+
@@ -1480,22 +1668,6 @@ This mode is not available for VST plugins.
-
- cb_canvas_use_opengl
- toggled(bool)
- cb_canvas_render_hq_aa
- setEnabled(bool)
-
-
- 227
- 34
-
-
- 227
- 43
-
-
-
ch_main_theme_pro
toggled(bool)
@@ -1544,5 +1716,21 @@ This mode is not available for VST plugins.
+
+ cb_canvas_use_opengl
+ toggled(bool)
+ cb_canvas_render_hq_aa
+ setEnabled(bool)
+
+
+ 402
+ 220
+
+
+ 402
+ 243
+
+
+
diff --git a/source/carla_backend.py b/source/carla_backend.py
index d089a1d6d..616e390b3 100644
--- a/source/carla_backend.py
+++ b/source/carla_backend.py
@@ -2122,13 +2122,13 @@ class CarlaHostNull(CarlaHostMeta):
# Carla Host object using a DLL
class CarlaHostDLL(CarlaHostMeta):
- def __init__(self, libName, localLoad):
+ def __init__(self, libName, loadGlobal):
CarlaHostMeta.__init__(self)
# info about this host object
self.isPlugin = False
- self.lib = CDLL(libName, RTLD_LOCAL if localLoad else RTLD_GLOBAL)
+ self.lib = CDLL(libName, RTLD_GLOBAL if loadGlobal else RTLD_LOCAL)
self.lib.carla_get_engine_driver_count.argtypes = None
self.lib.carla_get_engine_driver_count.restype = c_uint
diff --git a/source/carla_backend_qt.py b/source/carla_backend_qt.py
index eff13d480..e960dcc88 100644
--- a/source/carla_backend_qt.py
+++ b/source/carla_backend_qt.py
@@ -91,9 +91,9 @@ class CarlaHostQtNull(CarlaHostNull, CarlaHostSignals):
# Carla Host object using a DLL
class CarlaHostQtDLL(CarlaHostDLL, CarlaHostSignals):
- def __init__(self, libName, localLoad):
+ def __init__(self, libName, loadGlobal):
CarlaHostSignals.__init__(self)
- CarlaHostDLL.__init__(self, libName, localLoad)
+ CarlaHostDLL.__init__(self, libName, loadGlobal)
# ------------------------------------------------------------------------------------------------------------
# Carla Host object for plugins (using pipes)
diff --git a/source/carla_host.py b/source/carla_host.py
index 44230f82a..acc0b5e79 100644
--- a/source/carla_host.py
+++ b/source/carla_host.py
@@ -1094,7 +1094,13 @@ class HostWindow(QMainWindow):
pOptions.auto_select_items = self.fSavedSettings[CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS]
pOptions.use_bezier_lines = self.fSavedSettings[CARLA_KEY_CANVAS_USE_BEZIER_LINES]
pOptions.antialiasing = self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING]
- pOptions.eyecandy = self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY]
+
+ if self.fSavedSettings[CARLA_KEY_CANVAS_FANCY_EYE_CANDY]:
+ pOptions.eyecandy = patchcanvas.EYECANDY_FULL
+ elif self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY]:
+ pOptions.eyecandy = patchcanvas.EYECANDY_SMALL
+ else:
+ pOptions.eyecandy = patchcanvas.EYECANDY_NONE
pFeatures = patchcanvas.features_t()
pFeatures.group_info = False
@@ -1420,12 +1426,14 @@ class HostWindow(QMainWindow):
CARLA_KEY_MAIN_PROJECT_FOLDER: settings.value(CARLA_KEY_MAIN_PROJECT_FOLDER, CARLA_DEFAULT_MAIN_PROJECT_FOLDER, type=str),
CARLA_KEY_MAIN_REFRESH_INTERVAL: settings.value(CARLA_KEY_MAIN_REFRESH_INTERVAL, CARLA_DEFAULT_MAIN_REFRESH_INTERVAL, type=int),
CARLA_KEY_MAIN_USE_CUSTOM_SKINS: settings.value(CARLA_KEY_MAIN_USE_CUSTOM_SKINS, CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS, type=bool),
+ CARLA_KEY_MAIN_EXPERIMENTAL: settings.value(CARLA_KEY_MAIN_EXPERIMENTAL, CARLA_DEFAULT_MAIN_EXPERIMENTAL, type=bool),
CARLA_KEY_CANVAS_THEME: settings.value(CARLA_KEY_CANVAS_THEME, CARLA_DEFAULT_CANVAS_THEME, type=str),
CARLA_KEY_CANVAS_SIZE: settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str),
CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS: settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool),
CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS: settings.value(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS, type=bool),
CARLA_KEY_CANVAS_USE_BEZIER_LINES: settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool),
- CARLA_KEY_CANVAS_EYE_CANDY: settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int),
+ CARLA_KEY_CANVAS_EYE_CANDY: settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=bool),
+ CARLA_KEY_CANVAS_FANCY_EYE_CANDY: settings.value(CARLA_KEY_CANVAS_FANCY_EYE_CANDY, CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY, type=bool),
CARLA_KEY_CANVAS_USE_OPENGL: settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool),
CARLA_KEY_CANVAS_ANTIALIASING: settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int),
CARLA_KEY_CANVAS_HQ_ANTIALIASING : settings.value(CARLA_KEY_CANVAS_HQ_ANTIALIASING, CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING, type=bool),
@@ -1433,7 +1441,7 @@ class HostWindow(QMainWindow):
settings.value(CARLA_KEY_MAIN_PRO_THEME_COLOR, "Black", type=str).lower() == "black")
}
- self.fMiniCanvasUpdateTimeout = 1000 if self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] == patchcanvas.EYECANDY_FULL else 0
+ self.fMiniCanvasUpdateTimeout = 1000 if self.fSavedSettings[CARLA_KEY_CANVAS_FANCY_EYE_CANDY] else 0
setEngineSettings(self.host)
self.restartTimersIfNeeded()
@@ -2381,9 +2389,9 @@ def initHost(initName, libPrefix, isControl, isPlugin, failError, HostClass = No
settings = QSettings("falkTX", "Carla2")
try:
- loadLocal = settings.value(CARLA_KEY_MAIN_LOAD_LIB_LOCAL, CARLA_DEFAULT_MAIN_LOAD_LIB_LOCAL, type=bool)
+ loadGlobal = settings.value(CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL, CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL, type=bool)
except:
- loadLocal = CARLA_DEFAULT_MAIN_LOAD_LIB_LOCAL
+ loadGlobal = CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL
# --------------------------------------------------------------------------------------------------------
# Fail if binary dir is not found
@@ -2418,10 +2426,10 @@ def initHost(initName, libPrefix, isControl, isPlugin, failError, HostClass = No
if failError:
# no try
- host = HostClass() if HostClass is not None else CarlaHostQtDLL(libname, loadLocal)
+ host = HostClass() if HostClass is not None else CarlaHostQtDLL(libname, loadGlobal)
else:
try:
- host = HostClass() if HostClass is not None else CarlaHostQtDLL(libname, loadLocal)
+ host = HostClass() if HostClass is not None else CarlaHostQtDLL(libname, loadGlobal)
except:
host = CarlaHostQtNull()
diff --git a/source/carla_settings.py b/source/carla_settings.py
index 231e478e2..10b52cf6e 100755
--- a/source/carla_settings.py
+++ b/source/carla_settings.py
@@ -189,11 +189,12 @@ class DriverSettingsW(QDialog):
class CarlaSettingsW(QDialog):
# Tab indexes
- TAB_INDEX_MAIN = 0
- TAB_INDEX_CANVAS = 1
- TAB_INDEX_ENGINE = 2
- TAB_INDEX_PATHS = 3
- TAB_INDEX_NONE = 4
+ TAB_INDEX_MAIN = 0
+ TAB_INDEX_CANVAS = 1
+ TAB_INDEX_ENGINE = 2
+ TAB_INDEX_PATHS = 3
+ TAB_INDEX_EXPERIMENTAL = 4
+ TAB_INDEX_NONE = 5
# Path indexes
PATH_INDEX_LADSPA = 0
@@ -226,7 +227,7 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Set-up GUI
- self.ui.lw_page.setFixedWidth(48 + 6 + 6 + QFontMetrics(self.ui.lw_page.font()).width("88888888"))
+ self.ui.lw_page.setFixedWidth(48 + 6*3 + QFontMetrics(self.ui.lw_page.font()).width(" Experimental "))
for i in range(host.get_engine_driver_count()):
self.ui.cb_engine_audio_driver.addItem(host.get_engine_driver_name(i))
@@ -273,7 +274,7 @@ class CarlaSettingsW(QDialog):
self.ui.ch_engine_force_stereo.setEnabled(False)
if host.isControl or host.isPlugin:
- self.ui.group_main_advanced.hide()
+ self.ui.ch_advanced_load_lib_global.hide()
# FIXME, pipes on win32 not working
if WINDOWS:
@@ -313,6 +314,10 @@ class CarlaSettingsW(QDialog):
self.ui.lw_sf2.currentRowChanged.connect(self.slot_pluginPathRowChanged)
self.ui.lw_sfz.currentRowChanged.connect(self.slot_pluginPathRowChanged)
+ self.ui.ch_main_experimental.toggled.connect(self.slot_enableExperimental)
+ self.ui.cb_canvas_eyecandy.toggled.connect(self.slot_canvasEyeCandyToggled)
+ self.ui.cb_canvas_fancy_eyecandy.toggled.connect(self.slot_canvasFancyEyeCandyToggled)
+
# ----------------------------------------------------------------------------------------------------
# Post-connect setup
@@ -353,7 +358,8 @@ class CarlaSettingsW(QDialog):
self.ui.cb_canvas_bezier_lines.setChecked(settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool))
self.ui.cb_canvas_hide_groups.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool))
self.ui.cb_canvas_auto_select.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS, type=bool))
- self.ui.cb_canvas_eyecandy.setCheckState(settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int))
+ self.ui.cb_canvas_eyecandy.setChecked(settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=bool))
+ self.ui.cb_canvas_fancy_eyecandy.setChecked(settings.value(CARLA_KEY_CANVAS_FANCY_EYE_CANDY, CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY, type=bool))
self.ui.cb_canvas_use_opengl.setChecked(settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool) and self.ui.cb_canvas_use_opengl.isEnabled())
self.ui.cb_canvas_render_aa.setCheckState(settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int))
self.ui.cb_canvas_render_hq_aa.setChecked(settings.value(CARLA_KEY_CANVAS_HQ_ANTIALIASING, CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING, type=bool) and self.ui.cb_canvas_render_hq_aa.isEnabled())
@@ -365,7 +371,11 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Main
- self.ui.ch_main_load_lib_local.setChecked(settings.value(CARLA_KEY_MAIN_LOAD_LIB_LOCAL, CARLA_DEFAULT_MAIN_LOAD_LIB_LOCAL, type=bool))
+ experimental = settings.value(CARLA_KEY_MAIN_EXPERIMENTAL, CARLA_DEFAULT_MAIN_EXPERIMENTAL, type=bool)
+ self.ui.ch_main_experimental.setChecked(experimental)
+
+ if not experimental:
+ self.ui.lw_page.hideRow(self.TAB_INDEX_EXPERIMENTAL)
# ----------------------------------------------------------------------------------------------------
# Engine
@@ -459,6 +469,17 @@ class CarlaSettingsW(QDialog):
if not sfz: continue
self.ui.lw_sfz.addItem(sfz)
+ # ----------------------------------------------------------------------------------------------------
+ # Experimental
+
+ self.ui.cb_advanced_plugin_bridges.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_PLUGIN_BRIDGES,
+ CARLA_DEFAULT_EXPERIMENTAL_PLUGIN_BRIDGES,
+ type=bool))
+
+ self.ui.ch_advanced_load_lib_global.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL,
+ CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL,
+ type=bool))
+
# --------------------------------------------------------------------------------------------------------
@pyqtSlot()
@@ -490,7 +511,8 @@ class CarlaSettingsW(QDialog):
settings.setValue(CARLA_KEY_CANVAS_USE_BEZIER_LINES, self.ui.cb_canvas_bezier_lines.isChecked())
settings.setValue(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, self.ui.cb_canvas_hide_groups.isChecked())
settings.setValue(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, self.ui.cb_canvas_auto_select.isChecked())
- settings.setValue(CARLA_KEY_CANVAS_EYE_CANDY, self.ui.cb_canvas_eyecandy.checkState()) # 0, 1, 2 match their enum variants
+ settings.setValue(CARLA_KEY_CANVAS_EYE_CANDY, self.ui.cb_canvas_eyecandy.isChecked())
+ settings.setValue(CARLA_KEY_CANVAS_FANCY_EYE_CANDY, self.ui.cb_canvas_fancy_eyecandy.isChecked())
settings.setValue(CARLA_KEY_CANVAS_USE_OPENGL, self.ui.cb_canvas_use_opengl.isChecked())
settings.setValue(CARLA_KEY_CANVAS_HQ_ANTIALIASING, self.ui.cb_canvas_render_hq_aa.isChecked())
settings.setValue(CARLA_KEY_CANVAS_ANTIALIASING, self.ui.cb_canvas_render_aa.checkState()) # 0, 1, 2 match their enum variants
@@ -502,7 +524,7 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Main
- settings.setValue(CARLA_KEY_MAIN_LOAD_LIB_LOCAL, self.ui.ch_main_load_lib_local.isChecked())
+ settings.setValue(CARLA_KEY_MAIN_EXPERIMENTAL, self.ui.ch_main_experimental.isChecked())
# ----------------------------------------------------------------------------------------------------
# Engine
@@ -597,6 +619,12 @@ class CarlaSettingsW(QDialog):
settings.setValue(CARLA_KEY_PATHS_SF2, sf2s)
settings.setValue(CARLA_KEY_PATHS_SFZ, sfzs)
+ # ----------------------------------------------------------------------------------------------------
+ # Experimental
+
+ settings.setValue(CARLA_KEY_EXPERIMENTAL_PLUGIN_BRIDGES, self.ui.cb_advanced_plugin_bridges.isChecked())
+ settings.setValue(CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL, self.ui.ch_advanced_load_lib_global.isChecked())
+
# --------------------------------------------------------------------------------------------------------
@pyqtSlot()
@@ -612,7 +640,6 @@ class CarlaSettingsW(QDialog):
self.ui.ch_main_use_custom_skins.setChecked(CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS)
self.ui.ch_main_manage_uis.setChecked(CARLA_DEFAULT_MAIN_MANAGE_UIS)
self.ui.ch_main_show_logs.setChecked(CARLA_DEFAULT_MAIN_SHOW_LOGS)
- self.ui.ch_main_load_lib_local.setChecked(CARLA_DEFAULT_MAIN_LOAD_LIB_LOCAL)
# ----------------------------------------------------------------------------------------------------
# Canvas
@@ -623,10 +650,8 @@ class CarlaSettingsW(QDialog):
self.ui.cb_canvas_bezier_lines.setChecked(CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES)
self.ui.cb_canvas_hide_groups.setChecked(CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS)
self.ui.cb_canvas_auto_select.setChecked(CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS)
- self.ui.cb_canvas_eyecandy.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_EYE_CANDY
- self.ui.cb_canvas_use_opengl.setChecked(CARLA_DEFAULT_CANVAS_USE_OPENGL and self.ui.cb_canvas_use_opengl.isEnabled())
+ self.ui.cb_canvas_eyecandy.setChecked(CARLA_DEFAULT_CANVAS_EYE_CANDY)
self.ui.cb_canvas_render_aa.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_ANTIALIASING
- self.ui.cb_canvas_render_hq_aa.setChecked(CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING and self.ui.cb_canvas_render_hq_aa.isEnabled())
# ----------------------------------------------------------------------------------------------------
# Engine
@@ -647,8 +672,6 @@ class CarlaSettingsW(QDialog):
self.ui.ch_engine_uis_always_on_top.setChecked(CARLA_DEFAULT_UIS_ALWAYS_ON_TOP)
self.ui.ch_engine_prefer_ui_bridges.setChecked(CARLA_DEFAULT_PREFER_UI_BRIDGES)
self.ui.sb_engine_ui_bridges_timeout.setValue(CARLA_DEFAULT_UI_BRIDGES_TIMEOUT)
- self.ui.ch_engine_force_stereo.setChecked(CARLA_DEFAULT_FORCE_STEREO)
- self.ui.ch_engine_prefer_plugin_bridges.setChecked(CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES)
# ----------------------------------------------------------------------------------------------------
# Paths
@@ -728,6 +751,40 @@ class CarlaSettingsW(QDialog):
if not path: continue
self.ui.lw_sfz.addItem(path)
+ # ----------------------------------------------------------------------------------------------------
+ # Paths
+
+ elif self.ui.lw_page.currentRow() == self.TAB_INDEX_EXPERIMENTAL:
+ # Forever experimental
+ self.ui.cb_advanced_plugin_bridges.setChecked(CARLA_DEFAULT_EXPERIMENTAL_PLUGIN_BRIDGES)
+ self.ui.ch_advanced_load_lib_global.setChecked(CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL)
+
+ # Temporary, until stable
+ self.ui.cb_canvas_fancy_eyecandy.setChecked(CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY)
+ self.ui.cb_canvas_use_opengl.setChecked(CARLA_DEFAULT_CANVAS_USE_OPENGL and self.ui.cb_canvas_use_opengl.isEnabled())
+ self.ui.cb_canvas_render_hq_aa.setChecked(CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING and self.ui.cb_canvas_render_hq_aa.isEnabled())
+ self.ui.ch_engine_force_stereo.setChecked(CARLA_DEFAULT_FORCE_STEREO)
+ self.ui.ch_engine_prefer_plugin_bridges.setChecked(CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES)
+
+ # --------------------------------------------------------------------------------------------------------
+
+ @pyqtSlot(bool)
+ def slot_enableExperimental(self, toggled):
+ if toggled:
+ self.ui.lw_page.showRow(self.TAB_INDEX_EXPERIMENTAL)
+ else:
+ self.ui.lw_page.hideRow(self.TAB_INDEX_EXPERIMENTAL)
+
+ @pyqtSlot(bool)
+ def slot_canvasEyeCandyToggled(self, toggled):
+ if not toggled:
+ self.ui.cb_canvas_fancy_eyecandy.setChecked(False)
+
+ @pyqtSlot(bool)
+ def slot_canvasFancyEyeCandyToggled(self, toggled):
+ if toggled:
+ self.ui.cb_canvas_eyecandy.setChecked(True)
+
# --------------------------------------------------------------------------------------------------------
@pyqtSlot()
diff --git a/source/carla_shared.py b/source/carla_shared.py
index 384d800da..754cb87d3 100644
--- a/source/carla_shared.py
+++ b/source/carla_shared.py
@@ -194,14 +194,15 @@ CARLA_KEY_MAIN_REFRESH_INTERVAL = "Main/RefreshInterval" # int
CARLA_KEY_MAIN_USE_CUSTOM_SKINS = "Main/UseCustomSkins" # bool
CARLA_KEY_MAIN_MANAGE_UIS = "Main/ManageUIs" # bool
CARLA_KEY_MAIN_SHOW_LOGS = "Main/ShowLogs" # bool
-CARLA_KEY_MAIN_LOAD_LIB_LOCAL = "Main/LoadLibsLocal" # bool
+CARLA_KEY_MAIN_EXPERIMENTAL = "Main/Experimental" # bool
CARLA_KEY_CANVAS_THEME = "Canvas/Theme" # str
CARLA_KEY_CANVAS_SIZE = "Canvas/Size" # str "NxN"
CARLA_KEY_CANVAS_USE_BEZIER_LINES = "Canvas/UseBezierLines" # bool
CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS = "Canvas/AutoHideGroups" # bool
CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS = "Canvas/AutoSelectItems" # bool
-CARLA_KEY_CANVAS_EYE_CANDY = "Canvas/EyeCandy" # enum
+CARLA_KEY_CANVAS_EYE_CANDY = "Canvas/EyeCandy2" # bool
+CARLA_KEY_CANVAS_FANCY_EYE_CANDY = "Canvas/FancyEyeCandy" # bool
CARLA_KEY_CANVAS_USE_OPENGL = "Canvas/UseOpenGL" # bool
CARLA_KEY_CANVAS_ANTIALIASING = "Canvas/Antialiasing" # enum
CARLA_KEY_CANVAS_HQ_ANTIALIASING = "Canvas/HQAntialiasing" # bool
@@ -226,6 +227,9 @@ CARLA_KEY_PATHS_GIG = "Paths/GIG"
CARLA_KEY_PATHS_SF2 = "Paths/SF2"
CARLA_KEY_PATHS_SFZ = "Paths/SFZ"
+CARLA_KEY_EXPERIMENTAL_PLUGIN_BRIDGES = "Main/PluginBridges" # bool
+CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL = "Main/LoadLibGlobal" # bool
+
# if pro theme is on and color is black
CARLA_KEY_CUSTOM_PAINTING = "UseCustomPainting" # bool
@@ -240,7 +244,7 @@ CARLA_DEFAULT_MAIN_REFRESH_INTERVAL = 20
CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS = True
CARLA_DEFAULT_MAIN_MANAGE_UIS = True
CARLA_DEFAULT_MAIN_SHOW_LOGS = bool(not WINDOWS)
-CARLA_DEFAULT_MAIN_LOAD_LIB_LOCAL = True
+CARLA_DEFAULT_MAIN_EXPERIMENTAL = False
# Canvas
CARLA_DEFAULT_CANVAS_THEME = "Modern Dark"
@@ -250,7 +254,8 @@ CARLA_DEFAULT_CANVAS_SIZE_HEIGHT = 2400
CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES = True
CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS = True
CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS = False
-CARLA_DEFAULT_CANVAS_EYE_CANDY = CANVAS_EYECANDY_SMALL
+CARLA_DEFAULT_CANVAS_EYE_CANDY = True
+CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY = False
CARLA_DEFAULT_CANVAS_USE_OPENGL = False
CARLA_DEFAULT_CANVAS_ANTIALIASING = CANVAS_ANTIALIASING_SMALL
CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING = False
@@ -281,6 +286,9 @@ else:
CARLA_DEFAULT_PROCESS_MODE = ENGINE_PROCESS_MODE_PATCHBAY
CARLA_DEFAULT_TRANSPORT_MODE = ENGINE_TRANSPORT_MODE_INTERNAL
+CARLA_DEFAULT_EXPERIMENTAL_PLUGIN_BRIDGES = False
+CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL = False
+
# ------------------------------------------------------------------------------------------------------------
# Default Plugin Folders (get)