Browse Source

Use QSafeSettings in a few more places

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.1-rc1
falkTX 4 years ago
parent
commit
3cfd7d09fd
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
8 changed files with 194 additions and 194 deletions
  1. +3
    -3
      source/frontend/carla_control.py
  2. +106
    -106
      source/frontend/carla_database.py
  3. +3
    -1
      source/frontend/carla_host.py
  4. +55
    -55
      source/frontend/carla_settings.py
  5. +1
    -1
      source/frontend/carla_widgets.py
  6. +11
    -20
      source/frontend/patchcanvas.py
  7. +4
    -2
      source/frontend/patchcanvas/patchcanvas.py
  8. +11
    -6
      source/frontend/widgets/pixmapkeyboard.py

+ 3
- 3
source/frontend/carla_control.py View File

@@ -95,9 +95,9 @@ class ConnectDialog(QDialog):
self.ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enabled)

def loadSettings(self):
settings = QSettings("falkTX", "CarlaOSCConnect")
settings = QSafeSettings("falkTX", "CarlaOSCConnect")

if settings.value("ReportedHostAutomatic", True, type=bool):
if settings.value("ReportedHostAutomatic", True, bool):
self.ui.rb_reported_custom.setChecked(False)
self.ui.rb_reported_auto.setChecked(True)
else:
@@ -141,7 +141,7 @@ class ConnectDialog(QDialog):

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings("falkTX", "CarlaOSCConnect")
settings = QSafeSettings("falkTX", "CarlaOSCConnect")
settings.setValue("Host", self.ui.le_host.text())
settings.setValue("ReportedHost", self.ui.le_reported_host.text())
settings.setValue("TCPPort", self.ui.sb_tcp_port.value())


+ 106
- 106
source/frontend/carla_database.py View File

@@ -22,7 +22,7 @@
from copy import deepcopy
from subprocess import Popen, PIPE

from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEventLoop, QThread, QSettings
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QEventLoop, QThread
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QHeaderView, QTableWidgetItem

@@ -412,11 +412,11 @@ class SearchPluginsThread(QThread):
else:
toolNative = "carla-discovery-native"

settings = QSettings("falkTX", "Carla2")
settings = QSafeSettings("falkTX", "Carla2")
self.fWineSettings = {
'executable' : settings.value(CARLA_KEY_WINE_EXECUTABLE, CARLA_DEFAULT_WINE_EXECUTABLE, type=str),
'autoPrefix' : settings.value(CARLA_KEY_WINE_AUTO_PREFIX, CARLA_DEFAULT_WINE_AUTO_PREFIX, type=bool),
'fallbackPrefix': settings.value(CARLA_KEY_WINE_FALLBACK_PREFIX, CARLA_DEFAULT_WINE_FALLBACK_PREFIX, type=str)
'executable' : settings.value(CARLA_KEY_WINE_EXECUTABLE, CARLA_DEFAULT_WINE_EXECUTABLE, str),
'autoPrefix' : settings.value(CARLA_KEY_WINE_AUTO_PREFIX, CARLA_DEFAULT_WINE_AUTO_PREFIX, bool),
'fallbackPrefix': settings.value(CARLA_KEY_WINE_FALLBACK_PREFIX, CARLA_DEFAULT_WINE_FALLBACK_PREFIX, str)
}
del settings

@@ -456,7 +456,7 @@ class SearchPluginsThread(QThread):
self.fContinueChecking = False

def run(self):
settingsDB = QSettings("falkTX", "CarlaPlugins4")
settingsDB = QSafeSettings("falkTX", "CarlaPlugins4")

self.fContinueChecking = True
self.fCurCount = 0
@@ -704,8 +704,8 @@ class SearchPluginsThread(QThread):
if not self.fContinueChecking: return

if self.fCheckSF2:
settings = QSettings("falkTX", "Carla2")
SF2_PATH = toList(settings.value(CARLA_KEY_PATHS_SF2, CARLA_DEFAULT_SF2_PATH))
settings = QSafeSettings("falkTX", "Carla2")
SF2_PATH = settings.value(CARLA_KEY_PATHS_SF2, CARLA_DEFAULT_SF2_PATH, list)
del settings

kits = self._checkKIT(SF2_PATH, "sf2")
@@ -724,8 +724,8 @@ class SearchPluginsThread(QThread):

self._pluginLook(self.fLastCheckValue, "LADSPA plugins...")

settings = QSettings("falkTX", "Carla2")
LADSPA_PATH = toList(settings.value(CARLA_KEY_PATHS_LADSPA, CARLA_DEFAULT_LADSPA_PATH))
settings = QSafeSettings("falkTX", "Carla2")
LADSPA_PATH = settings.value(CARLA_KEY_PATHS_LADSPA, CARLA_DEFAULT_LADSPA_PATH, list)
del settings

for iPATH in LADSPA_PATH:
@@ -760,8 +760,8 @@ class SearchPluginsThread(QThread):

self._pluginLook(self.fLastCheckValue, "DSSI plugins...")

settings = QSettings("falkTX", "Carla2")
DSSI_PATH = toList(settings.value(CARLA_KEY_PATHS_DSSI, CARLA_DEFAULT_DSSI_PATH))
settings = QSafeSettings("falkTX", "Carla2")
DSSI_PATH = settings.value(CARLA_KEY_PATHS_DSSI, CARLA_DEFAULT_DSSI_PATH, list)
del settings

for iPATH in DSSI_PATH:
@@ -799,8 +799,8 @@ class SearchPluginsThread(QThread):
else:
self._pluginLook(self.fLastCheckValue, "VST2 plugins...")

settings = QSettings("falkTX", "Carla2")
VST2_PATH = toList(settings.value(CARLA_KEY_PATHS_VST2, CARLA_DEFAULT_VST2_PATH))
settings = QSafeSettings("falkTX", "Carla2")
VST2_PATH = settings.value(CARLA_KEY_PATHS_VST2, CARLA_DEFAULT_VST2_PATH, list)
del settings

for iPATH in VST2_PATH:
@@ -841,8 +841,8 @@ class SearchPluginsThread(QThread):
else:
self._pluginLook(self.fLastCheckValue, "VST2 plugins...")

