| @@ -41,6 +41,7 @@ | |||
| <file>48x48/jack.png</file> | |||
| <file>48x48/juce.png</file> | |||
| <file>48x48/folder.png</file> | |||
| <file>48x48/warning.png</file> | |||
| <file>48x48/carla.png</file> | |||
| <file>48x48/carla-control.png</file> | |||
| @@ -6,7 +6,7 @@ | |||
| <rect> | |||
| <x>0</x> | |||
| <y>0</y> | |||
| <width>607</width> | |||
| <width>612</width> | |||
| <height>465</height> | |||
| </rect> | |||
| </property> | |||
| @@ -86,6 +86,11 @@ | |||
| <string>paths</string> | |||
| </property> | |||
| </row> | |||
| <row> | |||
| <property name="text"> | |||
| <string>experimental</string> | |||
| </property> | |||
| </row> | |||
| <column> | |||
| <property name="text"> | |||
| <string>Widget</string> | |||
| @@ -166,6 +171,24 @@ | |||
| <set>ItemIsSelectable|ItemIsEnabled</set> | |||
| </property> | |||
| </item> | |||
| <item row="4" column="0"> | |||
| <property name="text"> | |||
| <string>Experimental</string> | |||
| </property> | |||
| <property name="font"> | |||
| <font> | |||
| <weight>75</weight> | |||
| <bold>true</bold> | |||
| </font> | |||
| </property> | |||
| <property name="icon"> | |||
| <iconset resource="../resources.qrc"> | |||
| <normaloff>:/48x48/warning.png</normaloff>:/48x48/warning.png</iconset> | |||
| </property> | |||
| <property name="flags"> | |||
| <set>ItemIsSelectable|ItemIsEnabled</set> | |||
| </property> | |||
| </item> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| @@ -289,7 +312,7 @@ | |||
| <enum>Qt::Horizontal</enum> | |||
| </property> | |||
| <property name="sizeType"> | |||
| <enum>QSizePolicy::Fixed</enum> | |||
| <enum>QSizePolicy::Preferred</enum> | |||
| </property> | |||
| <property name="sizeHint" stdset="0"> | |||
| <size> | |||
| @@ -396,15 +419,15 @@ | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QGroupBox" name="group_main_advanced"> | |||
| <widget class="QGroupBox" name="group_main_experimental"> | |||
| <property name="title"> | |||
| <string>Advanced</string> | |||
| <string>Experimental</string> | |||
| </property> | |||
| <layout class="QVBoxLayout" name="verticalLayout_10"> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_main_load_lib_local"> | |||
| <widget class="QCheckBox" name="ch_main_experimental"> | |||
| <property name="text"> | |||
| <string>Load Carla backend in local namespace (RECOMMENDED)</string> | |||
| <string>Enable experimental features</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| @@ -627,17 +650,7 @@ | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_eyecandy"> | |||
| <property name="text"> | |||
| <string>Fancy Eye-candy</string> | |||
| </property> | |||
| <property name="tristate"> | |||
| <bool>true</bool> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_use_opengl"> | |||
| <property name="text"> | |||
| <string>Use OpenGL for rendering (EXPERIMENTAL, needs restart)</string> | |||
| <string>Basic eye-candy (group shadows)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| @@ -660,16 +673,6 @@ | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_render_hq_aa"> | |||
| <property name="enabled"> | |||
| <bool>false</bool> | |||
| </property> | |||
| <property name="text"> | |||
| <string>High Quality Antiliasing (OpenGL only)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| @@ -966,36 +969,6 @@ | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QGroupBox" name="groupBox_2"> | |||
| <property name="title"> | |||
| <string>Advanced</string> | |||
| </property> | |||
| <layout class="QVBoxLayout" name="verticalLayout_17"> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_force_stereo"> | |||
| <property name="toolTip"> | |||
| <string>Force mono plugins as stereo by running 2 instances at the same time. | |||
| This mode is not available for VST plugins.</string> | |||
| </property> | |||
| <property name="text"> | |||
| <string>Force mono plugins as stereo (EXPERIMENTAL)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_prefer_plugin_bridges"> | |||
| <property name="toolTip"> | |||
| <string>Whenever possible, run the plugins in bridge mode.</string> | |||
| </property> | |||
| <property name="text"> | |||
| <string>Run plugins in bridge mode when possible (EXPERIMENTAL)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QLabel" name="label_15"> | |||
| <property name="maximumSize"> | |||
| @@ -1407,6 +1380,221 @@ This mode is not available for VST plugins.</string> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| <widget class="QWidget" name="page_experimental"> | |||
| <layout class="QVBoxLayout" name="verticalLayout_21"> | |||
| <property name="margin"> | |||
| <number>2</number> | |||
| </property> | |||
| <item> | |||
| <layout class="QHBoxLayout" name="horizontalLayout_15"> | |||
| <item> | |||
| <widget class="QLabel" name="label_11"> | |||
| <property name="text"> | |||
| <string><b>Experimental</b></string> | |||
| </property> | |||
| <property name="alignment"> | |||
| <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <spacer name="horizontalSpacer_22"> | |||
| <property name="orientation"> | |||
| <enum>Qt::Horizontal</enum> | |||
| </property> | |||
| <property name="sizeHint" stdset="0"> | |||
| <size> | |||
| <width>40</width> | |||
| <height>20</height> | |||
| </size> | |||
| </property> | |||
| </spacer> | |||
| </item> | |||
| <item> | |||
| <widget class="QLabel" name="label_icon_engine_2"> | |||
| <property name="text"> | |||
| <string notr="true"/> | |||
| </property> | |||
| <property name="pixmap"> | |||
| <pixmap resource="../resources.qrc">:/48x48/warning.png</pixmap> | |||
| </property> | |||
| <property name="alignment"> | |||
| <set>Qt::AlignHCenter|Qt::AlignTop</set> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </item> | |||
| <item> | |||
| <layout class="QHBoxLayout" name="horizontalLayout_12"> | |||
| <item> | |||
| <spacer name="horizontalSpacer_18"> | |||
| <property name="orientation"> | |||
| <enum>Qt::Horizontal</enum> | |||
| </property> | |||
| <property name="sizeHint" stdset="0"> | |||
| <size> | |||
| <width>40</width> | |||
| <height>20</height> | |||
| </size> | |||
| </property> | |||
| </spacer> | |||
| </item> | |||
| <item> | |||
| <widget class="QLabel" name="label_16"> | |||
| <property name="maximumSize"> | |||
| <size> | |||
| <width>22</width> | |||
| <height>22</height> | |||
| </size> | |||
| </property> | |||
| <property name="text"> | |||
| <string/> | |||
| </property> | |||
| <property name="pixmap"> | |||
| <pixmap resource="../resources.qrc">:/16x16/dialog-warning.png</pixmap> | |||
| </property> | |||
| <property name="alignment"> | |||
| <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QLabel" name="label_17"> | |||
| <property name="text"> | |||
| <string>Experimental options! Likely to be unstable!</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <spacer name="horizontalSpacer_19"> | |||
| <property name="orientation"> | |||
| <enum>Qt::Horizontal</enum> | |||
| </property> | |||
| <property name="sizeHint" stdset="0"> | |||
| <size> | |||
| <width>40</width> | |||
| <height>20</height> | |||
| </size> | |||
| </property> | |||
| </spacer> | |||
| </item> | |||
| </layout> | |||
| </item> | |||
| <item> | |||
| <widget class="QGroupBox" name="group_advanced_main"> | |||
| <property name="title"> | |||
| <string>Main</string> | |||
| </property> | |||
| <layout class="QVBoxLayout" name="verticalLayout_17"> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_advanced_plugin_bridges"> | |||
| <property name="text"> | |||
| <string>Enable plugin bridges</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_advanced_load_lib_global"> | |||
| <property name="text"> | |||
| <string>Load Carla backend in global namespace (NOT RECOMMENDED)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QGroupBox" name="group_advanced_canvas"> | |||
| <property name="title"> | |||
| <string>Canvas</string> | |||
| </property> | |||
| <layout class="QVBoxLayout" name="verticalLayout_16"> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_fancy_eyecandy"> | |||
| <property name="text"> | |||
| <string>Fancy eye-candy (fade-in/out groups, glow connections)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_use_opengl"> | |||
| <property name="text"> | |||
| <string>Use OpenGL for rendering (needs restart)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="cb_canvas_render_hq_aa"> | |||
| <property name="enabled"> | |||
| <bool>false</bool> | |||
| </property> | |||
| <property name="text"> | |||
| <string>High Quality Antiliasing (OpenGL only)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QGroupBox" name="group_avanced_engine"> | |||
| <property name="title"> | |||
| <string>Engine</string> | |||
| </property> | |||
| <layout class="QVBoxLayout" name="verticalLayout_20"> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_force_stereo"> | |||
| <property name="toolTip"> | |||
| <string>Force mono plugins as stereo by running 2 instances at the same time. | |||
| This mode is not available for VST plugins.</string> | |||
| </property> | |||
| <property name="text"> | |||
| <string>Force mono plugins as stereo</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_prefer_plugin_bridges"> | |||
| <property name="toolTip"> | |||
| <string>Whenever possible, run the plugins in bridge mode.</string> | |||
| </property> | |||
| <property name="text"> | |||
| <string>Run plugins in bridge mode when possible</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <spacer name="verticalSpacer_4"> | |||
| <property name="orientation"> | |||
| <enum>Qt::Vertical</enum> | |||
| </property> | |||
| <property name="sizeHint" stdset="0"> | |||
| <size> | |||
| <width>20</width> | |||
| <height>70</height> | |||
| </size> | |||
| </property> | |||
| </spacer> | |||
| </item> | |||
| <item> | |||
| <widget class="QLabel" name="label_25"> | |||
| <property name="maximumSize"> | |||
| <size> | |||
| <width>16777215</width> | |||
| <height>5</height> | |||
| </size> | |||
| </property> | |||
| <property name="text"> | |||
| <string/> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| </layout> | |||
| </widget> | |||
| <widget class="QWidget" name="page"/> | |||
| </widget> | |||
| </item> | |||
| @@ -1480,22 +1668,6 @@ This mode is not available for VST plugins.</string> | |||
| </hint> | |||
| </hints> | |||
| </connection> | |||
| <connection> | |||
| <sender>cb_canvas_use_opengl</sender> | |||
| <signal>toggled(bool)</signal> | |||
| <receiver>cb_canvas_render_hq_aa</receiver> | |||
| <slot>setEnabled(bool)</slot> | |||
| <hints> | |||
| <hint type="sourcelabel"> | |||
| <x>227</x> | |||
| <y>34</y> | |||
| </hint> | |||
| <hint type="destinationlabel"> | |||
| <x>227</x> | |||
| <y>43</y> | |||
| </hint> | |||
| </hints> | |||
| </connection> | |||
| <connection> | |||
| <sender>ch_main_theme_pro</sender> | |||
| <signal>toggled(bool)</signal> | |||
| @@ -1544,5 +1716,21 @@ This mode is not available for VST plugins.</string> | |||
| </hint> | |||
| </hints> | |||
| </connection> | |||
| <connection> | |||
| <sender>cb_canvas_use_opengl</sender> | |||
| <signal>toggled(bool)</signal> | |||
| <receiver>cb_canvas_render_hq_aa</receiver> | |||
| <slot>setEnabled(bool)</slot> | |||
| <hints> | |||
| <hint type="sourcelabel"> | |||
| <x>402</x> | |||
| <y>220</y> | |||
| </hint> | |||
| <hint type="destinationlabel"> | |||
| <x>402</x> | |||
| <y>243</y> | |||
| </hint> | |||
| </hints> | |||
| </connection> | |||
| </connections> | |||
| </ui> | |||
| @@ -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 | |||
| @@ -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) | |||
| @@ -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() | |||
| @@ -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() | |||
| @@ -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) | |||