diff --git a/resources/ui/settings_app.ui b/resources/ui/settings_app.ui index 1f6cbcd..adefe55 100644 --- a/resources/ui/settings_app.ui +++ b/resources/ui/settings_app.ui @@ -87,16 +87,6 @@ ladish - - - engine - - - - - paths - - Widget @@ -159,42 +149,6 @@ ItemIsSelectable|ItemIsEnabled - - - Engine - - - - 75 - true - - - - - :/48x48/jack.png:/48x48/jack.png - - - ItemIsSelectable|ItemIsEnabled - - - - - Paths - - - - 75 - true - - - - - :/48x48/folder.png:/48x48/folder.png - - - ItemIsSelectable|ItemIsEnabled - - @@ -737,590 +691,6 @@ - - - - 2 - - - - - - - <b>Engine</b> - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - :/48x48/exec.png - - - Qt::AlignHCenter|Qt::AlignTop - - - - - - - - - Core - - - - - - - 0 - 0 - - - - 1 - - - - - QLayout::SetMinimumSize - - - 0 - - - - - 1 - - - - Single Client - - - - - Multiple Clients - - - - - Continuous Rack (EXPERIMENTAL) - - - - - - - - - - QLayout::SetMinimumSize - - - 0 - - - - - - Continuous Rack (EXPERIMENTAL) - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Audio driver: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Process mode: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Maximum number of parameters to allow in the built-in 'Edit' dialog - - - Max Parameters: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 10 - - - - - - - - Maximum number of parameters to allow in the built-in 'Edit' dialog - - - 1000 - - - - - - - false - - - ... - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - GUIs - - - - - - How much time to wait for OSC GUIs to ping back the host - - - OSC UI Timeout: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - How much time to wait for OSC GUIs to ping back the host - - - ms - - - 10000 - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 10 - - - - - - - - Use OSC-GUI bridges when possible, this way separating the UI from DSP code - - - Use UI bridges instead of direct handling when possible - - - - - - - - - - Advanced - - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - Disable processing checks while scanning - - - - - - - Enable chunk data for dssi-vst (EXPERIMENTAL) - - - - - - - Whenever possible, run the plugins in bridge mode. - - - Run plugins in bridge mode when possible (EXPERIMENTAL) - - - - - - - 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) - - - - - - - Process audio in blocks of 8 samples, allowing a higher precision automation. -Recommended to use when 'rendering' a project. -Some plugins might not work properly under this mode. - - - High-Precision processing (EXPERIMENTAL) - - - - - - - - - - Qt::Vertical - - - - 20 - 225 - - - - - - - - - - 2 - - - - - - - <b>Paths</b> - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - :/48x48/folder.png - - - Qt::AlignHCenter|Qt::AlignTop - - - - - - - - - 0 - - - - LADSPA - - - - - - - - - - DSSI - - - - - - - - - - LV2 - - - - - - - - - - 22 - 22 - - - - - - - :/16x16/dialog-information.png - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Restart Carla to be able to load new found plugins - - - - - - - - VST - - - - - - - - - - GIG - - - - - - - - - - SF2 - - - - - - - - - - SFZ - - - - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Add... - - - - :/16x16/list-add.png:/16x16/list-add.png - - - - - - - Remove - - - - :/16x16/list-remove.png:/16x16/list-remove.png - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Change... - - - - :/16x16/edit-rename.png:/16x16/edit-rename.png - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - diff --git a/src/shared_settings.py b/src/shared_settings.py index c762f90..ad0ed5c 100644 --- a/src/shared_settings.py +++ b/src/shared_settings.py @@ -36,29 +36,7 @@ from patchcanvas_theme import * TAB_INDEX_MAIN = 0 TAB_INDEX_CANVAS = 1 TAB_INDEX_LADISH = 2 -TAB_INDEX_CARLA_ENGINE = 3 -TAB_INDEX_CARLA_PATHS = 4 -TAB_INDEX_NONE = 5 - -# Carla defines -PROCESS_MODE_SINGLE_CLIENT = 0 -PROCESS_MODE_MULTIPLE_CLIENTS = 1 -PROCESS_MODE_CONTINUOUS_RACK = 2 - -# Single and Multiple client mode is only for JACK, -# but we still want to match QComboBox index to defines, -# so add +2 pos padding if driverName != "JACK". -PROCESS_MODE_NON_JACK_PADDING = 2 - -# Carla defaults -CARLA_DEFAULT_PROCESS_HIGH_PRECISION = False -CARLA_DEFAULT_MAX_PARAMETERS = 200 -CARLA_DEFAULT_FORCE_STEREO = False -CARLA_DEFAULT_USE_DSSI_VST_CHUNKS = False -CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES = False -CARLA_DEFAULT_PREFER_UI_BRIDGES = True -CARLA_DEFAULT_OSC_UI_TIMEOUT = 4000 -CARLA_DEFAULT_DISABLE_CHECKS = False +TAB_INDEX_NONE = 3 # PatchCanvas defines CANVAS_ANTIALIASING_SMALL = 1 @@ -80,11 +58,7 @@ LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT = 0 # Internal defines and defaults global SETTINGS_DEFAULT_PROJECT_FOLDER -global SETTINGS_DEFAULT_PLUGINS_PATHS -global SETTINGS_AVAILABLE_ENGINE_DRIVERS SETTINGS_DEFAULT_PROJECT_FOLDER = HOME -SETTINGS_DEFAULT_PLUGINS_PATHS = [[], [], [], [], [], [], []] -SETTINGS_AVAILABLE_ENGINE_DRIVERS = ["JACK"] # ------------------------------------------------------------------------------------------------------------ # Change internal defines and defaults @@ -93,14 +67,6 @@ def setDefaultProjectFolder(folder): global SETTINGS_DEFAULT_PROJECT_FOLDER SETTINGS_DEFAULT_PROJECT_FOLDER = folder -def setDefaultPluginsPaths(ladspa, dssi, lv2, vst, gig, sf2, sfz): - global SETTINGS_DEFAULT_PLUGINS_PATHS - SETTINGS_DEFAULT_PLUGINS_PATHS = [ladspa, dssi, lv2, vst, gig, sf2, sfz] - -def setAvailableEngineDrivers(drivers): - global SETTINGS_AVAILABLE_ENGINE_DRIVERS - SETTINGS_AVAILABLE_ENGINE_DRIVERS = drivers - # ------------------------------------------------------------------------------------------------------------ # Settings Dialog @@ -124,8 +90,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.m_autoHideGroups = False self.lw_page.hideRow(TAB_INDEX_MAIN) self.lw_page.hideRow(TAB_INDEX_LADISH) - self.lw_page.hideRow(TAB_INDEX_CARLA_ENGINE) - self.lw_page.hideRow(TAB_INDEX_CARLA_PATHS) self.lw_page.setCurrentCell(TAB_INDEX_CANVAS, 0) elif appName == "catia": @@ -135,8 +99,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.group_tray.setEnabled(False) self.group_tray.setVisible(False) self.lw_page.hideRow(TAB_INDEX_LADISH) - self.lw_page.hideRow(TAB_INDEX_CARLA_ENGINE) - self.lw_page.hideRow(TAB_INDEX_CARLA_PATHS) self.lw_page.setCurrentCell(TAB_INDEX_MAIN, 0) elif appName == "claudia": @@ -144,32 +106,12 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.cb_jack_port_alias.setVisible(False) self.label_jack_port_alias.setEnabled(False) self.label_jack_port_alias.setVisible(False) - self.lw_page.hideRow(TAB_INDEX_CARLA_ENGINE) - self.lw_page.hideRow(TAB_INDEX_CARLA_PATHS) - self.lw_page.setCurrentCell(TAB_INDEX_MAIN, 0) - - elif appName == "carla": - self.m_refreshInterval = 60 - self.cb_jack_port_alias.setEnabled(False) - self.cb_jack_port_alias.setVisible(False) - self.label_jack_port_alias.setEnabled(False) - self.label_jack_port_alias.setVisible(False) - self.group_tray.setEnabled(False) - self.group_tray.setVisible(False) - self.lw_page.hideRow(TAB_INDEX_CANVAS) - self.lw_page.hideRow(TAB_INDEX_LADISH) self.lw_page.setCurrentCell(TAB_INDEX_MAIN, 0) - global SETTINGS_AVAILABLE_ENGINE_DRIVERS - for driver in SETTINGS_AVAILABLE_ENGINE_DRIVERS: - self.cb_engine_audio_driver.addItem(driver) - else: self.lw_page.hideRow(TAB_INDEX_MAIN) self.lw_page.hideRow(TAB_INDEX_CANVAS) self.lw_page.hideRow(TAB_INDEX_LADISH) - self.lw_page.hideRow(TAB_INDEX_CARLA_ENGINE) - self.lw_page.hideRow(TAB_INDEX_CARLA_PATHS) self.stackedWidget.setCurrentIndex(TAB_INDEX_NONE) return @@ -189,7 +131,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.lw_page.item(0, 0).setIcon(getIcon(appName, 48)) self.lw_page.item(3, 0).setIcon(getIcon("jack", 48)) self.label_icon_main.setPixmap(getIcon(appName, 48).pixmap(48, 48)) - self.label_icon_engine.setPixmap(getIcon("jack", 48).pixmap(48, 48)) # ------------------------------------------------------------- # Set-up connections @@ -198,28 +139,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.connect(self.buttonBox.button(QDialogButtonBox.Reset), SIGNAL("clicked()"), SLOT("slot_resetSettings()")) self.connect(self.b_main_def_folder_open, SIGNAL("clicked()"), SLOT("slot_getAndSetProjectPath()")) - self.connect(self.cb_engine_audio_driver, SIGNAL("currentIndexChanged(int)"), SLOT("slot_engineAudioDriverChanged()")) - self.connect(self.b_paths_add, SIGNAL("clicked()"), SLOT("slot_addPluginPath()")) - self.connect(self.b_paths_remove, SIGNAL("clicked()"), SLOT("slot_removePluginPath()")) - self.connect(self.b_paths_change, SIGNAL("clicked()"), SLOT("slot_changePluginPath()")) - self.connect(self.tw_paths, SIGNAL("currentChanged(int)"), SLOT("slot_pluginPathTabChanged(int)")) - self.connect(self.lw_ladspa, SIGNAL("currentRowChanged(int)"), SLOT("slot_pluginPathRowChanged(int)")) - self.connect(self.lw_dssi, SIGNAL("currentRowChanged(int)"), SLOT("slot_pluginPathRowChanged(int)")) - self.connect(self.lw_lv2, SIGNAL("currentRowChanged(int)"), SLOT("slot_pluginPathRowChanged(int)")) - self.connect(self.lw_vst, SIGNAL("currentRowChanged(int)"), SLOT("slot_pluginPathRowChanged(int)")) - self.connect(self.lw_sf2, SIGNAL("currentRowChanged(int)"), SLOT("slot_pluginPathRowChanged(int)")) - - # ------------------------------------------------------------- - # Post-connect setup - - self.lw_ladspa.setCurrentRow(0) - self.lw_dssi.setCurrentRow(0) - self.lw_lv2.setCurrentRow(0) - self.lw_vst.setCurrentRow(0) - self.lw_gig.setCurrentRow(0) - self.lw_sf2.setCurrentRow(0) - self.lw_sfz.setCurrentRow(0) - self.slot_pluginPathTabChanged(self.tw_paths.currentIndex()) def loadSettings(self): if not self.lw_page.isRowHidden(TAB_INDEX_MAIN): @@ -256,76 +175,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.cb_ladish_studio_autostart.setChecked(self.settings.value(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT, type=bool)) self.sb_ladish_jsdelay.setValue(self.settings.value(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT, type=int)) - # -------------------------------------------- - - if not self.lw_page.isRowHidden(TAB_INDEX_CARLA_ENGINE): - audioDriver = self.settings.value("Engine/AudioDriver", "JACK", type=str) - for i in range(self.cb_engine_audio_driver.count()): - if self.cb_engine_audio_driver.itemText(i) == audioDriver: - self.cb_engine_audio_driver.setCurrentIndex(i) - break - else: - self.cb_engine_audio_driver.setCurrentIndex(-1) - - if audioDriver == "JACK": - processModeIndex = self.settings.value("Engine/ProcessMode", PROCESS_MODE_MULTIPLE_CLIENTS, type=int) - self.cb_engine_process_mode_jack.setCurrentIndex(processModeIndex) - self.sw_engine_process_mode.setCurrentIndex(0) - else: - processModeIndex = self.settings.value("Engine/ProcessMode", PROCESS_MODE_CONTINUOUS_RACK, type=int) - processModeIndex -= PROCESS_MODE_NON_JACK_PADDING - self.cb_engine_process_mode_other.setCurrentIndex(processModeIndex) - self.sw_engine_process_mode.setCurrentIndex(1) - - self.sb_engine_max_params.setValue(self.settings.value("Engine/MaxParameters", CARLA_DEFAULT_MAX_PARAMETERS, type=int)) - self.ch_engine_prefer_ui_bridges.setChecked(self.settings.value("Engine/PreferUiBridges", CARLA_DEFAULT_PREFER_UI_BRIDGES, type=bool)) - self.sb_engine_oscgui_timeout.setValue(self.settings.value("Engine/OscUiTimeout", CARLA_DEFAULT_OSC_UI_TIMEOUT, type=int)) - self.ch_engine_disable_checks.setChecked(self.settings.value("Engine/DisableChecks", CARLA_DEFAULT_DISABLE_CHECKS, type=bool)) - self.ch_engine_dssi_chunks.setChecked(self.settings.value("Engine/UseDssiVstChunks", CARLA_DEFAULT_USE_DSSI_VST_CHUNKS, type=bool)) - self.ch_engine_prefer_plugin_bridges.setChecked(self.settings.value("Engine/PreferPluginBridges", CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES, type=bool)) - self.ch_engine_force_stereo.setChecked(self.settings.value("Engine/ForceStereo", CARLA_DEFAULT_FORCE_STEREO, type=bool)) - self.ch_engine_process_hp.setChecked(self.settings.value("Engine/ProcessHighPrecision", CARLA_DEFAULT_PROCESS_HIGH_PRECISION, type=bool)) - - # -------------------------------------------- - - if not self.lw_page.isRowHidden(TAB_INDEX_CARLA_PATHS): - ladspas = toList(self.settings.value("Paths/LADSPA", SETTINGS_DEFAULT_PLUGINS_PATHS[0])) - dssis = toList(self.settings.value("Paths/DSSI", SETTINGS_DEFAULT_PLUGINS_PATHS[1])) - lv2s = toList(self.settings.value("Paths/LV2", SETTINGS_DEFAULT_PLUGINS_PATHS[2])) - vsts = toList(self.settings.value("Paths/VST", SETTINGS_DEFAULT_PLUGINS_PATHS[3])) - gigs = toList(self.settings.value("Paths/GIG", SETTINGS_DEFAULT_PLUGINS_PATHS[4])) - sf2s = toList(self.settings.value("Paths/SF2", SETTINGS_DEFAULT_PLUGINS_PATHS[5])) - sfzs = toList(self.settings.value("Paths/SFZ", SETTINGS_DEFAULT_PLUGINS_PATHS[6])) - - ladspas.sort() - dssis.sort() - lv2s.sort() - vsts.sort() - gigs.sort() - sf2s.sort() - sfzs.sort() - - for ladspa in ladspas: - self.lw_ladspa.addItem(ladspa) - - for dssi in dssis: - self.lw_dssi.addItem(dssi) - - for lv2 in lv2s: - self.lw_lv2.addItem(lv2) - - for vst in vsts: - self.lw_vst.addItem(vst) - - for gig in gigs: - self.lw_gig.addItem(gig) - - for sf2 in sf2s: - self.lw_sf2.addItem(sf2) - - for sfz in sfzs: - self.lw_sfz.addItem(sfz) - @pyqtSlot() def slot_saveSettings(self): if not self.lw_page.isRowHidden(TAB_INDEX_MAIN): @@ -363,67 +212,6 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.settings.setValue(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, self.cb_ladish_studio_autostart.isChecked()) self.settings.setValue(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, self.sb_ladish_jsdelay.value()) - # -------------------------------------------- - - if not self.lw_page.isRowHidden(TAB_INDEX_CARLA_ENGINE): - audioDriver = self.cb_engine_audio_driver.currentText() - self.settings.setValue("Engine/AudioDriver", audioDriver) - - if audioDriver == "JACK": - self.settings.setValue("Engine/ProcessMode", self.cb_engine_process_mode_jack.currentIndex()) - else: - self.settings.setValue("Engine/ProcessMode", self.cb_engine_process_mode_other.currentIndex()+PROCESS_MODE_NON_JACK_PADDING) - - self.settings.setValue("Engine/MaxParameters", self.sb_engine_max_params.value()) - self.settings.setValue("Engine/PreferUiBridges", self.ch_engine_prefer_ui_bridges.isChecked()) - self.settings.setValue("Engine/OscUiTimeout", self.sb_engine_oscgui_timeout.value()) - self.settings.setValue("Engine/DisableChecks", self.ch_engine_disable_checks.isChecked()) - self.settings.setValue("Engine/UseDssiVstChunks", self.ch_engine_dssi_chunks.isChecked()) - self.settings.setValue("Engine/PreferPluginBridges", self.ch_engine_prefer_plugin_bridges.isChecked()) - self.settings.setValue("Engine/ForceStereo", self.ch_engine_force_stereo.isChecked()) - self.settings.setValue("Engine/ProcessHighPrecision", self.ch_engine_process_hp.isChecked()) - - # -------------------------------------------- - - if not self.lw_page.isRowHidden(TAB_INDEX_CARLA_PATHS): - # FIXME - find a cleaner way to do this, *.items() ? - ladspas = [] - dssis = [] - lv2s = [] - vsts = [] - gigs = [] - sf2s = [] - sfzs = [] - - for i in range(self.lw_ladspa.count()): - ladspas.append(self.lw_ladspa.item(i).text()) - - for i in range(self.lw_dssi.count()): - dssis.append(self.lw_dssi.item(i).text()) - - for i in range(self.lw_lv2.count()): - lv2s.append(self.lw_lv2.item(i).text()) - - for i in range(self.lw_vst.count()): - vsts.append(self.lw_vst.item(i).text()) - - for i in range(self.lw_gig.count()): - gigs.append(self.lw_gig.item(i).text()) - - for i in range(self.lw_sf2.count()): - sf2s.append(self.lw_sf2.item(i).text()) - - for i in range(self.lw_sfz.count()): - sfzs.append(self.lw_sfz.item(i).text()) - - self.settings.setValue("Paths/LADSPA", ladspas) - self.settings.setValue("Paths/DSSI", dssis) - self.settings.setValue("Paths/LV2", lv2s) - self.settings.setValue("Paths/VST", vsts) - self.settings.setValue("Paths/GIG", gigs) - self.settings.setValue("Paths/SF2", sf2s) - self.settings.setValue("Paths/SFZ", sfzs) - @pyqtSlot() def slot_resetSettings(self): if self.lw_page.currentRow() == TAB_INDEX_MAIN: @@ -448,188 +236,10 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): self.le_ladish_shell.setText(LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT) self.le_ladish_terminal.setText(LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT) - elif self.lw_page.currentRow() == TAB_INDEX_CARLA_ENGINE: - self.cb_engine_audio_driver.setCurrentIndex(0) - self.sb_engine_max_params.setValue(CARLA_DEFAULT_MAX_PARAMETERS) - self.ch_engine_prefer_ui_bridges.setChecked(CARLA_DEFAULT_PREFER_UI_BRIDGES) - self.sb_engine_oscgui_timeout.setValue(CARLA_DEFAULT_OSC_UI_TIMEOUT) - self.ch_engine_disable_checks.setChecked(CARLA_DEFAULT_DISABLE_CHECKS) - self.ch_engine_dssi_chunks.setChecked(CARLA_DEFAULT_USE_DSSI_VST_CHUNKS) - self.ch_engine_prefer_plugin_bridges.setChecked(CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES) - self.ch_engine_force_stereo.setChecked(CARLA_DEFAULT_FORCE_STEREO) - self.ch_engine_process_hp.setChecked(CARLA_DEFAULT_PROCESS_HIGH_PRECISION) - - if self.cb_engine_audio_driver.currentText() == "JACK": - self.cb_engine_process_mode_jack.setCurrentIndex(PROCESS_MODE_MULTIPLE_CLIENTS) - self.sw_engine_process_mode.setCurrentIndex(0) - else: - self.cb_engine_process_mode_other.setCurrentIndex(PROCESS_MODE_CONTINUOUS_RACK-PROCESS_MODE_NON_JACK_PADDING) - self.sw_engine_process_mode.setCurrentIndex(1) - - elif self.lw_page.currentRow() == TAB_INDEX_CARLA_PATHS: - ladspas, dssis, lv2s, vsts, gigs, sf2s, sfzs = SETTINGS_DEFAULT_PLUGINS_PATHS - - if self.tw_paths.currentIndex() == 0: - ladspas.sort() - self.lw_ladspa.clear() - - for ladspa in ladspas: - self.lw_ladspa.addItem(ladspa) - - elif self.tw_paths.currentIndex() == 1: - dssis.sort() - self.lw_dssi.clear() - - for dssi in dssis: - self.lw_dssi.addItem(dssi) - - elif self.tw_paths.currentIndex() == 2: - lv2s.sort() - self.lw_lv2.clear() - - for lv2 in lv2s: - self.lw_lv2.addItem(lv2) - - elif self.tw_paths.currentIndex() == 3: - vsts.sort() - self.lw_vst.clear() - - for vst in vsts: - self.lw_vst.addItem(vst) - - elif self.tw_paths.currentIndex() == 4: - gigs.sort() - self.lw_gig.clear() - - for gig in gigs: - self.lw_gig.addItem(gig) - - elif self.tw_paths.currentIndex() == 5: - sf2s.sort() - self.lw_sf2.clear() - - for sf2 in sf2s: - self.lw_sf2.addItem(sf2) - - elif self.tw_paths.currentIndex() == 6: - sfzs.sort() - self.lw_sfz.clear() - - for sfz in sfzs: - self.lw_sfz.addItem(sfz) - @pyqtSlot() def slot_getAndSetProjectPath(self): getAndSetPath(self, self.le_main_def_folder.text(), self.le_main_def_folder) - @pyqtSlot() - def slot_engineAudioDriverChanged(self): - if self.cb_engine_audio_driver.currentText() == "JACK": - self.sw_engine_process_mode.setCurrentIndex(0) - else: - self.sw_engine_process_mode.setCurrentIndex(1) - - @pyqtSlot() - def slot_addPluginPath(self): - newPath = QFileDialog.getExistingDirectory(self, self.tr("Add Path"), "", QFileDialog.ShowDirsOnly) - if newPath: - if self.tw_paths.currentIndex() == 0: - self.lw_ladspa.addItem(newPath) - elif self.tw_paths.currentIndex() == 1: - self.lw_dssi.addItem(newPath) - elif self.tw_paths.currentIndex() == 2: - self.lw_lv2.addItem(newPath) - elif self.tw_paths.currentIndex() == 3: - self.lw_vst.addItem(newPath) - elif self.tw_paths.currentIndex() == 4: - self.lw_gig.addItem(newPath) - elif self.tw_paths.currentIndex() == 5: - self.lw_sf2.addItem(newPath) - elif self.tw_paths.currentIndex() == 6: - self.lw_sfz.addItem(newPath) - - @pyqtSlot() - def slot_removePluginPath(self): - if self.tw_paths.currentIndex() == 0: - self.lw_ladspa.takeItem(self.lw_ladspa.currentRow()) - elif self.tw_paths.currentIndex() == 1: - self.lw_dssi.takeItem(self.lw_dssi.currentRow()) - elif self.tw_paths.currentIndex() == 2: - self.lw_lv2.takeItem(self.lw_lv2.currentRow()) - elif self.tw_paths.currentIndex() == 3: - self.lw_vst.takeItem(self.lw_vst.currentRow()) - elif self.tw_paths.currentIndex() == 4: - self.lw_gig.takeItem(self.lw_gig.currentRow()) - elif self.tw_paths.currentIndex() == 5: - self.lw_sf2.takeItem(self.lw_sf2.currentRow()) - elif self.tw_paths.currentIndex() == 6: - self.lw_sfz.takeItem(self.lw_sfz.currentRow()) - - @pyqtSlot() - def slot_changePluginPath(self): - if self.tw_paths.currentIndex() == 0: - currentPath = self.lw_ladspa.currentItem().text() - elif self.tw_paths.currentIndex() == 1: - currentPath = self.lw_dssi.currentItem().text() - elif self.tw_paths.currentIndex() == 2: - currentPath = self.lw_lv2.currentItem().text() - elif self.tw_paths.currentIndex() == 3: - currentPath = self.lw_vst.currentItem().text() - elif self.tw_paths.currentIndex() == 4: - currentPath = self.lw_gig.currentItem().text() - elif self.tw_paths.currentIndex() == 5: - currentPath = self.lw_sf2.currentItem().text() - elif self.tw_paths.currentIndex() == 6: - currentPath = self.lw_sfz.currentItem().text() - else: - currentPath = "" - - newPath = QFileDialog.getExistingDirectory(self, self.tr("Add Path"), currentPath, QFileDialog.ShowDirsOnly) - if newPath: - if self.tw_paths.currentIndex() == 0: - self.lw_ladspa.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 1: - self.lw_dssi.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 2: - self.lw_lv2.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 3: - self.lw_vst.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 4: - self.lw_gig.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 5: - self.lw_sf2.currentItem().setText(newPath) - elif self.tw_paths.currentIndex() == 6: - self.lw_sfz.currentItem().setText(newPath) - - @pyqtSlot(int) - def slot_pluginPathTabChanged(self, index): - if index == 0: - row = self.lw_ladspa.currentRow() - elif index == 1: - row = self.lw_dssi.currentRow() - elif index == 2: - row = self.lw_lv2.currentRow() - elif index == 3: - row = self.lw_vst.currentRow() - elif index == 4: - row = self.lw_gig.currentRow() - elif index == 5: - row = self.lw_sf2.currentRow() - elif index == 6: - row = self.lw_sfz.currentRow() - else: - row = -1 - - check = bool(row >= 0) - self.b_paths_remove.setEnabled(check) - self.b_paths_change.setEnabled(check) - - @pyqtSlot(int) - def slot_pluginPathRowChanged(self, row): - check = bool(row >= 0) - self.b_paths_remove.setEnabled(check) - self.b_paths_change.setEnabled(check) - def done(self, r): QDialog.done(self, r) self.close()