settings = QSettings("falkTX", "Carla2")
VST3_PATH = toList(settings.value(CARLA_KEY_PATHS_VST3, CARLA_DEFAULT_VST3_PATH))
settings = QSafeSettings("falkTX", "Carla2")
VST3_PATH = settings.value(CARLA_KEY_PATHS_VST3, CARLA_DEFAULT_VST3_PATH, list)
del settings

for iPATH in VST3_PATH:
@@ -920,8 +920,8 @@ class SearchPluginsThread(QThread):

def _checkCached(self, isLV2):
if isLV2:
settings = QSettings("falkTX", "Carla2")
PLUG_PATH = splitter.join(toList(settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH)))
settings = QSafeSettings("falkTX", "Carla2")
PLUG_PATH = splitter.join(settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH, list))
del settings
PLUG_TEXT = "LV2"
PLUG_TYPE = PLUGIN_LV2
@@ -956,8 +956,8 @@ class SearchPluginsThread(QThread):
return plugins

def _checkSfzCached(self):
settings = QSettings("falkTX", "Carla2")
PLUG_PATH = splitter.join(toList(settings.value(CARLA_KEY_PATHS_SFZ, CARLA_DEFAULT_SFZ_PATH)))
settings = QSafeSettings("falkTX", "Carla2")
PLUG_PATH = splitter.join(settings.value(CARLA_KEY_PATHS_SFZ, CARLA_DEFAULT_SFZ_PATH, list))
del settings

sfzKits = []
@@ -1215,57 +1215,57 @@ class PluginRefreshW(QDialog):
# -----------------------------------------------------------------------------------------------------------------

def loadSettings(self):
settings = QSettings("falkTX", "CarlaRefresh2")
settings = QSafeSettings("falkTX", "CarlaRefresh2")

check = settings.value("PluginDatabase/SearchLADSPA", True, type=bool) and self.ui.ch_ladspa.isEnabled()
check = settings.value("PluginDatabase/SearchLADSPA", True, bool) and self.ui.ch_ladspa.isEnabled()
self.ui.ch_ladspa.setChecked(check)

check = settings.value("PluginDatabase/SearchDSSI", True, type=bool) and self.ui.ch_dssi.isEnabled()
check = settings.value("PluginDatabase/SearchDSSI", True, bool) and self.ui.ch_dssi.isEnabled()
self.ui.ch_dssi.setChecked(check)

check = settings.value("PluginDatabase/SearchLV2", True, type=bool) and self.ui.ch_lv2.isEnabled()
check = settings.value("PluginDatabase/SearchLV2", True, bool) and self.ui.ch_lv2.isEnabled()
self.ui.ch_lv2.setChecked(check)

check = settings.value("PluginDatabase/SearchVST2", True, type=bool) and self.ui.ch_vst.isEnabled()
check = settings.value("PluginDatabase/SearchVST2", True, bool) and self.ui.ch_vst.isEnabled()
self.ui.ch_vst.setChecked(check)

check = settings.value("PluginDatabase/SearchVST3", True, type=bool) and self.ui.ch_vst3.isEnabled()
check = settings.value("PluginDatabase/SearchVST3", True, bool) and self.ui.ch_vst3.isEnabled()
self.ui.ch_vst3.setChecked(check)

if MACOS:
check = settings.value("PluginDatabase/SearchAU", True, type=bool) and self.ui.ch_au.isEnabled()
check = settings.value("PluginDatabase/SearchAU", True, bool) and self.ui.ch_au.isEnabled()
else:
check = False
self.ui.ch_au.setChecked(check)

check = settings.value("PluginDatabase/SearchSF2", False, type=bool) and self.ui.ch_sf2.isEnabled()
check = settings.value("PluginDatabase/SearchSF2", False, bool) and self.ui.ch_sf2.isEnabled()
self.ui.ch_sf2.setChecked(check)

check = settings.value("PluginDatabase/SearchSFZ", False, type=bool) and self.ui.ch_sfz.isEnabled()
check = settings.value("PluginDatabase/SearchSFZ", False, bool) and self.ui.ch_sfz.isEnabled()
self.ui.ch_sfz.setChecked(check)

check = settings.value("PluginDatabase/SearchNative", True, type=bool) and self.ui.ch_native.isEnabled()
check = settings.value("PluginDatabase/SearchNative", True, bool) and self.ui.ch_native.isEnabled()
self.ui.ch_native.setChecked(check)

check = settings.value("PluginDatabase/SearchPOSIX32", False, type=bool) and self.ui.ch_posix32.isEnabled()
check = settings.value("PluginDatabase/SearchPOSIX32", False, bool) and self.ui.ch_posix32.isEnabled()
self.ui.ch_posix32.setChecked(check)

check = settings.value("PluginDatabase/SearchPOSIX64", False, type=bool) and self.ui.ch_posix64.isEnabled()
check = settings.value("PluginDatabase/SearchPOSIX64", False, bool) and self.ui.ch_posix64.isEnabled()
self.ui.ch_posix64.setChecked(check)

check = settings.value("PluginDatabase/SearchWin32", False, type=bool) and self.ui.ch_win32.isEnabled()
check = settings.value("PluginDatabase/SearchWin32", False, bool) and self.ui.ch_win32.isEnabled()
self.ui.ch_win32.setChecked(check)

check = settings.value("PluginDatabase/SearchWin64", False, type=bool) and self.ui.ch_win64.isEnabled()
check = settings.value("PluginDatabase/SearchWin64", False, bool) and self.ui.ch_win64.isEnabled()
self.ui.ch_win64.setChecked(check)

self.ui.ch_do_checks.setChecked(settings.value("PluginDatabase/DoChecks", False, type=bool))
self.ui.ch_do_checks.setChecked(settings.value("PluginDatabase/DoChecks", False, bool))

