diff --git a/resources/ui/carla_database.ui b/resources/ui/carla_database.ui
index 8860ba4d6..e3e9e01e1 100644
--- a/resources/ui/carla_database.ui
+++ b/resources/ui/carla_database.ui
@@ -61,129 +61,157 @@
QFrame::Sunken
- -
-
+
-
+
- Effects
+ Bridged
- -
-
+
-
+
- Bridged (Wine)
+ LADSPA
- -
-
+
-
+
- Internal
+ Instruments
- -
+
-
AU
- -
-
+
-
+
- LADSPA
+ MIDI Plugins
- -
-
+
-
+
- Stereo only
+ LV2
- -
-
+
-
+
- Other/Misc
+ Native
- -
-
+
-
+
- LV2
+ Bridged (Wine)
- -
-
+
-
+
- Instruments
+ With GUI Only
- -
-
+
-
+
- Bridged
+ Stereo only
- -
+
-
Real-time safe only
- -
-
+
-
+
- DSSI
+ VST
- -
-
+
-
+
- Native
+ DSSI
- -
-
+
-
+
- MIDI Plugins
+ Other/Misc
- -
-
+
-
+
- VST
+ Internal
- -
+
-
Sound Kits
- -
+
-
VST3
- -
-
+
-
+
- With GUI Only
+ Effects
+
+
+
+ -
+
+
+ Plugin format
+
+
+
+ -
+
+
+ Category
+
+
+
+ -
+
+
+ Requirements
+
+
+
+ -
+
+
+ Architecture
diff --git a/source/carla_backend.py b/source/carla_backend.py
index 616e390b3..564f25657 100644
--- a/source/carla_backend.py
+++ b/source/carla_backend.py
@@ -1231,6 +1231,7 @@ class CarlaHostMeta(object):
self.audioDriverForced = None
# settings
+ self.experimental = False
self.forceStereo = False
self.preferPluginBridges = False
self.preferUIBridges = False
diff --git a/source/carla_database.py b/source/carla_database.py
index 3f72a11ca..f08380683 100755
--- a/source/carla_database.py
+++ b/source/carla_database.py
@@ -1283,6 +1283,21 @@ class PluginDatabaseW(QDialog):
self.loadSettings()
+ # ----------------------------------------------------------------------------------------------------
+ # Disable bridges (experimental for now)
+
+ if not host.experimental:
+ self.ui.ch_native.setChecked(True)
+ self.ui.ch_native.setEnabled(False)
+ self.ui.ch_native.setVisible(False)
+ self.ui.ch_bridged.setChecked(False)
+ self.ui.ch_bridged.setEnabled(False)
+ self.ui.ch_bridged.setVisible(False)
+ self.ui.ch_bridged_wine.setChecked(False)
+ self.ui.ch_bridged_wine.setEnabled(False)
+ self.ui.ch_bridged_wine.setVisible(False)
+ self.ui.l_arch.setVisible(False)
+
# ----------------------------------------------------------------------------------------------------
# Set-up connections
diff --git a/source/carla_host.py b/source/carla_host.py
index acc0b5e79..bd7abe25c 100644
--- a/source/carla_host.py
+++ b/source/carla_host.py
@@ -2478,6 +2478,11 @@ def loadHostSettings(host):
settings = QSettings("falkTX", "Carla2")
# bool values
+ try:
+ host.experimental = settings.value(CARLA_KEY_MAIN_EXPERIMENTAL, CARLA_DEFAULT_MAIN_EXPERIMENTAL, type=bool)
+ except:
+ host.experimental = CARLA_DEFAULT_MAIN_EXPERIMENTAL
+
try:
host.manageUIs = settings.value(CARLA_KEY_MAIN_MANAGE_UIS, CARLA_DEFAULT_MAIN_MANAGE_UIS, type=bool)
except:
diff --git a/source/carla_settings.py b/source/carla_settings.py
index 10b52cf6e..e08f40c71 100755
--- a/source/carla_settings.py
+++ b/source/carla_settings.py
@@ -371,10 +371,9 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Main
- experimental = settings.value(CARLA_KEY_MAIN_EXPERIMENTAL, CARLA_DEFAULT_MAIN_EXPERIMENTAL, type=bool)
- self.ui.ch_main_experimental.setChecked(experimental)
+ self.ui.ch_main_experimental.setChecked(self.host.experimental)
- if not experimental:
+ if not self.host.experimental:
self.ui.lw_page.hideRow(self.TAB_INDEX_EXPERIMENTAL)
# ----------------------------------------------------------------------------------------------------
@@ -524,7 +523,9 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Main
- settings.setValue(CARLA_KEY_MAIN_EXPERIMENTAL, self.ui.ch_main_experimental.isChecked())
+ self.host.experimental = self.ui.ch_main_experimental.isChecked()
+
+ settings.setValue(CARLA_KEY_MAIN_EXPERIMENTAL, self.host.experimental)
# ----------------------------------------------------------------------------------------------------
# Engine