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)