# -----------------------------------------------------------------------------------------------------------------

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings("falkTX", "CarlaRefresh2")
settings = QSafeSettings("falkTX", "CarlaRefresh2")
settings.setValue("PluginDatabase/SearchLADSPA", self.ui.ch_ladspa.isChecked())
settings.setValue("PluginDatabase/SearchDSSI", self.ui.ch_dssi.isChecked())
settings.setValue("PluginDatabase/SearchLV2", self.ui.ch_lv2.isChecked())
@@ -1663,7 +1663,7 @@ class PluginDatabaseW(QDialog):

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings("falkTX", "CarlaDatabase2")
settings = QSafeSettings("falkTX", "CarlaDatabase2")
settings.setValue("PluginDatabase/Geometry", self.saveGeometry())
settings.setValue("PluginDatabase/TableGeometry_6", self.ui.tableWidget.horizontalHeader().saveState())
settings.setValue("PluginDatabase/ShowEffects", self.ui.ch_effects.isChecked())
@@ -1695,37 +1695,37 @@ class PluginDatabaseW(QDialog):
# --------------------------------------------------------------------------------------------------------

def loadSettings(self):
settings = QSettings("falkTX", "CarlaDatabase2")
self.fFavoritePlugins = settings.value("PluginDatabase/Favorites", [], type=list)
settings = QSafeSettings("falkTX", "CarlaDatabase2")
self.fFavoritePlugins = settings.value("PluginDatabase/Favorites", [], list)
self.fFavoritePluginsChanged = False

self.restoreGeometry(settings.value("PluginDatabase/Geometry", b""))
self.ui.ch_effects.setChecked(settings.value("PluginDatabase/ShowEffects", True, type=bool))
self.ui.ch_instruments.setChecked(settings.value("PluginDatabase/ShowInstruments", True, type=bool))
self.ui.ch_midi.setChecked(settings.value("PluginDatabase/ShowMIDI", True, type=bool))
self.ui.ch_other.setChecked(settings.value("PluginDatabase/ShowOther", True, type=bool))
self.ui.ch_internal.setChecked(settings.value("PluginDatabase/ShowInternal", True, type=bool))
self.ui.ch_ladspa.setChecked(settings.value("PluginDatabase/ShowLADSPA", True, type=bool))
self.ui.ch_dssi.setChecked(settings.value("PluginDatabase/ShowDSSI", True, type=bool))
self.ui.ch_lv2.setChecked(settings.value("PluginDatabase/ShowLV2", True, type=bool))
self.ui.ch_vst.setChecked(settings.value("PluginDatabase/ShowVST2", True, type=bool))
self.ui.ch_vst3.setChecked(settings.value("PluginDatabase/ShowVST3", (MACOS or WINDOWS), type=bool))
self.ui.ch_au.setChecked(settings.value("PluginDatabase/ShowAU", MACOS, type=bool))
self.ui.ch_kits.setChecked(settings.value("PluginDatabase/ShowKits", True, type=bool))
self.ui.ch_native.setChecked(settings.value("PluginDatabase/ShowNative", True, type=bool))
self.ui.ch_bridged.setChecked(settings.value("PluginDatabase/ShowBridged", True, type=bool))
self.ui.ch_bridged_wine.setChecked(settings.value("PluginDatabase/ShowBridgedWine", True, type=bool))
self.ui.ch_favorites.setChecked(settings.value("PluginDatabase/ShowFavorites", False, type=bool))
self.ui.ch_rtsafe.setChecked(settings.value("PluginDatabase/ShowRtSafe", False, type=bool))
self.ui.ch_cv.setChecked(settings.value("PluginDatabase/ShowHasCV", False, type=bool))
self.ui.ch_gui.setChecked(settings.value("PluginDatabase/ShowHasGUI", False, type=bool))
self.ui.ch_inline_display.setChecked(settings.value("PluginDatabase/ShowHasInlineDisplay", False, type=bool))
self.ui.ch_stereo.setChecked(settings.value("PluginDatabase/ShowStereoOnly", False, type=bool))
self.ui.lineEdit.setText(settings.value("PluginDatabase/SearchText", "", type=str))
tableGeometry = settings.value("PluginDatabase/TableGeometry_6")
self.restoreGeometry(settings.value("PluginDatabase/Geometry", QByteArray(), QByteArray))
self.ui.ch_effects.setChecked(settings.value("PluginDatabase/ShowEffects", True, bool))
self.ui.ch_instruments.setChecked(settings.value("PluginDatabase/ShowInstruments", True, bool))
self.ui.ch_midi.setChecked(settings.value("PluginDatabase/ShowMIDI", True, bool))
self.ui.ch_other.setChecked(settings.value("PluginDatabase/ShowOther", True, bool))
self.ui.ch_internal.setChecked(settings.value("PluginDatabase/ShowInternal", True, bool))
self.ui.ch_ladspa.setChecked(settings.value("PluginDatabase/ShowLADSPA", True, bool))
self.ui.ch_dssi.setChecked(settings.value("PluginDatabase/ShowDSSI", True, bool))
self.ui.ch_lv2.setChecked(settings.value("PluginDatabase/ShowLV2", True, bool))
self.ui.ch_vst.setChecked(settings.value("PluginDatabase/ShowVST2", True, bool))
self.ui.ch_vst3.setChecked(settings.value("PluginDatabase/ShowVST3", (MACOS or WINDOWS), bool))
self.ui.ch_au.setChecked(settings.value("PluginDatabase/ShowAU", MACOS, bool))
self.ui.ch_kits.setChecked(settings.value("PluginDatabase/ShowKits", True, bool))
self.ui.ch_native.setChecked(settings.value("PluginDatabase/ShowNative", True, bool))
self.ui.ch_bridged.setChecked(settings.value("PluginDatabase/ShowBridged", True, bool))
self.ui.ch_bridged_wine.setChecked(settings.value("PluginDatabase/ShowBridgedWine", True, bool))
self.ui.ch_favorites.setChecked(settings.value("PluginDatabase/ShowFavorites", False, bool))
self.ui.ch_rtsafe.setChecked(settings.value("PluginDatabase/ShowRtSafe", False, bool))
self.ui.ch_cv.setChecked(settings.value("PluginDatabase/ShowHasCV", False, bool))
self.ui.ch_gui.setChecked(settings.value("PluginDatabase/ShowHasGUI", False, bool))
self.ui.ch_inline_display.setChecked(settings.value("PluginDatabase/ShowHasInlineDisplay", False, bool))
self.ui.ch_stereo.setChecked(settings.value("PluginDatabase/ShowStereoOnly", False, bool))
self.ui.lineEdit.setText(settings.value("PluginDatabase/SearchText", "", str))
tableGeometry = settings.value("PluginDatabase/TableGeometry_6", QByteArray(), QByteArray)
horizontalHeader = self.ui.tableWidget.horizontalHeader()
if tableGeometry:
if not tableGeometry.isNull():
horizontalHeader.restoreState(tableGeometry)
else:
horizontalHeader.setSectionResizeMode(self.TABLEWIDGET_ITEM_FAVORITE, QHeaderView.Fixed)
@@ -1902,8 +1902,8 @@ class PluginDatabaseW(QDialog):
else:
return 0

plugins = toList(settingsDB.value("Plugins/" + ptypeStr, []))
pluginCount = settingsDB.value("PluginCount/" + ptypeStr, 0, type=int)
plugins = settingsDB.value("Plugins/" + ptypeStr, [], list)
pluginCount = settingsDB.value("PluginCount/" + ptypeStr, 0, int)

pluginCountNew = gCarla.utils.get_cached_plugin_count(ptype, path)

@@ -1938,7 +1938,7 @@ class PluginDatabaseW(QDialog):
return pluginCount

def _reAddPlugins(self):
settingsDB = QSettings("falkTX", "CarlaPlugins4")
settingsDB = QSafeSettings("falkTX", "CarlaPlugins4")

for x in range(self.ui.tableWidget.rowCount()):
self.ui.tableWidget.removeRow(0)
@@ -1946,8 +1946,8 @@ class PluginDatabaseW(QDialog):
self.fLastTableIndex = 0
self.ui.tableWidget.setSortingEnabled(False)

settings = QSettings("falkTX", "Carla2")
LV2_PATH = splitter.join(toList(settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH)))
settings = QSafeSettings("falkTX", "Carla2")
LV2_PATH = splitter.join(settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH, list))
del settings

# ----------------------------------------------------------------------------------------------------
@@ -1961,52 +1961,52 @@ class PluginDatabaseW(QDialog):
# LADSPA

ladspaPlugins = []
ladspaPlugins += toList(settingsDB.value("Plugins/LADSPA_native", []))
ladspaPlugins += toList(settingsDB.value("Plugins/LADSPA_posix32", []))
ladspaPlugins += toList(settingsDB.value("Plugins/LADSPA_posix64", []))
ladspaPlugins += toList(settingsDB.value("Plugins/LADSPA_win32", []))
ladspaPlugins += toList(settingsDB.value("Plugins/LADSPA_win64", []))
ladspaPlugins += settingsDB.value("Plugins/LADSPA_native", [], list)
ladspaPlugins += settingsDB.value("Plugins/LADSPA_posix32", [], list)
ladspaPlugins += settingsDB.value("Plugins/LADSPA_posix64", [], list)
ladspaPlugins += settingsDB.value("Plugins/LADSPA_win32", [], list)
ladspaPlugins += settingsDB.value("Plugins/LADSPA_win64", [], list)

# ----------------------------------------------------------------------------------------------------
# DSSI

dssiPlugins = []
dssiPlugins += toList(settingsDB.value("Plugins/DSSI_native", []))
dssiPlugins += toList(settingsDB.value("Plugins/DSSI_posix32", []))
dssiPlugins += toList(settingsDB.value("Plugins/DSSI_posix64", []))
dssiPlugins += toList(settingsDB.value("Plugins/DSSI_win32", []))
dssiPlugins += toList(settingsDB.value("Plugins/DSSI_win64", []))
dssiPlugins += settingsDB.value("Plugins/DSSI_native", [], list)
dssiPlugins += settingsDB.value("Plugins/DSSI_posix32", [], list)
dssiPlugins += settingsDB.value("Plugins/DSSI_posix64", [], list)
dssiPlugins += settingsDB.value("Plugins/DSSI_win32", [], list)
dssiPlugins += settingsDB.value("Plugins/DSSI_win64", [], list)

# ----------------------------------------------------------------------------------------------------
# VST2

vst2Plugins = []
vst2Plugins += toList(settingsDB.value("Plugins/VST2_native", []))
vst2Plugins += toList(settingsDB.value("Plugins/VST2_posix32", []))
vst2Plugins += toList(settingsDB.value("Plugins/VST2_posix64", []))
vst2Plugins += toList(settingsDB.value("Plugins/VST2_win32", []))
vst2Plugins += toList(settingsDB.value("Plugins/VST2_win64", []))
vst2Plugins += settingsDB.value("Plugins/VST2_native", [], list)
vst2Plugins += settingsDB.value("Plugins/VST2_posix32", [], list)
vst2Plugins += settingsDB.value("Plugins/VST2_posix64", [], list)
vst2Plugins += settingsDB.value("Plugins/VST2_win32", [], list)
vst2Plugins += settingsDB.value("Plugins/VST2_win64", [], list)

# ----------------------------------------------------------------------------------------------------
# VST3

vst3Plugins = []
vst3Plugins += toList(settingsDB.value("Plugins/VST3_native", []))
vst3Plugins += toList(settingsDB.value("Plugins/VST3_posix32", []))
vst3Plugins += toList(settingsDB.value("Plugins/VST3_posix64", []))
vst3Plugins += toList(settingsDB.value("Plugins/VST3_win32", []))
vst3Plugins += toList(settingsDB.value("Plugins/VST3_win64", []))
vst3Plugins += settingsDB.value("Plugins/VST3_native", [], list)
vst3Plugins += settingsDB.value("Plugins/VST3_posix32", [], list)
vst3Plugins += settingsDB.value("Plugins/VST3_posix64", [], list)
vst3Plugins += settingsDB.value("Plugins/VST3_win32", [], list)
vst3Plugins += settingsDB.value("Plugins/VST3_win64", [], list)

# ----------------------------------------------------------------------------------------------------
# AU (extra non-cached)

auPlugins32 = toList(settingsDB.value("Plugins/AU_posix32", [])) if MACOS else []
auPlugins32 = settingsDB.value("Plugins/AU_posix32", [], list) if MACOS else []

# ----------------------------------------------------------------------------------------------------
# Kits

sf2s = toList(settingsDB.value("Plugins/SF2", []))
sfzs = toList(settingsDB.value("Plugins/SFZ", []))
sf2s = settingsDB.value("Plugins/SF2", [], list)
sfzs = settingsDB.value("Plugins/SFZ", [], list)

# ----------------------------------------------------------------------------------------------------
# count plugins first, so we can create rows in advance
@@ -2183,9 +2183,9 @@ class JackApplicationW(QDialog):
self.ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enabled)

def loadSettings(self):
settings = QSettings("falkTX", "CarlaAddJackApp")
settings = QSafeSettings("falkTX", "CarlaAddJackApp")

smName = settings.value("SessionManager", "", type=str)
smName = settings.value("SessionManager", "", str)

if smName == "LADISH (SIGUSR1)":
self.ui.cb_session_mgr.setCurrentIndex(self.UI_SESSION_LADISH)
@@ -2194,16 +2194,16 @@ class JackApplicationW(QDialog):
else:
self.ui.cb_session_mgr.setCurrentIndex(self.UI_SESSION_NONE)

self.ui.le_command.setText(settings.value("Command", "", type=str))
self.ui.le_name.setText(settings.value("Name", "", type=str))
self.ui.sb_audio_ins.setValue(settings.value("NumAudioIns", 2, type=int))
self.ui.sb_audio_ins.setValue(settings.value("NumAudioIns", 2, type=int))
self.ui.sb_audio_outs.setValue(settings.value("NumAudioOuts", 2, type=int))
self.ui.sb_midi_ins.setValue(settings.value("NumMidiIns", 0, type=int))
self.ui.sb_midi_outs.setValue(settings.value("NumMidiOuts", 0, type=int))
self.ui.cb_manage_window.setChecked(settings.value("ManageWindow", True, type=bool))
self.ui.cb_capture_first_window.setChecked(settings.value("CaptureFirstWindow", False, type=bool))
self.ui.cb_out_midi_mixdown.setChecked(settings.value("MidiOutMixdown", False, type=bool))
self.ui.le_command.setText(settings.value("Command", "", str))
self.ui.le_name.setText(settings.value("Name", "", str))
self.ui.sb_audio_ins.setValue(settings.value("NumAudioIns", 2, int))
self.ui.sb_audio_ins.setValue(settings.value("NumAudioIns", 2, int))
self.ui.sb_audio_outs.setValue(settings.value("NumAudioOuts", 2, int))
self.ui.sb_midi_ins.setValue(settings.value("NumMidiIns", 0, int))
self.ui.sb_midi_outs.setValue(settings.value("NumMidiOuts", 0, int))
self.ui.cb_manage_window.setChecked(settings.value("ManageWindow", True, bool))
self.ui.cb_capture_first_window.setChecked(settings.value("CaptureFirstWindow", False, bool))
self.ui.cb_out_midi_mixdown.setChecked(settings.value("MidiOutMixdown", False, bool))

self.checkIfButtonBoxShouldBeEnabled(self.ui.cb_session_mgr.currentIndex(),
self.ui.le_command.text())
@@ -2220,7 +2220,7 @@ class JackApplicationW(QDialog):

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings("falkTX", "CarlaAddJackApp")
settings = QSafeSettings("falkTX", "CarlaAddJackApp")
settings.setValue("Command", self.ui.le_command.text())
settings.setValue("Name", self.ui.le_name.text())
settings.setValue("SessionManager", self.ui.cb_session_mgr.currentText())


+ 3
- 1
source/frontend/carla_host.py View File

@@ -1730,7 +1730,9 @@ class HostWindow(QMainWindow):
settings = QSafeSettings()

if firstTime:
self.restoreGeometry(settings.value("Geometry", b"", QByteArray))
geometry = settings.value("Geometry", QByteArray(), QByteArray)
if not geometry.isNull():
self.restoreGeometry(geometry)

showToolbar = settings.value("ShowToolbar", True, bool)
self.ui.act_settings_show_toolbar.setChecked(showToolbar)


+ 55
- 55
source/frontend/carla_settings.py View File

@@ -19,7 +19,7 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

from PyQt5.QtCore import pyqtSlot, QByteArray, QDir, QSettings
from PyQt5.QtCore import pyqtSlot, QByteArray, QDir
from PyQt5.QtGui import QColor, QCursor, QPainter, QPainterPath
from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget

@@ -88,12 +88,12 @@ class DriverSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------

def loadSettings(self):
settings = QSettings("falkTX", "Carla2")
settings = QSafeSettings("falkTX", "Carla2")

audioDevice = settings.value("%s%s/Device" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), "", type=str)
audioBufferSize = settings.value("%s%s/BufferSize" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_BUFFER_SIZE, type=int)
audioSampleRate = settings.value("%s%s/SampleRate" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_SAMPLE_RATE, type=int)
audioTripleBuffer = settings.value("%s%s/TripleBuffer" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_TRIPLE_BUFFER, type=bool)
audioDevice = settings.value("%s%s/Device" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), "", str)
audioBufferSize = settings.value("%s%s/BufferSize" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_BUFFER_SIZE, int)
audioSampleRate = settings.value("%s%s/SampleRate" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_SAMPLE_RATE, int)
audioTripleBuffer = settings.value("%s%s/TripleBuffer" % (CARLA_KEY_ENGINE_DRIVER_PREFIX, self.fDriverName), CARLA_DEFAULT_AUDIO_TRIPLE_BUFFER, bool)

if audioDevice and audioDevice in self.fDeviceNames:
self.ui.cb_device.setCurrentIndex(self.fDeviceNames.index(audioDevice))
@@ -123,7 +123,7 @@ class DriverSettingsW(QDialog):

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings("falkTX", "Carla2")
settings = QSafeSettings("falkTX", "Carla2")

bufferSize = self.ui.cb_buffersize.currentText()
sampleRate = self.ui.cb_samplerate.currentText()
@@ -494,7 +494,7 @@ class CarlaSettingsW(QDialog):
# --------------------------------------------------------------------------------------------------------

def loadSettings(self):
settings = QSettings()
settings = QSafeSettings()

# ----------------------------------------------------------------------------------------------------
# Main
@@ -502,31 +502,31 @@ class CarlaSettingsW(QDialog):
self.ui.ch_main_show_logs.setChecked(self.host.showLogs)
self.ui.ch_engine_uis_always_on_top.setChecked(self.host.uisAlwaysOnTop)

self.ui.le_main_proj_folder.setText(settings.value(CARLA_KEY_MAIN_PROJECT_FOLDER, CARLA_DEFAULT_MAIN_PROJECT_FOLDER, type=str))
self.ui.ch_main_theme_pro.setChecked(settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME, type=bool) and self.ui.group_main_theme.isEnabled())
self.ui.cb_main_theme_color.setCurrentIndex(self.ui.cb_main_theme_color.findText(settings.value(CARLA_KEY_MAIN_PRO_THEME_COLOR, CARLA_DEFAULT_MAIN_PRO_THEME_COLOR, type=str)))
self.ui.sb_main_refresh_interval.setValue(settings.value(CARLA_KEY_MAIN_REFRESH_INTERVAL, CARLA_DEFAULT_MAIN_REFRESH_INTERVAL, type=int))
self.ui.ch_main_confirm_exit.setChecked(settings.value(CARLA_KEY_MAIN_CONFIRM_EXIT, CARLA_DEFAULT_MAIN_CONFIRM_EXIT, type=bool))
self.ui.le_main_proj_folder.setText(settings.value(CARLA_KEY_MAIN_PROJECT_FOLDER, CARLA_DEFAULT_MAIN_PROJECT_FOLDER, str))
self.ui.ch_main_theme_pro.setChecked(settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME, bool) and self.ui.group_main_theme.isEnabled())
self.ui.cb_main_theme_color.setCurrentIndex(self.ui.cb_main_theme_color.findText(settings.value(CARLA_KEY_MAIN_PRO_THEME_COLOR, CARLA_DEFAULT_MAIN_PRO_THEME_COLOR, str)))
self.ui.sb_main_refresh_interval.setValue(settings.value(CARLA_KEY_MAIN_REFRESH_INTERVAL, CARLA_DEFAULT_MAIN_REFRESH_INTERVAL, int))
self.ui.ch_main_confirm_exit.setChecked(settings.value(CARLA_KEY_MAIN_CONFIRM_EXIT, CARLA_DEFAULT_MAIN_CONFIRM_EXIT, bool))

# ----------------------------------------------------------------------------------------------------
# Canvas

self.ui.cb_canvas_theme.setCurrentIndex(self.ui.cb_canvas_theme.findText(settings.value(CARLA_KEY_CANVAS_THEME, CARLA_DEFAULT_CANVAS_THEME, type=str)))
self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str)))
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.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())
self.ui.cb_canvas_full_repaints.setChecked(settings.value(CARLA_KEY_CANVAS_FULL_REPAINTS, CARLA_DEFAULT_CANVAS_FULL_REPAINTS, type=bool))
self.ui.cb_canvas_inline_displays.setChecked(settings.value(CARLA_KEY_CANVAS_INLINE_DISPLAYS, CARLA_DEFAULT_CANVAS_INLINE_DISPLAYS, type=bool))
self.ui.cb_canvas_theme.setCurrentIndex(self.ui.cb_canvas_theme.findText(settings.value(CARLA_KEY_CANVAS_THEME, CARLA_DEFAULT_CANVAS_THEME, str)))
self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, str)))
self.ui.cb_canvas_bezier_lines.setChecked(settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, bool))
self.ui.cb_canvas_hide_groups.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, bool))
self.ui.cb_canvas_auto_select.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS, bool))
self.ui.cb_canvas_eyecandy.setChecked(settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, bool))
self.ui.cb_canvas_fancy_eyecandy.setChecked(settings.value(CARLA_KEY_CANVAS_FANCY_EYE_CANDY, CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY, bool))
self.ui.cb_canvas_use_opengl.setChecked(settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, 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, int))
self.ui.cb_canvas_render_hq_aa.setChecked(settings.value(CARLA_KEY_CANVAS_HQ_ANTIALIASING, CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING, bool) and self.ui.cb_canvas_render_hq_aa.isEnabled())
self.ui.cb_canvas_full_repaints.setChecked(settings.value(CARLA_KEY_CANVAS_FULL_REPAINTS, CARLA_DEFAULT_CANVAS_FULL_REPAINTS, bool))
self.ui.cb_canvas_inline_displays.setChecked(settings.value(CARLA_KEY_CANVAS_INLINE_DISPLAYS, CARLA_DEFAULT_CANVAS_INLINE_DISPLAYS, bool))

# ----------------------------------------------------------------------------------------------------

settings = QSettings("falkTX", "Carla2")
settings = QSafeSettings("falkTX", "Carla2")

# ----------------------------------------------------------------------------------------------------
# Main
@@ -550,7 +550,7 @@ class CarlaSettingsW(QDialog):
audioDriver = self.host.audioDriverForced
self.ui.cb_engine_audio_driver.setCurrentIndex(0)
else:
audioDriver = settings.value(CARLA_KEY_ENGINE_AUDIO_DRIVER, CARLA_DEFAULT_AUDIO_DRIVER, type=str)
audioDriver = settings.value(CARLA_KEY_ENGINE_AUDIO_DRIVER, CARLA_DEFAULT_AUDIO_DRIVER, str)

for i in range(self.ui.cb_engine_audio_driver.count()):
if self.ui.cb_engine_audio_driver.itemText(i) == audioDriver:
@@ -588,32 +588,32 @@ class CarlaSettingsW(QDialog):

self.ui.ch_osc_enable.setChecked(settings.value(CARLA_KEY_OSC_ENABLED,
CARLA_DEFAULT_OSC_ENABLED,
type=bool))
bool))

self.ui.group_osc_tcp_port.setChecked(settings.value(CARLA_KEY_OSC_TCP_PORT_ENABLED,
CARLA_DEFAULT_OSC_TCP_PORT_ENABLED,
type=bool))
bool))

self.ui.group_osc_udp_port.setChecked(settings.value(CARLA_KEY_OSC_UDP_PORT_ENABLED,
CARLA_DEFAULT_OSC_UDP_PORT_ENABLED,
type=bool))
bool))

self.ui.sb_osc_tcp_port_number.setValue(settings.value(CARLA_KEY_OSC_TCP_PORT_NUMBER,
CARLA_DEFAULT_OSC_TCP_PORT_NUMBER,
type=int))
int))

self.ui.sb_osc_udp_port_number.setValue(settings.value(CARLA_KEY_OSC_UDP_PORT_NUMBER,
CARLA_DEFAULT_OSC_UDP_PORT_NUMBER,
type=int))
int))

if settings.value(CARLA_KEY_OSC_TCP_PORT_RANDOM, CARLA_DEFAULT_OSC_TCP_PORT_RANDOM, type=bool):
if settings.value(CARLA_KEY_OSC_TCP_PORT_RANDOM, CARLA_DEFAULT_OSC_TCP_PORT_RANDOM, bool):
self.ui.rb_osc_tcp_port_specific.setChecked(False)
self.ui.rb_osc_tcp_port_random.setChecked(True)
else:
self.ui.rb_osc_tcp_port_random.setChecked(False)
self.ui.rb_osc_tcp_port_specific.setChecked(True)

if settings.value(CARLA_KEY_OSC_UDP_PORT_RANDOM, CARLA_DEFAULT_OSC_UDP_PORT_RANDOM, type=bool):
if settings.value(CARLA_KEY_OSC_UDP_PORT_RANDOM, CARLA_DEFAULT_OSC_UDP_PORT_RANDOM, bool):
self.ui.rb_osc_udp_port_specific.setChecked(False)
self.ui.rb_osc_udp_port_random.setChecked(True)
else:
@@ -623,8 +623,8 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# File Paths

audioPaths = toList(settings.value(CARLA_KEY_PATHS_AUDIO, CARLA_DEFAULT_FILE_PATH_AUDIO))
midiPaths = toList(settings.value(CARLA_KEY_PATHS_MIDI, CARLA_DEFAULT_FILE_PATH_MIDI))
audioPaths = settings.value(CARLA_KEY_PATHS_AUDIO, CARLA_DEFAULT_FILE_PATH_AUDIO, list)
midiPaths = settings.value(CARLA_KEY_PATHS_MIDI, CARLA_DEFAULT_FILE_PATH_MIDI, list)

audioPaths.sort()
midiPaths.sort()
@@ -640,13 +640,13 @@ class CarlaSettingsW(QDialog):
# ----------------------------------------------------------------------------------------------------
# Plugin Paths

ladspas = toList(settings.value(CARLA_KEY_PATHS_LADSPA, CARLA_DEFAULT_LADSPA_PATH))
dssis = toList(settings.value(CARLA_KEY_PATHS_DSSI, CARLA_DEFAULT_DSSI_PATH))
lv2s = toList(settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH))
vst2s = toList(settings.value(CARLA_KEY_PATHS_VST2, CARLA_DEFAULT_VST2_PATH))
vst3s = toList(settings.value(CARLA_KEY_PATHS_VST3, CARLA_DEFAULT_VST3_PATH))
sf2s = toList(settings.value(CARLA_KEY_PATHS_SF2, CARLA_DEFAULT_SF2_PATH))
sfzs = toList(settings.value(CARLA_KEY_PATHS_SFZ, CARLA_DEFAULT_SFZ_PATH))
ladspas = settings.value(CARLA_KEY_PATHS_LADSPA, CARLA_DEFAULT_LADSPA_PATH, list)
dssis = settings.value(CARLA_KEY_PATHS_DSSI, CARLA_DEFAULT_DSSI_PATH, list)
lv2s = settings.value(CARLA_KEY_PATHS_LV2, CARLA_DEFAULT_LV2_PATH, list)
vst2s = settings.value(CARLA_KEY_PATHS_VST2, CARLA_DEFAULT_VST2_PATH, list)
vst3s = settings.value(CARLA_KEY_PATHS_VST3, CARLA_DEFAULT_VST3_PATH, list)
sf2s = settings.value(CARLA_KEY_PATHS_SF2, CARLA_DEFAULT_SF2_PATH, list)
sfzs = settings.value(CARLA_KEY_PATHS_SFZ, CARLA_DEFAULT_SFZ_PATH, list)

ladspas.sort()
dssis.sort()
@@ -689,52 +689,52 @@ class CarlaSettingsW(QDialog):

self.ui.le_wine_exec.setText(settings.value(CARLA_KEY_WINE_EXECUTABLE,
CARLA_DEFAULT_WINE_EXECUTABLE,
type=str))
str))

self.ui.cb_wine_prefix_detect.setChecked(settings.value(CARLA_KEY_WINE_AUTO_PREFIX,
CARLA_DEFAULT_WINE_AUTO_PREFIX,
type=bool))
bool))

self.ui.le_wine_prefix_fallback.setText(settings.value(CARLA_KEY_WINE_FALLBACK_PREFIX,
CARLA_DEFAULT_WINE_FALLBACK_PREFIX,
type=str))
str))

self.ui.group_wine_realtime.setChecked(settings.value(CARLA_KEY_WINE_RT_PRIO_ENABLED,
CARLA_DEFAULT_WINE_RT_PRIO_ENABLED,
type=bool))
bool))

self.ui.sb_wine_base_prio.setValue(settings.value(CARLA_KEY_WINE_BASE_RT_PRIO,
CARLA_DEFAULT_WINE_BASE_RT_PRIO,
type=int))
int))

self.ui.sb_wine_server_prio.setValue(settings.value(CARLA_KEY_WINE_SERVER_RT_PRIO,
CARLA_DEFAULT_WINE_SERVER_RT_PRIO,
type=int))
int))

# ----------------------------------------------------------------------------------------------------
# Experimental

self.ui.ch_exp_jack_apps.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_JACK_APPS,
CARLA_DEFAULT_EXPERIMENTAL_JACK_APPS,
type=bool))
bool))

self.ui.ch_exp_export_lv2.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_EXPORT_LV2,
CARLA_DEFAULT_EXPERIMENTAL_LV2_EXPORT,
type=bool))
bool))

self.ui.ch_exp_load_lib_global.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL,
CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL,
type=bool))
bool))

self.ui.ch_exp_prevent_bad_behaviour.setChecked(settings.value(CARLA_KEY_EXPERIMENTAL_PREVENT_BAD_BEHAVIOUR,
CARLA_DEFAULT_EXPERIMENTAL_PREVENT_BAD_BEHAVIOUR,
type=bool))
bool))

# --------------------------------------------------------------------------------------------------------

@pyqtSlot()
def slot_saveSettings(self):
settings = QSettings()
settings = QSafeSettings()

self.host.experimental = self.ui.ch_main_experimental.isChecked()

@@ -768,7 +768,7 @@ class CarlaSettingsW(QDialog):

# ----------------------------------------------------------------------------------------------------

settings = QSettings("falkTX", "Carla2")
settings = QSafeSettings("falkTX", "Carla2")

# ----------------------------------------------------------------------------------------------------
# Main


+ 1
- 1
source/frontend/carla_widgets.py View File

@@ -19,7 +19,7 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QSettings, QTimer
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QTimer
from PyQt5.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath, QPalette, QPixmap
from PyQt5.QtWidgets import QDialog, QGroupBox, QInputDialog, QLineEdit, QMenu, QScrollArea, QVBoxLayout, QWidget



+ 11
- 20
source/frontend/patchcanvas.py View File

@@ -19,29 +19,20 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Config)

from carla_config import *
from carla_shared import QSafeSettings

# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

from math import floor

if config_UseQt5:
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, qFatal, qWarning, Qt, QObject
from PyQt5.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
from PyQt5.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt5.QtGui import QCursor, QFont, QFontMetrics
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem, QGraphicsRectItem
from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect, QMenu
else:
from PyQt4.QtCore import pyqtSignal, pyqtSlot, qCritical, qFatal, qWarning, Qt, QObject
from PyQt4.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
from PyQt4.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt4.QtGui import QCursor, QFont, QFontMetrics
from PyQt4.QtGui import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem, QGraphicsRectItem
from PyQt4.QtGui import QGraphicsColorizeEffect, QGraphicsDropShadowEffect, QMenu
from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, qFatal, qWarning, Qt, QObject
from PyQt5.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QTimer
from PyQt5.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt5.QtGui import QCursor, QFont, QFontMetrics
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem, QGraphicsRectItem
from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect, QMenu

# ------------------------------------------------------------------------------------------------------------
# Imports (Theme)
@@ -322,13 +313,13 @@ def split2str(split):

def getStoredCanvasPosition(key, fallback_pos):
try:
return canvas.settings.value("CanvasPositions/" + key, fallback_pos, type=QPointF)
return canvas.settings.value("CanvasPositions/" + key, fallback_pos, QPointF)
except:
return fallback_pos

def getStoredCanvasSplit(group_name, fallback_split_mode):
try:
return canvas.settings.value("CanvasPositions/%s_SPLIT" % group_name, fallback_split_mode, type=int)
return canvas.settings.value("CanvasPositions/%s_SPLIT" % group_name, fallback_split_mode, int)
except:
return fallback_split_mode

@@ -372,7 +363,7 @@ def init(appName, scene, callback, debug=False):
canvas.size_rect = QRectF()

if not canvas.qobject: canvas.qobject = CanvasObject()
if not canvas.settings: canvas.settings = QSettings("falkTX", appName)
if not canvas.settings: canvas.settings = QSafeSettings("falkTX", appName)

if canvas.theme:
del canvas.theme


+ 4
- 2
source/frontend/patchcanvas/patchcanvas.py View File

@@ -20,7 +20,7 @@
# Imports (Global)

from PyQt5.QtCore import pyqtSlot, qCritical, qFatal, qWarning, QObject
from PyQt5.QtCore import QPointF, QRectF, QSettings, QTimer
from PyQt5.QtCore import QPointF, QRectF, QTimer

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom)
@@ -62,6 +62,8 @@ from .utils import CanvasCallback, CanvasGetNewGroupPos, CanvasItemFX, CanvasRem
from . import *
from .scene import PatchScene

from carla_shared import QSafeSettings

# ------------------------------------------------------------------------------------------------------------

class CanvasObject(QObject):
@@ -176,7 +178,7 @@ def init(appName, scene, callback, debug=False):
if not canvas.qobject:
canvas.qobject = CanvasObject()
if not canvas.settings:
canvas.settings = QSettings("falkTX", appName)
canvas.settings = QSafeSettings("falkTX", appName)

if canvas.theme:
del canvas.theme


+ 11
- 6
source/frontend/widgets/pixmapkeyboard.py View File

@@ -19,10 +19,15 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer, QSettings, QSize
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer, QSize
from PyQt5.QtGui import QColor, QFont, QPainter, QPixmap
from PyQt5.QtWidgets import QMenu, QScrollArea, QWidget

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom)

from carla_shared import QSafeSettings

# ------------------------------------------------------------------------------------------------------------

kMidiKey2RectMapHorizontal = [
@@ -217,17 +222,17 @@ class PixmapKeyboard(QWidget):
if self.fInitalizing:
return

settings = QSettings("falkTX", "CarlaKeyboard")
settings = QSafeSettings("falkTX", "CarlaKeyboard")
settings.setValue("PcKeyboardLayout", self.fkPcKeyLayout)
settings.setValue("PcKeyboardOffset", self.fPcKeybOffset)
settings.setValue("HighlightColor", self.fHighlightColor)
del settings

def loadSettings(self):
settings = QSettings("falkTX", "CarlaKeyboard")
self.setPcKeyboardLayout(settings.value("PcKeyboardLayout", self.fkPcKeyLayout, type=str))
self.setPcKeyboardOffset(settings.value("PcKeyboardOffset", self.fPcKeybOffset, type=int))
self.setColor(settings.value("HighlightColor", self.fHighlightColor, type=str))
settings = QSafeSettings("falkTX", "CarlaKeyboard")
self.setPcKeyboardLayout(settings.value("PcKeyboardLayout", self.fkPcKeyLayout, str))
self.setPcKeyboardOffset(settings.value("PcKeyboardOffset", self.fPcKeybOffset, int))
self.setColor(settings.value("HighlightColor", self.fHighlightColor, str))
del settings

def allNotesOff(self, sendSignal=True):


Loading…
Cancel
Save