diff --git a/src/catia.py b/src/catia.py
index b87648f..897855c 100755
--- a/src/catia.py
+++ b/src/catia.py
@@ -35,7 +35,6 @@ except:
try:
import dbus
from dbus.mainloop.qt import DBusQtMainLoop
-
haveDBus = True
except:
haveDBus = False
diff --git a/src/claudia.py b/src/claudia.py
index acc4cf7..a26e9a3 100755
--- a/src/claudia.py
+++ b/src/claudia.py
@@ -35,62 +35,62 @@ from shared_canvas import *
from shared_settings import *
try:
- from PyQt4.QtOpenGL import QGLWidget
- hasGL = True
+ from PyQt4.QtOpenGL import QGLWidget
+ hasGL = True
except:
- hasGL = False
+ hasGL = False
# NOTE - set to true when supported
USE_CLAUDIA_ADD_NEW = True
# internal indexes
-iConnId = 0
+iConnId = 0
iConnOutput = 1
-iConnInput = 2
+iConnInput = 2
-iAppCommand = 0
-iAppName = 1
+iAppCommand = 0
+iAppName = 1
iAppTerminal = 2
-iAppLevel = 3
-iAppActive = 4
+iAppLevel = 3
+iAppActive = 4
-iAppPropName = 0
+iAppPropName = 0
iAppPropDescription = 1
-iAppPropNotes = 2
-iAppPropSaveNow = 3
+iAppPropNotes = 2
+iAppPropSaveNow = 3
-iItemPropNumber = 0
-iItemPropName = 1
-iItemPropActive = 2
+iItemPropNumber = 0
+iItemPropName = 1
+iItemPropActive = 2
iItemPropTerminal = 3
-iItemPropLevel = 4
+iItemPropLevel = 4
iItemPropRoomPath = 0
iItemPropRoomName = 1
# jackdbus indexes
-iGraphVersion = 0
-iJackClientId = 1
-iJackClientName = 2
-iJackPortId = 3
-iJackPortName = 4
+iGraphVersion = 0
+iJackClientId = 1
+iJackClientName = 2
+iJackPortId = 3
+iJackPortName = 4
iJackPortNewName = 5
-iJackPortFlags = 5
-iJackPortType = 6
+iJackPortFlags = 5
+iJackPortType = 6
-iRenamedId = 1
+iRenamedId = 1
iRenamedOldName = 2
iRenamedNewName = 3
-iSourceClientId = 1
+iSourceClientId = 1
iSourceClientName = 2
-iSourcePortId = 3
-iSourcePortName = 4
-iTargetClientId = 5
+iSourcePortId = 3
+iSourcePortName = 4
+iTargetClientId = 5
iTargetClientName = 6
-iTargetPortId = 7
-iTargetPortName = 8
-iJackConnId = 9
+iTargetPortId = 7
+iTargetPortName = 8
+iJackConnId = 9
# ladish indexes
iStudioListName = 0
@@ -101,47 +101,47 @@ iStudioRenamedName = 0
iRoomAppearedPath = 0
iRoomAppearedDict = 1
-iProjChangedId = 0
+iProjChangedId = 0
iProjChangedDict = 1
-iAppChangedNumber = 1
-iAppChangedName = 2
-iAppChangedActive = 3
+iAppChangedNumber = 1
+iAppChangedName = 2
+iAppChangedActive = 3
iAppChangedTerminal = 4
-iAppChangedLevel = 5
+iAppChangedLevel = 5
# internal defines
-ITEM_TYPE_NULL = 0
-ITEM_TYPE_STUDIO = 1
+ITEM_TYPE_NULL = 0
+ITEM_TYPE_STUDIO = 1
ITEM_TYPE_STUDIO_APP = 2
-ITEM_TYPE_ROOM = 3
-ITEM_TYPE_ROOM_APP = 4
+ITEM_TYPE_ROOM = 3
+ITEM_TYPE_ROOM_APP = 4
# C defines
-JACKDBUS_PORT_FLAG_INPUT = 0x00000001
-JACKDBUS_PORT_FLAG_OUTPUT = 0x00000002
-JACKDBUS_PORT_FLAG_PHYSICAL = 0x00000004
+JACKDBUS_PORT_FLAG_INPUT = 0x00000001
+JACKDBUS_PORT_FLAG_OUTPUT = 0x00000002
+JACKDBUS_PORT_FLAG_PHYSICAL = 0x00000004
JACKDBUS_PORT_FLAG_CAN_MONITOR = 0x00000008
-JACKDBUS_PORT_FLAG_TERMINAL = 0x00000010
+JACKDBUS_PORT_FLAG_TERMINAL = 0x00000010
JACKDBUS_PORT_TYPE_AUDIO = 0
-JACKDBUS_PORT_TYPE_MIDI = 1
+JACKDBUS_PORT_TYPE_MIDI = 1
-GRAPH_DICT_OBJECT_TYPE_GRAPH = 0
+GRAPH_DICT_OBJECT_TYPE_GRAPH = 0
GRAPH_DICT_OBJECT_TYPE_CLIENT = 1
-GRAPH_DICT_OBJECT_TYPE_PORT = 2
+GRAPH_DICT_OBJECT_TYPE_PORT = 2
GRAPH_DICT_OBJECT_TYPE_CONNECTION = 3
-URI_A2J_PORT = "http://ladish.org/ns/a2j"
-URI_CANVAS_WIDTH = "http://ladish.org/ns/canvas/width"
-URI_CANVAS_HEIGHT = "http://ladish.org/ns/canvas/height"
-URI_CANVAS_X = "http://ladish.org/ns/canvas/x"
-URI_CANVAS_Y = "http://ladish.org/ns/canvas/y"
-URI_CANVAS_SPLIT = "http://kxstudio.sourceforge.net/ns/canvas/split"
+URI_A2J_PORT = "http://ladish.org/ns/a2j"
+URI_CANVAS_WIDTH = "http://ladish.org/ns/canvas/width"
+URI_CANVAS_HEIGHT = "http://ladish.org/ns/canvas/height"
+URI_CANVAS_X = "http://ladish.org/ns/canvas/x"
+URI_CANVAS_Y = "http://ladish.org/ns/canvas/y"
+URI_CANVAS_SPLIT = "http://kxstudio.sourceforge.net/ns/canvas/split"
URI_CANVAS_X_SPLIT = "http://kxstudio.sourceforge.net/ns/canvas/x_split"
URI_CANVAS_Y_SPLIT = "http://kxstudio.sourceforge.net/ns/canvas/y_split"
-DEFAULT_CANVAS_WIDTH = 3100
+DEFAULT_CANVAS_WIDTH = 3100
DEFAULT_CANVAS_HEIGHT = 2400
RECENT_PROJECTS_STORE_MAX_ITEMS = 50
@@ -152,9 +152,8 @@ setDefaultProjectFolder(DEFAULT_PROJECT_FOLDER)
# Studio Name Dialog
class StudioNameW(QDialog, ui_claudia_studioname.Ui_StudioNameW):
-
- NEW = 1
- RENAME = 2
+ NEW = 1
+ RENAME = 2
SAVE_AS = 3
def __init__(self, parent, mode):
@@ -163,24 +162,24 @@ class StudioNameW(QDialog, ui_claudia_studioname.Ui_StudioNameW):
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
- if (mode == self.NEW):
- self.setWindowTitle(self.tr("New studio"))
- elif (mode == self.RENAME):
- self.setWindowTitle(self.tr("Rename studio"))
- elif (mode == self.SAVE_AS):
- self.setWindowTitle(self.tr("Save studio as"))
+ if mode == self.NEW:
+ self.setWindowTitle(self.tr("New studio"))
+ elif mode == self.RENAME:
+ self.setWindowTitle(self.tr("Rename studio"))
+ elif mode == self.SAVE_AS:
+ self.setWindowTitle(self.tr("Save studio as"))
self.m_mode = mode
self.m_studio_list = []
- if (mode == self.RENAME and bool(DBus.ladish_control.IsStudioLoaded())):
- current_name = str(DBus.ladish_studio.GetName())
- self.m_studio_list.append(current_name)
- self.le_name.setText(current_name)
+ if mode == self.RENAME and bool(DBus.ladish_control.IsStudioLoaded()):
+ current_name = str(DBus.ladish_studio.GetName())
+ self.m_studio_list.append(current_name)
+ self.le_name.setText(current_name)
studio_list = DBus.ladish_control.GetStudioList()
for studio in studio_list:
- self.m_studio_list.append(str(studio[iStudioListName]))
+ self.m_studio_list.append(str(studio[iStudioListName]))
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()"))
self.connect(self.le_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)"))
@@ -189,10 +188,10 @@ class StudioNameW(QDialog, ui_claudia_studioname.Ui_StudioNameW):
@pyqtSlot(str)
def slot_checkText(self, text):
- if (self.m_mode == self.SAVE_AS):
- check = bool(text)
+ if self.m_mode == self.SAVE_AS:
+ check = bool(text)
else:
- check = bool(text and text not in self.m_studio_list)
+ check = bool(text and text not in self.m_studio_list)
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(check)
@pyqtSlot()
@@ -211,23 +210,23 @@ class StudioListW(QDialog, ui_claudia_studiolist.Ui_StudioListW):
index = 0
studio_list = DBus.ladish_control.GetStudioList()
for studio in studio_list:
- name = str(studio[iStudioListName])
- date = ctime(float(studio[iStudioListDict]["Modification Time"]))
+ name = str(studio[iStudioListName])
+ date = ctime(float(studio[iStudioListDict]["Modification Time"]))
- w_name = QTableWidgetItem(name)
- w_date = QTableWidgetItem(date)
- self.tableWidget.insertRow(index)
- self.tableWidget.setItem(index, 0, w_name)
- self.tableWidget.setItem(index, 1, w_date)
+ w_name = QTableWidgetItem(name)
+ w_date = QTableWidgetItem(date)
+ self.tableWidget.insertRow(index)
+ self.tableWidget.setItem(index, 0, w_name)
+ self.tableWidget.setItem(index, 1, w_date)
- index += 1
+ index += 1
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()"))
self.connect(self.tableWidget, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()"))
self.connect(self.tableWidget, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelection(int)"))
- if (self.tableWidget.rowCount() > 0):
- self.tableWidget.setCurrentCell(0, 0)
+ if self.tableWidget.rowCount() > 0:
+ self.tableWidget.setCurrentCell(0, 0)
self.ret_studio_name = ""
@@ -238,8 +237,8 @@ class StudioListW(QDialog, ui_claudia_studiolist.Ui_StudioListW):
@pyqtSlot()
def slot_setReturn(self):
- if (self.tableWidget.rowCount() >= 0):
- self.ret_studio_name = self.tableWidget.item(self.tableWidget.currentRow(), 0).text()
+ if self.tableWidget.rowCount() >= 0:
+ self.ret_studio_name = self.tableWidget.item(self.tableWidget.currentRow(), 0).text()
# Create Room Dialog
class CreateRoomW(QDialog, ui_claudia_createroom.Ui_CreateRoomW):
@@ -251,13 +250,13 @@ class CreateRoomW(QDialog, ui_claudia_createroom.Ui_CreateRoomW):
templates_list = DBus.ladish_control.GetRoomTemplateList()
for template_name, template_dict in templates_list:
- self.lw_templates.addItem(template_name)
+ self.lw_templates.addItem(template_name)
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()"))
self.connect(self.le_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)"))
- if (self.lw_templates.count() > 0):
- self.lw_templates.setCurrentRow(0)
+ if self.lw_templates.count() > 0:
+ self.lw_templates.setCurrentRow(0)
self.ret_room_name = ""
self.ret_room_template = ""
@@ -269,14 +268,13 @@ class CreateRoomW(QDialog, ui_claudia_createroom.Ui_CreateRoomW):
@pyqtSlot()
def slot_setReturn(self):
- if (self.lw_templates.count() > 0):
- self.ret_room_name = self.le_name.text()
- self.ret_room_template = self.lw_templates.currentItem().text()
+ if self.lw_templates.count() > 0:
+ self.ret_room_name = self.le_name.text()
+ self.ret_room_template = self.lw_templates.currentItem().text()
# Project Name Dialog
class ProjectNameW(QDialog, ui_claudia_projectname.Ui_ProjectNameW):
-
- NEW = 1
+ NEW = 1
SAVE_AS = 2
def __init__(self, parent, mode, proj_folder, path="", name=""):
@@ -285,13 +283,13 @@ class ProjectNameW(QDialog, ui_claudia_projectname.Ui_ProjectNameW):
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
- if (mode == self.NEW):
- self.setWindowTitle(self.tr("New project"))
- elif (mode == self.SAVE_AS):
- self.setWindowTitle(self.tr("Save project as"))
- self.le_path.setText(path)
- self.le_name.setText(name)
- self.checkText(path, name)
+ if mode == self.NEW:
+ self.setWindowTitle(self.tr("New project"))
+ elif mode == self.SAVE_AS:
+ self.setWindowTitle(self.tr("Save project as"))
+ self.le_path.setText(path)
+ self.le_name.setText(name)
+ self.checkText(path, name)
self.m_proj_folder = proj_folder
@@ -310,14 +308,14 @@ class ProjectNameW(QDialog, ui_claudia_projectname.Ui_ProjectNameW):
@pyqtSlot()
def slot_checkFolder(self):
# Create default project folder if the project has not been set yet
- if (not self.le_path.text()):
- if (not os.path.exists(self.m_proj_folder)):
- os.mkdir(self.m_proj_folder)
+ if not self.le_path.text():
+ if not os.path.exists(self.m_proj_folder):
+ os.mkdir(self.m_proj_folder)
- if (self.le_path.text()):
- proj_path = self.le_path.text()
+ if self.le_path.text():
+ proj_path = self.le_path.text()
else:
- proj_path = self.m_proj_folder
+ proj_path = self.m_proj_folder
getAndSetPath(self, proj_path, self.le_path)
@@ -356,18 +354,18 @@ class ProjectPropertiesW(QDialog, ui_claudia_projectproperties.Ui_ProjectPropert
@pyqtSlot()
def slot_setReturn(self):
self.ret_obj = [None, None, None, None]
- self.ret_obj[iAppPropName] = self.le_name.text()
+ self.ret_obj[iAppPropName] = self.le_name.text()
self.ret_obj[iAppPropDescription] = self.le_description.text()
- self.ret_obj[iAppPropNotes] = self.le_notes.toPlainText() # plainText()
- self.ret_obj[iAppPropSaveNow] = self.cb_save_now.isChecked()
+ self.ret_obj[iAppPropNotes] = self.le_notes.toPlainText() # plainText()
+ self.ret_obj[iAppPropSaveNow] = self.cb_save_now.isChecked()
@pyqtSlot(bool)
def slot_checkSaveNow(self, save):
- if (save):
- self.le_name.setText(self.m_last_name)
+ if save:
+ self.le_name.setText(self.m_last_name)
else:
- self.m_last_name = self.le_name.text()
- self.le_name.setText(self.m_default_name)
+ self.m_last_name = self.le_name.text()
+ self.le_name.setText(self.m_default_name)
@pyqtSlot(str)
def slot_checkText_name(self, text):
@@ -382,36 +380,36 @@ class RunCustomW(QDialog, ui_claudia_runcustom.Ui_RunCustomW):
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(bool(app_obj))
- if (app_obj):
- self.le_command.setText(app_obj[iAppCommand])
- self.le_name.setText(app_obj[iAppName])
- self.cb_terminal.setChecked(app_obj[iAppTerminal])
-
- level = app_obj[iAppLevel]
- if (level == "0"):
- self.rb_level_0.setChecked(True)
- elif (level == "1"):
- self.rb_level_1.setChecked(True)
- elif (level == "lash"):
- self.rb_level_lash.setChecked(True)
- elif (level == "jacksession"):
- self.rb_level_js.setChecked(True)
- else:
+ if app_obj:
+ self.le_command.setText(app_obj[iAppCommand])
+ self.le_name.setText(app_obj[iAppName])
+ self.cb_terminal.setChecked(app_obj[iAppTerminal])
+
+ level = app_obj[iAppLevel]
+ if level == "0":
+ self.rb_level_0.setChecked(True)
+ elif level == "1":
+ self.rb_level_1.setChecked(True)
+ elif level == "lash":
+ self.rb_level_lash.setChecked(True)
+ elif level == "jacksession":
+ self.rb_level_js.setChecked(True)
+ else:
+ self.rb_level_0.setChecked(True)
+
+ if app_obj[iAppActive]:
+ self.le_command.setEnabled(False)
+ self.cb_terminal.setEnabled(False)
+ self.rb_level_0.setEnabled(False)
+ self.rb_level_1.setEnabled(False)
+ self.rb_level_lash.setEnabled(False)
+ self.rb_level_js.setEnabled(False)
+ else:
self.rb_level_0.setChecked(True)
- if (app_obj[iAppActive]):
- self.le_command.setEnabled(False)
- self.cb_terminal.setEnabled(False)
- self.rb_level_0.setEnabled(False)
- self.rb_level_1.setEnabled(False)
+ if not isRoom:
self.rb_level_lash.setEnabled(False)
self.rb_level_js.setEnabled(False)
- else:
- self.rb_level_0.setChecked(True)
-
- if (not isRoom):
- self.rb_level_lash.setEnabled(False)
- self.rb_level_js.setEnabled(False)
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()"))
self.connect(self.le_command, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)"))
@@ -425,23 +423,23 @@ class RunCustomW(QDialog, ui_claudia_runcustom.Ui_RunCustomW):
@pyqtSlot()
def slot_setReturn(self):
- if (self.rb_level_0.isChecked()):
- level = "0"
- elif (self.rb_level_1.isChecked()):
- level = "1"
- elif (self.rb_level_lash.isChecked()):
- level = "lash"
- elif (self.rb_level_js.isChecked()):
- level = "jacksession"
+ if self.rb_level_0.isChecked():
+ level = "0"
+ elif self.rb_level_1.isChecked():
+ level = "1"
+ elif self.rb_level_lash.isChecked():
+ level = "lash"
+ elif self.rb_level_js.isChecked():
+ level = "jacksession"
else:
- return
+ return
self.ret_app_obj = [None, None, None, None, None]
- self.ret_app_obj[iAppCommand] = self.le_command.text()
- self.ret_app_obj[iAppName] = self.le_name.text()
+ self.ret_app_obj[iAppCommand] = self.le_command.text()
+ self.ret_app_obj[iAppName] = self.le_name.text()
self.ret_app_obj[iAppTerminal] = self.cb_terminal.isChecked()
- self.ret_app_obj[iAppLevel] = level
- self.ret_app_obj[iAppActive] = False
+ self.ret_app_obj[iAppLevel] = level
+ self.ret_app_obj[iAppActive] = False
# Add Application Dialog
class ClaudiaLauncherW(QDialog):
@@ -449,7 +447,7 @@ class ClaudiaLauncherW(QDialog):
QDialog.__init__(self, parent)
self.launcher = claudia_launcher.ClaudiaLauncher(self)
- self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel, Qt.Horizontal, self)
+ self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, Qt.Horizontal, self)
self.layoutR = QVBoxLayout(self)
self.layoutR.addWidget(self.launcher)
@@ -459,10 +457,10 @@ class ClaudiaLauncherW(QDialog):
self.launcher.setCallbackApp(self, self.settings, True)
self.loadSettings()
- self.m_appBus = appBus
+ self.m_appBus = appBus
self.m_proj_folder = proj_folder
- self.m_is_room = is_room
- self.m_bpm = bpm
+ self.m_is_room = is_room
+ self.m_bpm = bpm
self.m_sample_rate = sample_rate
self.test_url = True
@@ -477,13 +475,13 @@ class ClaudiaLauncherW(QDialog):
# Callbacks
def callback_checkGUI(self, test_selected=None):
- if (test_selected != None):
- self.test_selected = test_selected
+ if test_selected != None:
+ self.test_selected = test_selected
- if (self.test_url and self.test_selected):
- self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(True)
+ if self.test_url and self.test_selected:
+ self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(True)
else:
- self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
+ self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
def callback_getProjectFolder(self):
return self.m_proj_folder
@@ -492,10 +490,10 @@ class ClaudiaLauncherW(QDialog):
return self.m_appBus
def callback_getBPM(self):
- if (self.m_bpm < 30):
- return 120.0
+ if self.m_bpm < 30:
+ return 120.0
else:
- return self.m_bpm
+ return self.m_bpm
def callback_getSampleRate(self):
return self.m_sample_rate
@@ -568,64 +566,64 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.act_settings_configure.setIcon(getIcon("configure"))
# Global Systray
- if (self.m_savedSettings["Main/UseSystemTray"]):
- self.systray = systray.GlobalSysTray("Claudia", "claudia")
- self.systray.setQtParent(self)
-
- self.systray.addAction("studio_new", self.tr("New Studio..."))
- self.systray.addSeparator("sep1")
- self.systray.addAction("studio_start", self.tr("Start Studio"))
- self.systray.addAction("studio_stop", self.tr("Stop Studio"))
- self.systray.addSeparator("sep2")
- self.systray.addAction("studio_save", self.tr("Save Studio"))
- self.systray.addAction("studio_save_as", self.tr("Save Studio As..."))
- self.systray.addAction("studio_rename", self.tr("Rename Studio..."))
- self.systray.addAction("studio_unload", self.tr("Unload Studio"))
- self.systray.addSeparator("sep3")
- self.systray.addMenu("tools", self.tr("Tools"))
- self.systray.addMenuAction("tools", "tools_configure_jack", self.tr("Configure JACK"))
- self.systray.addMenuAction("tools", "tools_render", self.tr("JACK Render"))
- self.systray.addMenuAction("tools", "tools_logs", self.tr("Logs"))
- self.systray.addMenuSeparator("tools", "tools_sep")
- self.systray.addMenuAction("tools", "tools_clear_xruns", self.tr("Clear Xruns"))
- self.systray.addAction("configure", self.tr("Configure Claudia"))
- self.systray.addSeparator("sep4")
- self.systray.addAction("show", self.tr("Hide"))
- self.systray.addAction("quit", self.tr("Quit"))
-
- self.systray.setActionIcon("studio_new", "document-new")
- self.systray.setActionIcon("studio_start", "media-playback-start")
- self.systray.setActionIcon("studio_stop", "media-playback-stop")
- self.systray.setActionIcon("studio_save", "document-save")
- self.systray.setActionIcon("studio_save_as", "document-save-as")
- self.systray.setActionIcon("studio_rename", "edit-rename")
- self.systray.setActionIcon("studio_unload", "dialog-close")
- self.systray.setActionIcon("tools_configure_jack", "configure")
- self.systray.setActionIcon("tools_render", "media-record")
- self.systray.setActionIcon("tools_clear_xruns", "edit-clear")
- self.systray.setActionIcon("configure", "configure")
- self.systray.setActionIcon("quit", "application-exit")
-
- self.systray.connect("show", self.systray_clicked_callback)
- self.systray.connect("studio_new", self.slot_studio_new)
- self.systray.connect("studio_start", self.slot_studio_start)
- self.systray.connect("studio_stop", self.slot_studio_stop)
- self.systray.connect("studio_save", self.slot_studio_save)
- self.systray.connect("studio_save_as", self.slot_studio_save_as)
- self.systray.connect("studio_rename", self.slot_studio_rename)
- self.systray.connect("studio_unload", self.slot_studio_unload)
- self.systray.connect("tools_configure_jack", lambda: slot_showJackSettings(self))
- self.systray.connect("tools_render", lambda: slot_showRender(self))
- self.systray.connect("tools_logs", lambda: slot_showLogs(self))
- self.systray.connect("tools_clear_xruns", self.slot_JackClearXruns)
- self.systray.connect("configure", self.slot_configureClaudia)
- self.systray.connect("quit", self.systray_closed)
-
- self.systray.setToolTip("LADISH Frontend")
- self.systray.show()
+ if self.m_savedSettings["Main/UseSystemTray"]:
+ self.systray = systray.GlobalSysTray("Claudia", "claudia")
+ self.systray.setQtParent(self)
+
+ self.systray.addAction("studio_new", self.tr("New Studio..."))
+ self.systray.addSeparator("sep1")
+ self.systray.addAction("studio_start", self.tr("Start Studio"))
+ self.systray.addAction("studio_stop", self.tr("Stop Studio"))
+ self.systray.addSeparator("sep2")
+ self.systray.addAction("studio_save", self.tr("Save Studio"))
+ self.systray.addAction("studio_save_as", self.tr("Save Studio As..."))
+ self.systray.addAction("studio_rename", self.tr("Rename Studio..."))
+ self.systray.addAction("studio_unload", self.tr("Unload Studio"))
+ self.systray.addSeparator("sep3")
+ self.systray.addMenu("tools", self.tr("Tools"))
+ self.systray.addMenuAction("tools", "tools_configure_jack", self.tr("Configure JACK"))
+ self.systray.addMenuAction("tools", "tools_render", self.tr("JACK Render"))
+ self.systray.addMenuAction("tools", "tools_logs", self.tr("Logs"))
+ self.systray.addMenuSeparator("tools", "tools_sep")
+ self.systray.addMenuAction("tools", "tools_clear_xruns", self.tr("Clear Xruns"))
+ self.systray.addAction("configure", self.tr("Configure Claudia"))
+ self.systray.addSeparator("sep4")
+ self.systray.addAction("show", self.tr("Hide"))
+ self.systray.addAction("quit", self.tr("Quit"))
+
+ self.systray.setActionIcon("studio_new", "document-new")
+ self.systray.setActionIcon("studio_start", "media-playback-start")
+ self.systray.setActionIcon("studio_stop", "media-playback-stop")
+ self.systray.setActionIcon("studio_save", "document-save")
+ self.systray.setActionIcon("studio_save_as", "document-save-as")
+ self.systray.setActionIcon("studio_rename", "edit-rename")
+ self.systray.setActionIcon("studio_unload", "dialog-close")
+ self.systray.setActionIcon("tools_configure_jack", "configure")
+ self.systray.setActionIcon("tools_render", "media-record")
+ self.systray.setActionIcon("tools_clear_xruns", "edit-clear")
+ self.systray.setActionIcon("configure", "configure")
+ self.systray.setActionIcon("quit", "application-exit")
+
+ self.systray.connect("show", self.systray_clicked_callback)
+ self.systray.connect("studio_new", self.slot_studio_new)
+ self.systray.connect("studio_start", self.slot_studio_start)
+ self.systray.connect("studio_stop", self.slot_studio_stop)
+ self.systray.connect("studio_save", self.slot_studio_save)
+ self.systray.connect("studio_save_as", self.slot_studio_save_as)
+ self.systray.connect("studio_rename", self.slot_studio_rename)
+ self.systray.connect("studio_unload", self.slot_studio_unload)
+ self.systray.connect("tools_configure_jack", lambda: slot_showJackSettings(self))
+ self.systray.connect("tools_render", lambda: slot_showRender(self))
+ self.systray.connect("tools_logs", lambda: slot_showLogs(self))
+ self.systray.connect("tools_clear_xruns", self.slot_JackClearXruns)
+ self.systray.connect("configure", self.slot_configureClaudia)
+ self.systray.connect("quit", self.systray_closed)
+
+ self.systray.setToolTip("LADISH Frontend")
+ self.systray.show()
else:
- self.systray = None
+ self.systray = None
self.m_xruns = -1
self.m_buffer_size = 0
@@ -643,18 +641,18 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.cb_sample_rate.clear()
for buffer_size in buffer_sizes:
- self.cb_buffer_size.addItem(str(buffer_size))
+ self.cb_buffer_size.addItem(str(buffer_size))
for sample_rate in sample_rates:
- self.cb_sample_rate.addItem(str(sample_rate))
+ self.cb_sample_rate.addItem(str(sample_rate))
self.scene = patchcanvas.PatchScene(self, self.graphicsView)
self.graphicsView.setScene(self.scene)
self.graphicsView.setRenderHint(QPainter.Antialiasing, bool(self.m_savedSettings["Canvas/Antialiasing"] == patchcanvas.ANTIALIASING_FULL))
self.graphicsView.setRenderHint(QPainter.TextAntialiasing, self.m_savedSettings["Canvas/TextAntialiasing"])
- if (self.m_savedSettings["Canvas/UseOpenGL"] and hasGL):
- self.graphicsView.setViewport(QGLWidget(self.graphicsView))
- self.graphicsView.setRenderHint(QPainter.HighQualityAntialiasing, self.m_savedSettings["Canvas/HighQualityAntialiasing"])
+ if self.m_savedSettings["Canvas/UseOpenGL"] and hasGL:
+ self.graphicsView.setViewport(QGLWidget(self.graphicsView))
+ self.graphicsView.setRenderHint(QPainter.HighQualityAntialiasing, self.m_savedSettings["Canvas/HighQualityAntialiasing"])
p_options = patchcanvas.options_t()
p_options.theme_name = self.m_savedSettings["Canvas/Theme"]
@@ -664,40 +662,40 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
p_options.eyecandy = self.m_savedSettings["Canvas/EyeCandy"]
p_features = patchcanvas.features_t()
- p_features.group_info = False
- p_features.group_rename = True
- p_features.port_info = True
- p_features.port_rename = True
+ p_features.group_info = False
+ p_features.group_rename = True
+ p_features.port_info = True
+ p_features.port_rename = True
p_features.handle_group_pos = False
patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
- patchcanvas.setInitialPos(DEFAULT_CANVAS_WIDTH/2, DEFAULT_CANVAS_HEIGHT/2)
+ patchcanvas.setInitialPos(DEFAULT_CANVAS_WIDTH / 2, DEFAULT_CANVAS_HEIGHT / 2)
patchcanvas.setCanvasSize(0, 0, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT)
self.graphicsView.setSceneRect(0, 0, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT)
self.miniCanvasPreview.setRealParent(self)
self.miniCanvasPreview.init(self.scene, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT)
- if (DBus.jack.IsStarted()):
- self.jackStarted()
+ if DBus.jack.IsStarted():
+ self.jackStarted()
else:
- self.jackStopped()
+ self.jackStopped()
- if (DBus.ladish_control.IsStudioLoaded()):
- self.studioLoaded()
- if (DBus.ladish_studio.IsStarted()):
- self.studioStarted()
- self.init_ports()
- else:
- self.studioStopped()
+ if DBus.ladish_control.IsStudioLoaded():
+ self.studioLoaded()
+ if DBus.ladish_studio.IsStarted():
+ self.studioStarted()
+ self.init_ports()
+ else:
+ self.studioStopped()
else:
- self.studioUnloaded()
+ self.studioUnloaded()
self.m_timer120 = self.startTimer(self.m_savedSettings["Main/RefreshInterval"])
- self.m_timer600 = self.startTimer(self.m_savedSettings["Main/RefreshInterval"]*5)
+ self.m_timer600 = self.startTimer(self.m_savedSettings["Main/RefreshInterval"] * 5)
setCanvasConnections(self)
setJackConnections(self, ["jack", "transport", "misc"])
@@ -798,110 +796,115 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
# DBus Stuff
DBus.bus.add_signal_receiver(self.DBusSignalReceiver, destination_keyword='dest', path_keyword='path',
- member_keyword='member', interface_keyword='interface', sender_keyword='sender', )
+ member_keyword='member', interface_keyword='interface', sender_keyword='sender', )
QTimer.singleShot(100, self, SLOT("slot_miniCanvasInit()"))
def canvasCallback(self, action, value1, value2, value_str):
- if (action == patchcanvas.ACTION_GROUP_INFO):
- pass
+ if action == patchcanvas.ACTION_GROUP_INFO:
+ pass
- elif (action == patchcanvas.ACTION_GROUP_RENAME):
- group_id = value1
- group_name = value_str
- DBus.ladish_manager.RenameClient(group_id, group_name)
+ elif action == patchcanvas.ACTION_GROUP_RENAME:
+ group_id = value1
+ group_name = value_str
+ DBus.ladish_manager.RenameClient(group_id, group_name)
- elif (action == patchcanvas.ACTION_GROUP_SPLIT):
- group_id = value1
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_SPLIT, "true")
+ elif action == patchcanvas.ACTION_GROUP_SPLIT:
+ group_id = value1
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_SPLIT, "true")
- patchcanvas.splitGroup(group_id)
- self.miniCanvasPreview.update()
+ patchcanvas.splitGroup(group_id)
+ self.miniCanvasPreview.update()
- elif (action == patchcanvas.ACTION_GROUP_JOIN):
- group_id = value1
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_SPLIT, "false")
+ elif action == patchcanvas.ACTION_GROUP_JOIN:
+ group_id = value1
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_SPLIT, "false")
- patchcanvas.joinGroup(group_id)
- self.miniCanvasPreview.update()
+ patchcanvas.joinGroup(group_id)
+ self.miniCanvasPreview.update()
- elif (action == patchcanvas.ACTION_PORT_INFO):
- this_port_id = value1
- breakNow = False
+ elif action == patchcanvas.ACTION_PORT_INFO:
+ this_port_id = value1
+ breakNow = False
- version, groups, conns = DBus.patchbay.GetGraph(0)
+ port_id = 0
+ port_flags = 0
+ port_name = ""
+ port_type_jack = 0
- for group in groups:
- group_id, group_name, ports = group
+ version, groups, conns = DBus.patchbay.GetGraph(0)
- for port in ports:
- port_id, port_name, port_flags, port_type_jack = port
+ for group in groups:
+ group_id, group_name, ports = group
- if (this_port_id == port_id):
- breakNow = True
- break
+ for port in ports:
+ port_id, port_name, port_flags, port_type_jack = port
- if (breakNow):
- break
+ if this_port_id == port_id:
+ breakNow = True
+ break
- else:
- return
+ if breakNow:
+ break
- flags = []
- if (port_flags & JACKDBUS_PORT_FLAG_INPUT):
- flags.append(self.tr("Input"))
- if (port_flags & JACKDBUS_PORT_FLAG_OUTPUT):
- flags.append(self.tr("Output"))
- if (port_flags & JACKDBUS_PORT_FLAG_PHYSICAL):
- flags.append(self.tr("Physical"))
- if (port_flags & JACKDBUS_PORT_FLAG_CAN_MONITOR):
- flags.append(self.tr("Can Monitor"))
- if (port_flags & JACKDBUS_PORT_FLAG_TERMINAL):
- flags.append(self.tr("Terminal"))
-
- flags_text = ""
- for flag in flags:
- if (flags_text):
- flags_text += " | "
- flags_text += flag
-
- if (port_type_jack == JACKDBUS_PORT_TYPE_AUDIO):
- type_text = self.tr("Audio")
- elif (port_type_jack == JACKDBUS_PORT_TYPE_MIDI):
- type_text = self.tr("MIDI")
- else:
- type_text = self.tr("Unknown")
-
- port_full_name = "%s:%s" % (group_name, port_name)
-
- info = self.tr(""
- "
"
- "Group ID: | %i |
"
- "Group Name: | %s |
"
- "Port ID: | %i |
"
- "Port Name: | %s |
"
- "Full Port Name: | %s |
"
- " |
"
- "Port Flags: | %s |
"
- "Port Type: | %s |
"
- "
"
- % (group_id, group_name, port_id, port_name, port_full_name, flags_text, type_text))
-
- QMessageBox.information(self, self.tr("Port Information"), info)
-
- elif (action == patchcanvas.ACTION_PORT_RENAME):
- port_id = value1
- port_name = value_str
- DBus.ladish_manager.RenamePort(port_id, port_name)
-
- elif (action == patchcanvas.ACTION_PORTS_CONNECT):
- port_a = value1
- port_b = value2
- DBus.patchbay.ConnectPortsByID(port_a, port_b)
-
- elif (action == patchcanvas.ACTION_PORTS_DISCONNECT):
- connection_id = value1
- DBus.patchbay.DisconnectPortsByConnectionID(connection_id)
+ else:
+ return
+
+ flags = []
+ if port_flags & JACKDBUS_PORT_FLAG_INPUT:
+ flags.append(self.tr("Input"))
+ if port_flags & JACKDBUS_PORT_FLAG_OUTPUT:
+ flags.append(self.tr("Output"))
+ if port_flags & JACKDBUS_PORT_FLAG_PHYSICAL:
+ flags.append(self.tr("Physical"))
+ if port_flags & JACKDBUS_PORT_FLAG_CAN_MONITOR:
+ flags.append(self.tr("Can Monitor"))
+ if port_flags & JACKDBUS_PORT_FLAG_TERMINAL:
+ flags.append(self.tr("Terminal"))
+
+ flags_text = ""
+ for flag in flags:
+ if flags_text:
+ flags_text += " | "
+ flags_text += flag
+
+ if port_type_jack == JACKDBUS_PORT_TYPE_AUDIO:
+ type_text = self.tr("Audio")
+ elif port_type_jack == JACKDBUS_PORT_TYPE_MIDI:
+ type_text = self.tr("MIDI")
+ else:
+ type_text = self.tr("Unknown")
+
+ port_full_name = "%s:%s" % (group_name, port_name)
+
+ info = self.tr(""
+ ""
+ "Group ID: | %i |
"
+ "Group Name: | %s |
"
+ "Port ID: | %i |
"
+ "Port Name: | %s |
"
+ "Full Port Name: | %s |
"
+ " |
"
+ "Port Flags: | %s |
"
+ "Port Type: | %s |
"
+ "
"
+ % (group_id, group_name, port_id, port_name, port_full_name, flags_text, type_text))
+
+ QMessageBox.information(self, self.tr("Port Information"), info)
+
+ elif action == patchcanvas.ACTION_PORT_RENAME:
+ port_id = value1
+ port_name = value_str
+ DBus.ladish_manager.RenamePort(port_id, port_name)
+
+ elif action == patchcanvas.ACTION_PORTS_CONNECT:
+ port_a = value1
+ port_b = value2
+ DBus.patchbay.ConnectPortsByID(port_a, port_b)
+
+ elif action == patchcanvas.ACTION_PORTS_DISCONNECT:
+ connection_id = value1
+ DBus.patchbay.DisconnectPortsByConnectionID(connection_id)
def init_jack(self):
self.m_xruns = -1
@@ -912,7 +915,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
buffer_size = int(jacklib.get_buffer_size(jack.client))
sample_rate = int(jacklib.get_sample_rate(jack.client))
- realtime = bool(int(jacklib.is_realtime(jack.client)))
+ realtime = bool(int(jacklib.is_realtime(jack.client)))
setBufferSize(self, buffer_size)
setSampleRate(self, sample_rate)
@@ -946,50 +949,11 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
def init_apps(self):
studio_iface = dbus.Interface(DBus.ladish_studio, 'org.ladish.AppSupervisor')
- studio_item = self.treeWidget.topLevelItem(0)
+ studio_item = self.treeWidget.topLevelItem(0)
graph_version, app_list = studio_iface.GetAll2()
for app in app_list:
- number, name, active, terminal, level = app
-
- prop_obj = [None, None, None, None, None]
- prop_obj[iItemPropNumber] = int(number)
- prop_obj[iItemPropName] = str(name)
- prop_obj[iItemPropActive] = bool(active)
- prop_obj[iItemPropTerminal] = bool(terminal)
- prop_obj[iItemPropLevel] = str(level)
-
- text = "["
- if (level.isdigit()):
- text += "L%s" % level
- elif (level == "jacksession"):
- text += "JS"
- else:
- text += level.upper()
- text += "] "
- if (not active):
- text += "(inactive) "
- text += name
-
- item = QTreeWidgetItem(ITEM_TYPE_STUDIO_APP)
- item.properties = prop_obj
- item.setText(0, text)
- studio_item.addChild(item)
-
- room_list = DBus.ladish_studio.GetRoomList()
-
- for room in room_list:
- room_path, room_dict = room
- ladish_room = DBus.bus.get_object("org.ladish", room_path)
- room_name = ladish_room.GetName()
-
- room_app_iface = dbus.Interface(ladish_room, 'org.ladish.AppSupervisor')
- room_item = self.room_add(room_path, room_name)
-
- graph_version, app_list = room_app_iface.GetAll2()
-
- for app in app_list:
number, name, active, terminal, level = app
prop_obj = [None, None, None, None, None]
@@ -1000,87 +964,127 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
prop_obj[iItemPropLevel] = str(level)
text = "["
- if (level.isdigit()):
- text += "L%s" % level
- elif (level == "jacksession"):
- text += "JS"
+ if level.isdigit():
+ text += "L%s" % level
+ elif level == "jacksession":
+ text += "JS"
else:
- text += level.upper()
+ text += level.upper()
text += "] "
- if (not active):
- text += "(inactive) "
+ if not active:
+ text += "(inactive) "
text += name
- item = QTreeWidgetItem(ITEM_TYPE_ROOM_APP)
+ item = QTreeWidgetItem(ITEM_TYPE_STUDIO_APP)
item.properties = prop_obj
item.setText(0, text)
- room_item.addChild(item)
+ studio_item.addChild(item)
+
+ room_list = DBus.ladish_studio.GetRoomList()
+
+ for room in room_list:
+ room_path, room_dict = room
+ ladish_room = DBus.bus.get_object("org.ladish", room_path)
+ room_name = ladish_room.GetName()
+
+ room_app_iface = dbus.Interface(ladish_room, 'org.ladish.AppSupervisor')
+ room_item = self.room_add(room_path, room_name)
+
+ graph_version, app_list = room_app_iface.GetAll2()
+
+ for app in app_list:
+ number, name, active, terminal, level = app
+
+ prop_obj = [None, None, None, None, None]
+ prop_obj[iItemPropNumber] = int(number)
+ prop_obj[iItemPropName] = str(name)
+ prop_obj[iItemPropActive] = bool(active)
+ prop_obj[iItemPropTerminal] = bool(terminal)
+ prop_obj[iItemPropLevel] = str(level)
+
+ text = "["
+ if level.isdigit():
+ text += "L%s" % level
+ elif level == "jacksession":
+ text += "JS"
+ else:
+ text += level.upper()
+ text += "] "
+ if not active:
+ text += "(inactive) "
+ text += name
+
+ item = QTreeWidgetItem(ITEM_TYPE_ROOM_APP)
+ item.properties = prop_obj
+ item.setText(0, text)
+ room_item.addChild(item)
self.treeWidget.expandAll()
def init_ports(self):
+ #FIXME
if (not jack.client or not DBus.patchbay):
- return
+ return
version, groups, conns = DBus.patchbay.GetGraph(0)
# Graph Ports
for group in groups:
- group_id, group_name, ports = group
- self.canvas_add_group(int(group_id), str(group_name))
-
- for port in ports:
- port_id, port_name, port_flags, port_type_jack = port
-
- if (port_flags & JACKDBUS_PORT_FLAG_INPUT):
- port_mode = patchcanvas.PORT_MODE_INPUT
- elif (port_flags & JACKDBUS_PORT_FLAG_OUTPUT):
- port_mode = patchcanvas.PORT_MODE_OUTPUT
- else:
- port_mode = patchcanvas.PORT_MODE_NULL
-
- if (port_type_jack == JACKDBUS_PORT_TYPE_AUDIO):
- port_type = patchcanvas.PORT_TYPE_AUDIO_JACK
- elif (port_type_jack == JACKDBUS_PORT_TYPE_MIDI):
- if (DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_PORT, port_id, URI_A2J_PORT) == "yes"):
- port_type = patchcanvas.PORT_TYPE_MIDI_A2J
- else:
- port_type = patchcanvas.PORT_TYPE_MIDI_JACK
- else:
- port_type = patchcanvas.PORT_TYPE_NULL
+ group_id, group_name, ports = group
+ self.canvas_add_group(int(group_id), str(group_name))
- self.canvas_add_port(int(group_id), int(port_id), str(port_name), port_mode, port_type)
+ for port in ports:
+ port_id, port_name, port_flags, port_type_jack = port
+
+ if port_flags & JACKDBUS_PORT_FLAG_INPUT:
+ port_mode = patchcanvas.PORT_MODE_INPUT
+ elif port_flags & JACKDBUS_PORT_FLAG_OUTPUT:
+ port_mode = patchcanvas.PORT_MODE_OUTPUT
+ else:
+ port_mode = patchcanvas.PORT_MODE_NULL
+
+ if port_type_jack == JACKDBUS_PORT_TYPE_AUDIO:
+ port_type = patchcanvas.PORT_TYPE_AUDIO_JACK
+ elif port_type_jack == JACKDBUS_PORT_TYPE_MIDI:
+ if DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_PORT, port_id, URI_A2J_PORT) == "yes":
+ port_type = patchcanvas.PORT_TYPE_MIDI_A2J
+ else:
+ port_type = patchcanvas.PORT_TYPE_MIDI_JACK
+ else:
+ port_type = patchcanvas.PORT_TYPE_NULL
+
+ self.canvas_add_port(int(group_id), int(port_id), str(port_name), port_mode, port_type)
# Graph Connections
for conn in conns:
- source_group_id, source_group_name, source_port_id, source_port_name, target_group_id, target_group_name, target_port_id, target_port_name, conn_id = conn
- self.canvas_connect_ports(int(conn_id), int(source_port_id), int(target_port_id))
+ source_group_id, source_group_name, source_port_id, source_port_name, target_group_id, target_group_name, target_port_id, target_port_name, conn_id = conn
+ self.canvas_connect_ports(int(conn_id), int(source_port_id), int(target_port_id))
QTimer.singleShot(1000 if (self.m_savedSettings['Canvas/EyeCandy']) else 0, self.miniCanvasPreview, SLOT("update()"))
def room_add(self, room_path, room_name):
- room_index = int(room_path.replace("/org/ladish/Room",""))
+ room_index = int(room_path.replace("/org/ladish/Room", ""))
room_object = DBus.bus.get_object("org.ladish", room_path)
room_project_properties = room_object.GetProjectProperties()
# Remove old unused item if needed
iItem = self.treeWidget.topLevelItem(room_index)
- if (iItem and not iItem.isVisible()):
- self.treeWidget.takeTopLevelItem(room_index)
+ if iItem and not iItem.isVisible():
+ self.treeWidget.takeTopLevelItem(room_index)
# Insert padding of items if needed
for i in range(room_index):
- if (not self.treeWidget.topLevelItem(i)):
- fake_item = QTreeWidgetItem(ITEM_TYPE_NULL)
- self.treeWidget.insertTopLevelItem(i, fake_item)
- fake_item.setHidden(True)
+ if not self.treeWidget.topLevelItem(i):
+ fake_item = QTreeWidgetItem(ITEM_TYPE_NULL)
+ self.treeWidget.insertTopLevelItem(i, fake_item)
+ fake_item.setHidden(True)
graph_version, project_properties = room_project_properties
- if (len(project_properties) > 0):
- item_string = " (%s)" % (project_properties['name'])
+ if len(project_properties) > 0:
+ item_string = " (%s)" % (project_properties['name'])
else:
- item_string = ""
+ item_string = ""
prop_obj = [None, None]
prop_obj[iItemPropRoomPath] = room_path
@@ -1099,21 +1103,21 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
# TODO - request ladish client type
#if (False):
- #icon = patchcanvas.ICON_HARDWARE
- #split = patchcanvas.SPLIT_NO
+ #icon = patchcanvas.ICON_HARDWARE
+ #split = patchcanvas.SPLIT_NO
#elif (False):
- #icon = patchcanvas.ICON_LADISH_ROOM
- #split = patchcanvas.SPLIT_NO
+ #icon = patchcanvas.ICON_LADISH_ROOM
+ #split = patchcanvas.SPLIT_NO
#else:
- icon = patchcanvas.ICON_APPLICATION
+ icon = patchcanvas.ICON_APPLICATION
split_try = DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_SPLIT)
- if (split_try == "true"):
- split = patchcanvas.SPLIT_YES
- elif (split_try == "false"):
- split = patchcanvas.SPLIT_NO
+ if split_try == "true":
+ split = patchcanvas.SPLIT_YES
+ elif split_try == "false":
+ split = patchcanvas.SPLIT_NO
else:
- split = patchcanvas.SPLIT_UNDEF
+ split = patchcanvas.SPLIT_UNDEF
patchcanvas.addGroup(group_id, group_name, split, icon)
@@ -1122,10 +1126,10 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
x2 = DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_X_SPLIT)
y2 = DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_Y_SPLIT)
- if (x != None and y != None):
- if (x2 == None): x2 = "%f" % (float(x)+50)
- if (y2 == None): y2 = "%f" % (float(y)+50)
- patchcanvas.setGroupPos(group_id, float(x), float(y), float(x2), float(y2))
+ if x != None and y != None:
+ if x2 is None: x2 = "%f" % (float(x) + 50)
+ if y2 is None: y2 = "%f" % (float(y) + 50)
+ patchcanvas.setGroupPos(group_id, float(x), float(y), float(x2), float(y2))
QTimer.singleShot(0, self.miniCanvasPreview, SLOT("update()"))
@@ -1160,10 +1164,10 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
def jackStarted(self):
#self.DBusReconnect()
- if (not jack.client):
- jack.client = jacklib.client_open("claudia", jacklib.JackNoStartServer, None)
- if (not jack.client):
- return self.jackStopped()
+ if not jack.client:
+ jack.client = jacklib.client_open("claudia", jacklib.JackNoStartServer, None)
+ if not jack.client:
+ return self.jackStopped()
self.act_jack_render.setEnabled(canRender)
self.b_jack_render.setEnabled(canRender)
@@ -1172,8 +1176,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.cb_buffer_size.setEnabled(True)
self.cb_sample_rate.setEnabled(True) # jacksettings.getSampleRate() != -1
- if (self.systray):
- self.systray.setActionEnabled("tools_render", canRender)
+ if self.systray:
+ self.systray.setActionEnabled("tools_render", canRender)
self.pb_dsp_load.setMaximum(100)
self.pb_dsp_load.setValue(0)
@@ -1187,19 +1191,19 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
# client already closed
jack.client = None
- if (self.m_next_sample_rate):
- jack_sample_rate(self, self.m_next_sample_rate)
+ if self.m_next_sample_rate:
+ jack_sample_rate(self, self.m_next_sample_rate)
buffer_size = jacksettings.getBufferSize()
sample_rate = jacksettings.getSampleRate()
buffer_size_test = bool(buffer_size != -1)
sample_rate_test = bool(sample_rate != -1)
- if (buffer_size_test):
- setBufferSize(self, buffer_size)
+ if buffer_size_test:
+ setBufferSize(self, buffer_size)
- if (sample_rate_test):
- setSampleRate(self, sample_rate)
+ if sample_rate_test:
+ setSampleRate(self, sample_rate)
setRealTime(self, jacksettings.isRealtime())
setXruns(self, -1)
@@ -1211,15 +1215,15 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.b_jack_render.setEnabled(False)
self.menuJackTransport(False)
- if (self.systray):
- self.systray.setActionEnabled("tools_render", False)
+ if self.systray:
+ self.systray.setActionEnabled("tools_render", False)
- if (self.m_selected_transport_view == TRANSPORT_VIEW_HMS):
- self.label_time.setText("00:00:00")
- elif (self.m_selected_transport_view == TRANSPORT_VIEW_BBT):
- self.label_time.setText("000|0|0000")
- elif (self.m_selected_transport_view == TRANSPORT_VIEW_FRAMES):
- self.label_time.setText("000'000'000")
+ if self.m_selected_transport_view == TRANSPORT_VIEW_HMS:
+ self.label_time.setText("00:00:00")
+ elif self.m_selected_transport_view == TRANSPORT_VIEW_BBT:
+ self.label_time.setText("000|0|0000")
+ elif self.m_selected_transport_view == TRANSPORT_VIEW_FRAMES:
+ self.label_time.setText("000'000'000")
self.pb_dsp_load.setValue(0)
self.pb_dsp_load.setMaximum(0)
@@ -1234,11 +1238,11 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.b_studio_save.setEnabled(True)
self.b_studio_save_as.setEnabled(True)
- if (self.systray):
- self.systray.setActionEnabled("studio_start", False)
- self.systray.setActionEnabled("studio_stop", True)
- self.systray.setActionEnabled("studio_save", True)
- self.systray.setActionEnabled("studio_save_as", True)
+ if self.systray:
+ self.systray.setActionEnabled("studio_start", False)
+ self.systray.setActionEnabled("studio_stop", True)
+ self.systray.setActionEnabled("studio_save", True)
+ self.systray.setActionEnabled("studio_save_as", True)
def studioStopped(self):
self.act_studio_start.setEnabled(True)
@@ -1249,11 +1253,11 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.b_studio_save.setEnabled(False)
self.b_studio_save_as.setEnabled(False)
- if (self.systray):
- self.systray.setActionEnabled("studio_start", True)
- self.systray.setActionEnabled("studio_stop", False)
- self.systray.setActionEnabled("studio_save", False)
- self.systray.setActionEnabled("studio_save_as", False)
+ if self.systray:
+ self.systray.setActionEnabled("studio_start", True)
+ self.systray.setActionEnabled("studio_stop", False)
+ self.systray.setActionEnabled("studio_save", False)
+ self.systray.setActionEnabled("studio_save_as", False)
def studioLoaded(self):
DBus.ladish_studio = DBus.bus.get_object("org.ladish", "/org/ladish/Studio")
@@ -1266,7 +1270,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.graphicsView.setVisible(True)
self.miniCanvasPreview.setVisible(True)
#if (self.miniCanvasPreview.is_initiated):
- #self.checkMiniCanvasSize()
+ #self.checkMiniCanvasSize()
self.menu_Room.setEnabled(True)
self.menu_Project.setEnabled(False)
@@ -1276,9 +1280,9 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.act_studio_rename.setEnabled(True)
self.act_studio_unload.setEnabled(True)
- if (self.systray):
- self.systray.setActionEnabled("studio_rename", True)
- self.systray.setActionEnabled("studio_unload", True)
+ if self.systray:
+ self.systray.setActionEnabled("studio_rename", True)
+ self.systray.setActionEnabled("studio_unload", True)
self.init_studio()
@@ -1311,13 +1315,13 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.b_studio_save.setEnabled(False)
self.b_studio_save_as.setEnabled(False)
- if (self.systray):
- self.systray.setActionEnabled("studio_start", False)
- self.systray.setActionEnabled("studio_stop", False)
- self.systray.setActionEnabled("studio_rename", False)
- self.systray.setActionEnabled("studio_save", False)
- self.systray.setActionEnabled("studio_save_as", False)
- self.systray.setActionEnabled("studio_unload", False)
+ if self.systray:
+ self.systray.setActionEnabled("studio_start", False)
+ self.systray.setActionEnabled("studio_stop", False)
+ self.systray.setActionEnabled("studio_rename", False)
+ self.systray.setActionEnabled("studio_save", False)
+ self.systray.setActionEnabled("studio_save_as", False)
+ self.systray.setActionEnabled("studio_unload", False)
self.treeWidget.clear()
@@ -1336,150 +1340,150 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.close()
def systray_clicked_callback(self):
- if (self.isVisible()):
- self.systray.setActionText("show", self.tr("Restore"))
- self.hide()
+ if self.isVisible():
+ self.systray.setActionText("show", self.tr("Restore"))
+ self.hide()
else:
- self.systray.setActionText("show", self.tr("Hide"))
- showWindow(self)
+ self.systray.setActionText("show", self.tr("Hide"))
+ showWindow(self)
def DBusSignalReceiver(self, *args, **kwds):
- if (kwds['interface'] == "org.freedesktop.DBus" and kwds['path'] == "/org/freedesktop/DBus" and kwds['member'] == "NameOwnerChanged"):
- appInterface, appId, newId = args
- #print("appInterface crashed", appInterface)
-
- if (not newId):
- # Something crashed
- if (appInterface in ("org.jackaudio.service", "org.ladish")):
- self.emit(SIGNAL("DBusCrashCallback(QString)"), appInterface)
-
- elif (kwds['interface'] == "org.jackaudio.JackControl"):
- if (DEBUG): print("DBus signal @org.jackaudio.JackControl,", kwds['member'])
- if (kwds['member'] == "ServerStarted"):
- self.emit(SIGNAL("DBusServerStartedCallback()"))
- elif (kwds['member'] == "ServerStopped"):
- self.emit(SIGNAL("DBusServerStoppedCallback()"))
-
- elif (kwds['interface'] == "org.jackaudio.JackPatchbay"):
- if (DBus.patchbay and kwds['path'] == DBus.patchbay.object_path):
- if (DEBUG): print("DBus signal @org.jackaudio.JackPatchbay,", kwds['member'])
- if (kwds['member'] == "ClientAppeared"):
- self.emit(SIGNAL("DBusClientAppearedCallback(int, QString)"), args[iJackClientId], args[iJackClientName])
- elif (kwds['member'] == "ClientDisappeared"):
- self.emit(SIGNAL("DBusClientDisappearedCallback(int)"), args[iJackClientId])
- elif (kwds['member'] == "ClientRenamed"):
- self.emit(SIGNAL("DBusClientRenamedCallback(int, QString)"), args[iRenamedId], args[iRenamedNewName])
- elif (kwds['member'] == "PortAppeared"):
- self.emit(SIGNAL("DBusPortAppearedCallback(int, int, QString, int, int)"), args[iJackClientId], args[iJackPortId], args[iJackPortName], args[iJackPortFlags], args[iJackPortType])
- elif (kwds['member'] == "PortDisappeared"):
- self.emit(SIGNAL("DBusPortDisppearedCallback(int)"), args[iJackPortId])
- elif (kwds['member'] == "PortRenamed"):
- self.emit(SIGNAL("DBusPortRenamedCallback(int, QString)"), args[iJackPortId], args[iJackPortNewName])
- elif (kwds['member'] == "PortsConnected"):
- self.emit(SIGNAL("DBusPortsConnectedCallback(int, int, int)"), args[iJackConnId], args[iSourcePortId], args[iTargetPortId])
- elif (kwds['member'] == "PortsDisconnected"):
- self.emit(SIGNAL("DBusPortsDisconnectedCallback(int)"), args[iJackConnId])
-
- elif (kwds['interface'] == "org.ladish.Control"):
- if (DEBUG): print("DBus signal @org.ladish.Control,", kwds['member'])
- if (kwds['member'] == "StudioAppeared"):
- self.emit(SIGNAL("DBusStudioAppearedCallback()"))
- elif (kwds['member'] == "StudioDisappeared"):
- self.emit(SIGNAL("DBusStudioDisappearedCallback()"))
- elif (kwds['member'] == "QueueExecutionHalted"):
- self.emit(SIGNAL("DBusQueueExecutionHaltedCallback()"))
- elif (kwds['member'] == "CleanExit"):
- self.emit(SIGNAL("DBusCleanExitCallback()"))
-
- elif (kwds['interface'] == "org.ladish.Studio"):
- if (DEBUG): print("DBus signal @org.ladish.Studio,", kwds['member'])
- if (kwds['member'] == "StudioStarted"):
- self.emit(SIGNAL("DBusStudioStartedCallback()"))
- elif (kwds['member'] == "StudioStopped"):
- self.emit(SIGNAL("DBusStudioStoppedCallback()"))
- elif (kwds['member'] == "StudioRenamed"):
- self.emit(SIGNAL("DBusStudioRenamedCallback(QString)"), args[iStudioRenamedName])
- elif (kwds['member'] == "StudioCrashed"):
- self.emit(SIGNAL("DBusStudioCrashedCallback()"))
- elif (kwds['member'] == "RoomAppeared"):
- self.emit(SIGNAL("DBusRoomAppearedCallback(QString, QString)"), args[iRoomAppearedPath], args[iRoomAppearedDict]['name'])
- elif (kwds['member'] == "RoomDisappeared"):
- self.emit(SIGNAL("DBusRoomDisappearedCallback(QString)"), args[iRoomAppearedPath])
- #elif (kwds['member'] == "RoomChanged"):
- #self.emit(SIGNAL("DBusRoomChangedCallback()"))
-
- elif (kwds['interface'] == "org.ladish.Room"):
- if (DEBUG): print("DBus signal @org.ladish.Room,", kwds['member'])
- if (kwds['member'] == "ProjectPropertiesChanged"):
- if ("name" in args[iProjChangedDict].keys()):
- self.emit(SIGNAL("DBusProjectPropertiesChanged(QString, QString)"), kwds['path'], args[iProjChangedDict]['name'])
- else:
- self.emit(SIGNAL("DBusProjectPropertiesChanged(QString, QString)"), kwds['path'], "")
-
- elif (kwds['interface'] == "org.ladish.AppSupervisor"):
- if (DEBUG): print("DBus signal @org.ladish.AppSupervisor,", kwds['member'])
- if (kwds['member'] == "AppAdded2"):
- self.emit(SIGNAL("DBusAppAdded2Callback(QString, int, QString, bool, bool, QString)"), kwds['path'], args[iAppChangedNumber], args[iAppChangedName], args[iAppChangedActive], args[iAppChangedTerminal], args[iAppChangedLevel])
- elif (kwds['member'] == "AppRemoved"):
- self.emit(SIGNAL("DBusAppRemovedCallback(QString, int)"), kwds['path'], args[iAppChangedNumber])
- elif (kwds['member'] == "AppStateChanged2"):
- self.emit(SIGNAL("DBusAppStateChanged2Callback(QString, int, QString, bool, bool, QString)"), kwds['path'], args[iAppChangedNumber], args[iAppChangedName], args[iAppChangedActive], args[iAppChangedTerminal], args[iAppChangedLevel])
+ if kwds['interface'] == "org.freedesktop.DBus" and kwds['path'] == "/org/freedesktop/DBus" and kwds['member'] == "NameOwnerChanged":
+ appInterface, appId, newId = args
+ #print("appInterface crashed", appInterface)
+
+ if not newId:
+ # Something crashed
+ if appInterface in ("org.jackaudio.service", "org.ladish"):
+ self.emit(SIGNAL("DBusCrashCallback(QString)"), appInterface)
+
+ elif kwds['interface'] == "org.jackaudio.JackControl":
+ if DEBUG: print("DBus signal @org.jackaudio.JackControl,", kwds['member'])
+ if kwds['member'] == "ServerStarted":
+ self.emit(SIGNAL("DBusServerStartedCallback()"))
+ elif kwds['member'] == "ServerStopped":
+ self.emit(SIGNAL("DBusServerStoppedCallback()"))
+
+ elif kwds['interface'] == "org.jackaudio.JackPatchbay":
+ if DBus.patchbay and kwds['path'] == DBus.patchbay.object_path:
+ if DEBUG: print("DBus signal @org.jackaudio.JackPatchbay,", kwds['member'])
+ if kwds['member'] == "ClientAppeared":
+ self.emit(SIGNAL("DBusClientAppearedCallback(int, QString)"), args[iJackClientId], args[iJackClientName])
+ elif kwds['member'] == "ClientDisappeared":
+ self.emit(SIGNAL("DBusClientDisappearedCallback(int)"), args[iJackClientId])
+ elif kwds['member'] == "ClientRenamed":
+ self.emit(SIGNAL("DBusClientRenamedCallback(int, QString)"), args[iRenamedId], args[iRenamedNewName])
+ elif kwds['member'] == "PortAppeared":
+ self.emit(SIGNAL("DBusPortAppearedCallback(int, int, QString, int, int)"), args[iJackClientId], args[iJackPortId], args[iJackPortName], args[iJackPortFlags], args[iJackPortType])
+ elif kwds['member'] == "PortDisappeared":
+ self.emit(SIGNAL("DBusPortDisppearedCallback(int)"), args[iJackPortId])
+ elif kwds['member'] == "PortRenamed":
+ self.emit(SIGNAL("DBusPortRenamedCallback(int, QString)"), args[iJackPortId], args[iJackPortNewName])
+ elif kwds['member'] == "PortsConnected":
+ self.emit(SIGNAL("DBusPortsConnectedCallback(int, int, int)"), args[iJackConnId], args[iSourcePortId], args[iTargetPortId])
+ elif kwds['member'] == "PortsDisconnected":
+ self.emit(SIGNAL("DBusPortsDisconnectedCallback(int)"), args[iJackConnId])
+
+ elif kwds['interface'] == "org.ladish.Control":
+ if DEBUG: print("DBus signal @org.ladish.Control,", kwds['member'])
+ if kwds['member'] == "StudioAppeared":
+ self.emit(SIGNAL("DBusStudioAppearedCallback()"))
+ elif kwds['member'] == "StudioDisappeared":
+ self.emit(SIGNAL("DBusStudioDisappearedCallback()"))
+ elif kwds['member'] == "QueueExecutionHalted":
+ self.emit(SIGNAL("DBusQueueExecutionHaltedCallback()"))
+ elif kwds['member'] == "CleanExit":
+ self.emit(SIGNAL("DBusCleanExitCallback()"))
+
+ elif kwds['interface'] == "org.ladish.Studio":
+ if DEBUG: print("DBus signal @org.ladish.Studio,", kwds['member'])
+ if kwds['member'] == "StudioStarted":
+ self.emit(SIGNAL("DBusStudioStartedCallback()"))
+ elif kwds['member'] == "StudioStopped":
+ self.emit(SIGNAL("DBusStudioStoppedCallback()"))
+ elif kwds['member'] == "StudioRenamed":
+ self.emit(SIGNAL("DBusStudioRenamedCallback(QString)"), args[iStudioRenamedName])
+ elif kwds['member'] == "StudioCrashed":
+ self.emit(SIGNAL("DBusStudioCrashedCallback()"))
+ elif kwds['member'] == "RoomAppeared":
+ self.emit(SIGNAL("DBusRoomAppearedCallback(QString, QString)"), args[iRoomAppearedPath], args[iRoomAppearedDict]['name'])
+ elif kwds['member'] == "RoomDisappeared":
+ self.emit(SIGNAL("DBusRoomDisappearedCallback(QString)"), args[iRoomAppearedPath])
+ #elif kwds['member'] == "RoomChanged":
+ #self.emit(SIGNAL("DBusRoomChangedCallback()"))
+
+ elif kwds['interface'] == "org.ladish.Room":
+ if DEBUG: print("DBus signal @org.ladish.Room,", kwds['member'])
+ if kwds['member'] == "ProjectPropertiesChanged":
+ if "name" in args[iProjChangedDict].keys():
+ self.emit(SIGNAL("DBusProjectPropertiesChanged(QString, QString)"), kwds['path'], args[iProjChangedDict]['name'])
+ else:
+ self.emit(SIGNAL("DBusProjectPropertiesChanged(QString, QString)"), kwds['path'], "")
+
+ elif kwds['interface'] == "org.ladish.AppSupervisor":
+ if DEBUG: print("DBus signal @org.ladish.AppSupervisor,", kwds['member'])
+ if kwds['member'] == "AppAdded2":
+ self.emit(SIGNAL("DBusAppAdded2Callback(QString, int, QString, bool, bool, QString)"), kwds['path'], args[iAppChangedNumber], args[iAppChangedName], args[iAppChangedActive], args[iAppChangedTerminal], args[iAppChangedLevel])
+ elif kwds['member'] == "AppRemoved":
+ self.emit(SIGNAL("DBusAppRemovedCallback(QString, int)"), kwds['path'], args[iAppChangedNumber])
+ elif kwds['member'] == "AppStateChanged2":
+ self.emit(SIGNAL("DBusAppStateChanged2Callback(QString, int, QString, bool, bool, QString)"), kwds['path'], args[iAppChangedNumber], args[iAppChangedName], args[iAppChangedActive], args[iAppChangedTerminal], args[iAppChangedLevel])
def DBusReconnect(self):
DBus.jack = DBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
DBus.ladish_control = DBus.bus.get_object("org.ladish", "/org/ladish/Control")
- DBus.ladish_studio = None
- DBus.ladish_room = None
- DBus.ladish_graph = None
+ DBus.ladish_studio = None
+ DBus.ladish_room = None
+ DBus.ladish_graph = None
DBus.ladish_manager = None
DBus.ladish_app_iface = None
DBus.patchbay = None
try:
- DBus.ladish_app_daemon = DBus.bus.get_object("org.ladish.appdb", "/")
+ DBus.ladish_app_daemon = DBus.bus.get_object("org.ladish.appdb", "/")
except:
- DBus.ladish_app_daemon = None
+ DBus.ladish_app_daemon = None
jacksettings.initBus(DBus.bus)
def refreshXruns(self):
xruns = int(DBus.jack.GetXruns())
- if (self.m_xruns != xruns):
- setXruns(self, xruns)
- self.m_xruns = xruns
+ if self.m_xruns != xruns:
+ setXruns(self, xruns)
+ self.m_xruns = xruns
def JackBufferSizeCallback(self, buffer_size, arg):
- if (DEBUG): print("JackBufferSizeCallback(%i)" % (buffer_size))
+ if DEBUG: print("JackBufferSizeCallback(%i)" % buffer_size)
self.emit(SIGNAL("JackBufferSizeCallback(int)"), buffer_size)
return 0
def JackSampleRateCallback(self, sample_rate, arg):
- if (DEBUG): print("JackSampleRateCallback(%i)" % (sample_rate))
+ if DEBUG: print("JackSampleRateCallback(%i)" % sample_rate)
self.emit(SIGNAL("JackSampleRateCallback(int)"), sample_rate)
return 0
def JackShutdownCallback(self, arg):
- if (DEBUG): print("JackShutdownCallback()")
+ if DEBUG: print("JackShutdownCallback()")
self.emit(SIGNAL("JackShutdownCallback()"))
return 0
@pyqtSlot()
def slot_studio_new(self):
dialog = StudioNameW(self, StudioNameW.NEW)
- if (dialog.exec_()):
- DBus.ladish_control.NewStudio(dialog.ret_studio_name)
+ if dialog.exec_():
+ DBus.ladish_control.NewStudio(dialog.ret_studio_name)
@pyqtSlot()
def slot_studio_load_b(self):
dialog = StudioListW(self)
- if (dialog.exec_()):
- DBus.ladish_control.LoadStudio(dialog.ret_studio_name)
+ if dialog.exec_():
+ DBus.ladish_control.LoadStudio(dialog.ret_studio_name)
@pyqtSlot()
def slot_studio_load_m(self):
studio_name = self.sender().text()
- if (studio_name):
- DBus.ladish_control.LoadStudio(studio_name)
+ if studio_name:
+ DBus.ladish_control.LoadStudio(studio_name)
@pyqtSlot()
def slot_studio_start(self):
@@ -1492,8 +1496,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_studio_rename(self):
dialog = StudioNameW(self, StudioNameW.RENAME)
- if (dialog.exec_()):
- DBus.ladish_studio.Rename(dialog.ret_studio_name)
+ if dialog.exec_():
+ DBus.ladish_studio.Rename(dialog.ret_studio_name)
@pyqtSlot()
def slot_studio_save(self):
@@ -1502,8 +1506,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_studio_save_as(self):
dialog = StudioNameW(self, StudioNameW.SAVE_AS)
- if (dialog.exec_()):
- DBus.ladish_studio.SaveAs(dialog.ret_studio_name)
+ if dialog.exec_():
+ DBus.ladish_studio.SaveAs(dialog.ret_studio_name)
@pyqtSlot()
def slot_studio_unload(self):
@@ -1512,71 +1516,71 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_studio_delete_m(self):
studio_name = self.sender().text()
- if (studio_name):
- DBus.ladish_control.DeleteStudio(studio_name)
+ if studio_name:
+ DBus.ladish_control.DeleteStudio(studio_name)
@pyqtSlot()
def slot_room_create(self):
dialog = CreateRoomW(self)
- if (dialog.exec_()):
- DBus.ladish_studio.CreateRoom(dialog.ret_room_name, dialog.ret_room_template)
+ if dialog.exec_():
+ DBus.ladish_studio.CreateRoom(dialog.ret_room_name, dialog.ret_room_template)
@pyqtSlot()
def slot_room_delete_m(self):
room_name = self.sender().text()
- if (room_name):
- DBus.ladish_studio.DeleteRoom(room_name)
+ if room_name:
+ DBus.ladish_studio.DeleteRoom(room_name)
@pyqtSlot()
def slot_project_new(self):
dialog = ProjectNameW(self, ProjectNameW.NEW, self.m_savedSettings["Main/DefaultProjectFolder"])
- if (dialog.exec_()):
- # Check if a project is already loaded, if yes unload it first
- project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- if (len(project_properties) > 0):
- DBus.ladish_room.UnloadProject()
- DBus.ladish_room.SaveProject(dialog.ret_project_path, dialog.ret_project_name)
+ if dialog.exec_():
+ # Check if a project is already loaded, if yes unload it first
+ project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
+ if len(project_properties) > 0:
+ DBus.ladish_room.UnloadProject()
+ DBus.ladish_room.SaveProject(dialog.ret_project_path, dialog.ret_project_name)
@pyqtSlot()
def slot_project_load(self):
project_path = QFileDialog.getExistingDirectory(self, self.tr("Open Project"), self.m_savedSettings["Main/DefaultProjectFolder"])
- if (project_path):
- if (os.path.exists(os.path.join(project_path, "ladish-project.xml"))):
- DBus.ladish_room.LoadProject(project_path)
- else:
- QMessageBox.warning(self, self.tr("Warning"), self.tr("The selected folder does not contain a ladish project"))
+ if project_path:
+ if os.path.exists(os.path.join(project_path, "ladish-project.xml")):
+ DBus.ladish_room.LoadProject(project_path)
+ else:
+ QMessageBox.warning(self, self.tr("Warning"), self.tr("The selected folder does not contain a ladish project"))
@pyqtSlot()
def slot_project_load_m(self):
act_x_text = self.sender().text()
- if (act_x_text):
- proj_path = "/" + act_x_text.rsplit("[/", 1)[-1].rsplit("]", 1)[0]
- DBus.ladish_room.LoadProject(proj_path)
+ if act_x_text:
+ proj_path = "/" + act_x_text.rsplit("[/", 1)[-1].rsplit("]", 1)[0]
+ DBus.ladish_room.LoadProject(proj_path)
@pyqtSlot()
def slot_project_save(self):
project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- if (len(project_properties) > 0):
- path = dbus.String(project_properties['dir'])
- name = dbus.String(project_properties['name'])
- DBus.ladish_room.SaveProject(path, name)
+ if len(project_properties) > 0:
+ path = dbus.String(project_properties['dir'])
+ name = dbus.String(project_properties['name'])
+ DBus.ladish_room.SaveProject(path, name)
else:
- self.slot_project_new()
+ self.slot_project_new()
@pyqtSlot()
def slot_project_save_as(self):
project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- if (len(project_properties) > 0):
- path = str(project_properties['dir'])
- name = str(project_properties['name'])
- dialog = ProjectNameW(self, ProjectNameW.SAVE_AS, self.m_savedSettings["Main/DefaultProjectFolder"], path, name)
+ if len(project_properties) > 0:
+ path = str(project_properties['dir'])
+ name = str(project_properties['name'])
+ dialog = ProjectNameW(self, ProjectNameW.SAVE_AS, self.m_savedSettings["Main/DefaultProjectFolder"], path, name)
- if (dialog.exec_()):
- DBus.ladish_room.SaveProject(dialog.ret_project_path, dialog.ret_project_name)
+ if dialog.exec_():
+ DBus.ladish_room.SaveProject(dialog.ret_project_path, dialog.ret_project_name)
else:
- self.slot_project_new()
+ self.slot_project_new()
@pyqtSlot()
def slot_project_unload(self):
@@ -1589,56 +1593,54 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
path = str(project_properties['dir'])
name = str(project_properties['name'])
- if ("description" in project_properties.keys()):
- description = str(project_properties['description'])
+ if "description" in project_properties.keys():
+ description = str(project_properties['description'])
else:
- description = ""
+ description = ""
- if ("notes" in project_properties.keys()):
- notes = str(project_properties['notes'])
+ if "notes" in project_properties.keys():
+ notes = str(project_properties['notes'])
else:
- notes = ""
+ notes = ""
dialog = ProjectPropertiesW(self, name, description, notes)
- if (dialog.exec_()):
- DBus.ladish_room.SetProjectDescription(dialog.ret_obj[iAppPropDescription])
- DBus.ladish_room.SetProjectNotes(dialog.ret_obj[iAppPropNotes])
+ if dialog.exec_():
+ DBus.ladish_room.SetProjectDescription(dialog.ret_obj[iAppPropDescription])
+ DBus.ladish_room.SetProjectNotes(dialog.ret_obj[iAppPropNotes])
- if (dialog.ret_obj[iAppPropSaveNow]):
- DBus.ladish_room.SaveProject(path, dialog.ret_obj[iAppPropName])
+ if dialog.ret_obj[iAppPropSaveNow]:
+ DBus.ladish_room.SaveProject(path, dialog.ret_obj[iAppPropName])
@pyqtSlot()
def slot_app_add_new(self):
proj_folder = ""
- if (self.m_last_item_type == ITEM_TYPE_STUDIO or self.m_last_item_type == ITEM_TYPE_STUDIO_APP):
- proj_folder = self.m_savedSettings['Main/DefaultProjectFolder']
- is_room = False
+ if self.m_last_item_type == ITEM_TYPE_STUDIO or self.m_last_item_type == ITEM_TYPE_STUDIO_APP:
+ proj_folder = self.m_savedSettings['Main/DefaultProjectFolder']
+ is_room = False
- elif (self.m_last_item_type == ITEM_TYPE_ROOM or self.m_last_item_type == ITEM_TYPE_ROOM_APP):
- project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
+ elif self.m_last_item_type == ITEM_TYPE_ROOM or self.m_last_item_type == ITEM_TYPE_ROOM_APP:
+ project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- if (len(project_properties) > 0):
- proj_folder = str(project_properties['dir'])
- is_room = True
- else:
- proj_folder = self.m_savedSettings['Main/DefaultProjectFolder']
- is_room = False
+ if len(project_properties) > 0:
+ proj_folder = str(project_properties['dir'])
+ is_room = True
+ else:
+ proj_folder = self.m_savedSettings['Main/DefaultProjectFolder']
+ is_room = False
else:
- print("Invalid m_last_item_type value")
- return
+ print("Invalid m_last_item_type value")
+ return
- print(self.m_last_bpm, self.m_sample_rate)
dialog = ClaudiaLauncherW(self, DBus.ladish_app_iface, proj_folder, is_room, self.m_last_bpm, self.m_sample_rate)
dialog.exec_()
@pyqtSlot()
def slot_app_run_custom(self):
dialog = RunCustomW(self, bool(self.m_last_item_type in (ITEM_TYPE_ROOM, ITEM_TYPE_ROOM_APP)))
- if (dialog.exec_()):
- if (dialog.ret_app_obj):
+ if dialog.exec_() and dialog.ret_app_obj:
app_obj = dialog.ret_app_obj
DBus.ladish_app_iface.RunCustom2(app_obj[iAppTerminal], app_obj[iAppCommand], app_obj[iAppName], app_obj[iAppLevel])
@@ -1648,119 +1650,119 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
room_path = None
if not item:
- return
-
- if (item.type() in (ITEM_TYPE_STUDIO, ITEM_TYPE_STUDIO_APP)):
- self.menu_Project.setEnabled(False)
- self.group_project.setEnabled(False)
- self.menu_Application.setEnabled(True)
-
- DBus.ladish_room = None
- DBus.ladish_app_iface = dbus.Interface(DBus.ladish_studio, "org.ladish.AppSupervisor")
- ITEM_TYPE = ITEM_TYPE_STUDIO
-
- elif (item.type() in (ITEM_TYPE_ROOM, ITEM_TYPE_ROOM_APP)):
- self.menu_Project.setEnabled(True)
- self.group_project.setEnabled(True)
-
- if (item.type() == ITEM_TYPE_ROOM):
- room_path = item.properties[iItemPropRoomPath]
- elif (item.type() == ITEM_TYPE_ROOM_APP):
- room_path = item.parent().properties[iItemPropRoomPath]
- else:
return
- DBus.ladish_room = DBus.bus.get_object("org.ladish", room_path)
- DBus.ladish_app_iface = dbus.Interface(DBus.ladish_room, "org.ladish.AppSupervisor")
- ITEM_TYPE = ITEM_TYPE_ROOM
+ if item.type() in (ITEM_TYPE_STUDIO, ITEM_TYPE_STUDIO_APP):
+ self.menu_Project.setEnabled(False)
+ self.group_project.setEnabled(False)
+ self.menu_Application.setEnabled(True)
+
+ DBus.ladish_room = None
+ DBus.ladish_app_iface = dbus.Interface(DBus.ladish_studio, "org.ladish.AppSupervisor")
+ ITEM_TYPE = ITEM_TYPE_STUDIO
+
+ elif item.type() in (ITEM_TYPE_ROOM, ITEM_TYPE_ROOM_APP):
+ self.menu_Project.setEnabled(True)
+ self.group_project.setEnabled(True)
- project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
+ if item.type() == ITEM_TYPE_ROOM:
+ room_path = item.properties[iItemPropRoomPath]
+ elif item.type() == ITEM_TYPE_ROOM_APP:
+ room_path = item.parent().properties[iItemPropRoomPath]
+ else:
+ return
+
+ DBus.ladish_room = DBus.bus.get_object("org.ladish", room_path)
+ DBus.ladish_app_iface = dbus.Interface(DBus.ladish_room, "org.ladish.AppSupervisor")
+ ITEM_TYPE = ITEM_TYPE_ROOM
+
+ project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- has_project = bool(len(project_properties) > 0)
- self.act_project_save.setEnabled(has_project)
- self.act_project_save_as.setEnabled(has_project)
- self.act_project_unload.setEnabled(has_project)
- self.act_project_properties.setEnabled(has_project)
- self.b_project_save.setEnabled(has_project)
- self.b_project_save_as.setEnabled(has_project)
- self.menu_Application.setEnabled(has_project)
+ has_project = bool(len(project_properties) > 0)
+ self.act_project_save.setEnabled(has_project)
+ self.act_project_save_as.setEnabled(has_project)
+ self.act_project_unload.setEnabled(has_project)
+ self.act_project_properties.setEnabled(has_project)
+ self.b_project_save.setEnabled(has_project)
+ self.b_project_save_as.setEnabled(has_project)
+ self.menu_Application.setEnabled(has_project)
else:
- return
-
- if (ITEM_TYPE != self.m_last_item_type or room_path != self.m_last_room_path):
- if (ITEM_TYPE == ITEM_TYPE_STUDIO):
- object_path = DBus.ladish_studio
- elif (ITEM_TYPE == ITEM_TYPE_ROOM):
- object_path = DBus.ladish_room
- else:
return
- patchcanvas.clear()
- DBus.patchbay = dbus.Interface(object_path, 'org.jackaudio.JackPatchbay')
- DBus.ladish_graph = dbus.Interface(object_path, 'org.ladish.GraphDict')
- DBus.ladish_manager = dbus.Interface(object_path, 'org.ladish.GraphManager')
- self.init_ports()
+ if ITEM_TYPE != self.m_last_item_type or room_path != self.m_last_room_path:
+ if ITEM_TYPE == ITEM_TYPE_STUDIO:
+ object_path = DBus.ladish_studio
+ elif ITEM_TYPE == ITEM_TYPE_ROOM:
+ object_path = DBus.ladish_room
+ else:
+ return
+
+ patchcanvas.clear()
+ DBus.patchbay = dbus.Interface(object_path, 'org.jackaudio.JackPatchbay')
+ DBus.ladish_graph = dbus.Interface(object_path, 'org.ladish.GraphDict')
+ DBus.ladish_manager = dbus.Interface(object_path, 'org.ladish.GraphManager')
+ self.init_ports()
self.m_last_item_type = ITEM_TYPE
self.m_last_room_path = room_path
@pyqtSlot(QTreeWidgetItem, int)
def slot_doubleClickedAppList(self, item, row):
- if (item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP)):
- if (item.properties[iItemPropActive]):
- DBus.ladish_app_iface.StopApp(item.properties[iItemPropNumber])
- else:
- DBus.ladish_app_iface.StartApp(item.properties[iItemPropNumber])
+ if item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP):
+ if item.properties[iItemPropActive]:
+ DBus.ladish_app_iface.StopApp(item.properties[iItemPropNumber])
+ else:
+ DBus.ladish_app_iface.StartApp(item.properties[iItemPropNumber])
@pyqtSlot()
def slot_updateMenuStudioList_Load(self):
self.menu_studio_load.clear()
studio_list = DBus.ladish_control.GetStudioList()
- if (len(studio_list) == 0):
+ if len(studio_list) == 0:
act_no_studio = QAction(self.tr("Empty studio list"), self.menu_studio_load)
act_no_studio.setEnabled(False)
self.menu_studio_load.addAction(act_no_studio)
else:
- for studio in studio_list:
- studio_name = str(studio[iStudioListName])
- act_x_studio = QAction(studio_name, self.menu_studio_load)
- self.menu_studio_load.addAction(act_x_studio)
- self.connect(act_x_studio, SIGNAL("triggered()"), SLOT("slot_studio_load_m()"))
+ for studio in studio_list:
+ studio_name = str(studio[iStudioListName])
+ act_x_studio = QAction(studio_name, self.menu_studio_load)
+ self.menu_studio_load.addAction(act_x_studio)
+ self.connect(act_x_studio, SIGNAL("triggered()"), SLOT("slot_studio_load_m()"))
@pyqtSlot()
def slot_updateMenuStudioList_Delete(self):
self.menu_studio_delete.clear()
studio_list = DBus.ladish_control.GetStudioList()
- if (len(studio_list) == 0):
+ if len(studio_list) == 0:
act_no_studio = QAction(self.tr("Empty studio list"), self.menu_studio_delete)
act_no_studio.setEnabled(False)
self.menu_studio_delete.addAction(act_no_studio)
else:
- for studio in studio_list:
- studio_name = str(studio[iStudioListName])
- act_x_studio = QAction(studio_name, self.menu_studio_delete)
- self.menu_studio_delete.addAction(act_x_studio)
- self.connect(act_x_studio, SIGNAL("triggered()"), SLOT("slot_studio_delete_m()"))
+ for studio in studio_list:
+ studio_name = str(studio[iStudioListName])
+ act_x_studio = QAction(studio_name, self.menu_studio_delete)
+ self.menu_studio_delete.addAction(act_x_studio)
+ self.connect(act_x_studio, SIGNAL("triggered()"), SLOT("slot_studio_delete_m()"))
@pyqtSlot()
def slot_updateMenuRoomList(self):
self.menu_room_delete.clear()
- if (DBus.ladish_control.IsStudioLoaded()):
- room_list = DBus.ladish_studio.GetRoomList()
- if (len(room_list) == 0):
- self.createEmptyMenuRoomActon()
- else:
- for room_path, room_dict in room_list:
- ladish_room = DBus.bus.get_object("org.ladish", room_path)
- room_name = ladish_room.GetName()
- act_x_room = QAction(room_name, self.menu_room_delete)
- self.menu_room_delete.addAction(act_x_room)
- self.connect(act_x_room, SIGNAL("triggered()"), SLOT("slot_room_delete_m()"))
+ if DBus.ladish_control.IsStudioLoaded():
+ room_list = DBus.ladish_studio.GetRoomList()
+ if len(room_list) == 0:
+ self.createEmptyMenuRoomActon()
+ else:
+ for room_path, room_dict in room_list:
+ ladish_room = DBus.bus.get_object("org.ladish", room_path)
+ room_name = ladish_room.GetName()
+ act_x_room = QAction(room_name, self.menu_room_delete)
+ self.menu_room_delete.addAction(act_x_room)
+ self.connect(act_x_room, SIGNAL("triggered()"), SLOT("slot_room_delete_m()"))
else:
- self.createEmptyMenuRoomActon()
+ self.createEmptyMenuRoomActon()
def createEmptyMenuRoomActon(self):
act_no_room = QAction(self.tr("Empty room list"), self.menu_room_delete)
@@ -1777,143 +1779,147 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
ladish_recent_iface = dbus.Interface(DBus.ladish_room, "org.ladish.RecentItems")
proj_list = ladish_recent_iface.get(RECENT_PROJECTS_STORE_MAX_ITEMS)
- if (len(proj_list) > 0):
- self.menu_project_load.addSeparator()
- for proj_path, proj_dict in proj_list:
- if ("name" in proj_dict.keys()):
- proj_name = proj_dict['name']
- else:
- continue
+ if len(proj_list) > 0:
+ self.menu_project_load.addSeparator()
+ for proj_path, proj_dict in proj_list:
+ if "name" in proj_dict.keys():
+ proj_name = proj_dict['name']
+ else:
+ continue
- act_x_text = "%s [%s]" % (proj_name, proj_path)
- act_x_proj = QAction(act_x_text, self.menu_project_load)
- self.menu_project_load.addAction(act_x_proj)
- self.connect(act_x_proj, SIGNAL("triggered()"), SLOT("slot_project_load_m()"))
+ act_x_text = "%s [%s]" % (proj_name, proj_path)
+ act_x_proj = QAction(act_x_text, self.menu_project_load)
+ self.menu_project_load.addAction(act_x_proj)
+ self.connect(act_x_proj, SIGNAL("triggered()"), SLOT("slot_project_load_m()"))
@pyqtSlot()
def slot_showAppListCustomMenu(self):
item = self.treeWidget.currentItem()
- if (item):
- cMenu = QMenu()
- if (item.type() == ITEM_TYPE_STUDIO):
- act_x_add_new = cMenu.addAction(self.tr("Add New..."))
- act_x_run_custom = cMenu.addAction(self.tr("Run Custom..."))
- cMenu.addSeparator()
- act_x_create_room = cMenu.addAction(self.tr("Create Room..."))
-
- act_x_add_new.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
- act_x_run_custom.setIcon(QIcon.fromTheme("system-run", QIcon(":/16x16/system-run.png")))
- act_x_create_room.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
- act_x_add_new.setEnabled(self.act_app_add_new.isEnabled())
-
- elif (item.type() == ITEM_TYPE_ROOM):
- act_x_add_new = cMenu.addAction(self.tr("Add New..."))
- act_x_run_custom = cMenu.addAction(self.tr("Run Custom..."))
- cMenu.addSeparator()
- act_x_new = cMenu.addAction(self.tr("New Project..."))
- cMenu.addMenu(self.menu_project_load)
- act_x_save = cMenu.addAction(self.tr("Save Project"))
- act_x_save_as = cMenu.addAction(self.tr("Save Project As..."))
- act_x_unload = cMenu.addAction(self.tr("Unload Project"))
- cMenu.addSeparator()
- act_x_properties = cMenu.addAction(self.tr("Project Properties..."))
- cMenu.addSeparator()
- act_x_delete_room = cMenu.addAction(self.tr("Delete Room"))
-
- act_x_add_new.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
- act_x_run_custom.setIcon(QIcon.fromTheme("system-run", QIcon(":/16x16/system-run.png")))
- act_x_new.setIcon(QIcon.fromTheme("document-new", QIcon(":/16x16/document-new.png")))
- act_x_save.setIcon(QIcon.fromTheme("document-save", QIcon(":/16x16/document-save.png")))
- act_x_save_as.setIcon(QIcon.fromTheme("document-save-as", QIcon(":/16x16/document-save-as.png")))
- act_x_unload.setIcon(QIcon.fromTheme("window-close", QIcon(":/16x16/dialog-close.png")))
- act_x_properties.setIcon(QIcon.fromTheme("edit-rename", QIcon(":/16x16/edit-rename.png")))
- act_x_delete_room.setIcon(QIcon.fromTheme("edit-delete", QIcon(":/16x16/edit-delete.png")))
-
- act_x_add_new.setEnabled(self.menu_Application.isEnabled() and self.act_app_add_new.isEnabled())
+ if item:
+ cMenu = QMenu()
+ if item.type() == ITEM_TYPE_STUDIO:
+ act_x_add_new = cMenu.addAction(self.tr("Add New..."))
+ act_x_run_custom = cMenu.addAction(self.tr("Run Custom..."))
+ cMenu.addSeparator()
+ act_x_create_room = cMenu.addAction(self.tr("Create Room..."))
+
+ act_x_add_new.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
+ act_x_run_custom.setIcon(QIcon.fromTheme("system-run", QIcon(":/16x16/system-run.png")))
+ act_x_create_room.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
+ act_x_add_new.setEnabled(self.act_app_add_new.isEnabled())
+
+ elif item.type() == ITEM_TYPE_ROOM:
+ act_x_add_new = cMenu.addAction(self.tr("Add New..."))
+ act_x_run_custom = cMenu.addAction(self.tr("Run Custom..."))
+ cMenu.addSeparator()
+ act_x_new = cMenu.addAction(self.tr("New Project..."))
+ cMenu.addMenu(self.menu_project_load)
+ act_x_save = cMenu.addAction(self.tr("Save Project"))
+ act_x_save_as = cMenu.addAction(self.tr("Save Project As..."))
+ act_x_unload = cMenu.addAction(self.tr("Unload Project"))
+ cMenu.addSeparator()
+ act_x_properties = cMenu.addAction(self.tr("Project Properties..."))
+ cMenu.addSeparator()
+ act_x_delete_room = cMenu.addAction(self.tr("Delete Room"))
+
+ act_x_add_new.setIcon(QIcon.fromTheme("list-add", QIcon(":/16x16/list-add.png")))
+ act_x_run_custom.setIcon(QIcon.fromTheme("system-run", QIcon(":/16x16/system-run.png")))
+ act_x_new.setIcon(QIcon.fromTheme("document-new", QIcon(":/16x16/document-new.png")))
+ act_x_save.setIcon(QIcon.fromTheme("document-save", QIcon(":/16x16/document-save.png")))
+ act_x_save_as.setIcon(QIcon.fromTheme("document-save-as", QIcon(":/16x16/document-save-as.png")))
+ act_x_unload.setIcon(QIcon.fromTheme("window-close", QIcon(":/16x16/dialog-close.png")))
+ act_x_properties.setIcon(QIcon.fromTheme("edit-rename", QIcon(":/16x16/edit-rename.png")))
+ act_x_delete_room.setIcon(QIcon.fromTheme("edit-delete", QIcon(":/16x16/edit-delete.png")))
+
+ act_x_add_new.setEnabled(self.menu_Application.isEnabled() and self.act_app_add_new.isEnabled())
+
+ project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
+
+ if len(project_properties) == 0:
+ act_x_run_custom.setEnabled(False)
+ act_x_save.setEnabled(False)
+ act_x_save_as.setEnabled(False)
+ act_x_unload.setEnabled(False)
+ act_x_properties.setEnabled(False)
+
+ elif item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP):
+ if item.properties[iItemPropActive]:
+ act_x_start = None
+ act_x_stop = cMenu.addAction(self.tr("Stop"))
+ act_x_kill = cMenu.addAction(self.tr("Kill"))
+ act_x_stop.setIcon(QIcon.fromTheme("media-playback-stop", QIcon(":/16x16/media-playback-stop.png")))
+ act_x_kill.setIcon(QIcon.fromTheme("dialog-close", QIcon(":/16x16/dialog-close.png")))
+ else:
+ act_x_start = cMenu.addAction(self.tr("Start"))
+ act_x_stop = None
+ act_x_kill = None
+ act_x_start.setIcon(QIcon.fromTheme("media-playback-start", QIcon(":/16x16/media-playback-start.png")))
+ act_x_properties = cMenu.addAction(self.tr("Properties"))
+ cMenu.addSeparator()
+ act_x_remove = cMenu.addAction(self.tr("Remove"))
+ act_x_properties.setIcon(QIcon.fromTheme("edit-rename", QIcon(":/16x16/edit-rename.png")))
+ act_x_remove.setIcon(QIcon.fromTheme("edit-delete", QIcon(":/16x16/edit-delete.png")))
- project_graph_version, project_properties = DBus.ladish_room.GetProjectProperties()
- if (len(project_properties) == 0):
- act_x_run_custom.setEnabled(False)
- act_x_save.setEnabled(False)
- act_x_save_as.setEnabled(False)
- act_x_unload.setEnabled(False)
- act_x_properties.setEnabled(False)
-
- elif (item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP)):
- if (item.properties[iItemPropActive]):
- act_x_start = None
- act_x_stop = cMenu.addAction(self.tr("Stop"))
- act_x_kill = cMenu.addAction(self.tr("Kill"))
- act_x_stop.setIcon(QIcon.fromTheme("media-playback-stop", QIcon(":/16x16/media-playback-stop.png")))
- act_x_kill.setIcon(QIcon.fromTheme("dialog-close", QIcon(":/16x16/dialog-close.png")))
else:
- act_x_start = cMenu.addAction(self.tr("Start"))
- act_x_stop = None
- act_x_kill = None
- act_x_start.setIcon(QIcon.fromTheme("media-playback-start", QIcon(":/16x16/media-playback-start.png")))
- act_x_properties = cMenu.addAction(self.tr("Properties"))
- cMenu.addSeparator()
- act_x_remove = cMenu.addAction(self.tr("Remove"))
- act_x_properties.setIcon(QIcon.fromTheme("edit-rename", QIcon(":/16x16/edit-rename.png")))
- act_x_remove.setIcon(QIcon.fromTheme("edit-delete", QIcon(":/16x16/edit-delete.png")))
+ return
act_x_sel = cMenu.exec_(QCursor.pos())
- if (act_x_sel):
- if (item.type() == ITEM_TYPE_STUDIO):
- if (act_x_sel == act_x_add_new):
- pass #self.slot_app_add_new()
- elif (act_x_sel == act_x_run_custom):
- self.slot_app_run_custom()
- elif (act_x_sel == act_x_create_room):
- self.slot_room_create()
-
- elif (item.type() == ITEM_TYPE_ROOM):
- if (act_x_sel == act_x_add_new):
- pass # self.slot_app_add_new
- elif (act_x_sel == act_x_run_custom):
- self.slot_app_run_custom()
- elif (act_x_sel == act_x_new):
- self.slot_project_new()
- elif (act_x_sel == act_x_save):
- self.slot_project_save()
- elif (act_x_sel == act_x_save_as):
- self.slot_project_save_as()
- elif (act_x_sel == act_x_unload):
- self.slot_project_unload()
- elif (act_x_sel == act_x_properties):
- self.slot_project_properties()
- elif (act_x_sel == act_x_delete_room):
- room_name = DBus.ladish_room.GetName()
- DBus.ladish_studio.DeleteRoom(room_name)
-
- elif (item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP)):
- number = item.properties[iItemPropNumber]
-
- if (act_x_sel == act_x_start):
- DBus.ladish_app_iface.StartApp(number)
- elif (act_x_sel == act_x_stop):
- DBus.ladish_app_iface.StopApp(number)
- elif (act_x_sel == act_x_kill):
- DBus.ladish_app_iface.KillApp(number)
- elif (act_x_sel == act_x_properties):
- name, command, active, terminal, level = DBus.ladish_app_iface.GetAppProperties2(number)
-
- app_obj = [None, None, None, None, None]
- app_obj[iAppCommand] = str(command)
- app_obj[iAppName] = str(name)
- app_obj[iAppTerminal] = bool(terminal)
- app_obj[iAppLevel] = str(level)
- app_obj[iAppActive] = bool(active)
-
- dialog = RunCustomW(self, bool(item.type() == ITEM_TYPE_ROOM_APP), app_obj)
- dialog.setWindowTitle(self.tr("App properties"))
- if (dialog.exec_()):
- app_obj = dialog.ret_app_obj
- DBus.ladish_app_iface.SetAppProperties2(number, app_obj[iAppName], app_obj[iAppCommand], app_obj[iAppTerminal], app_obj[iAppLevel])
-
- elif (act_x_sel == act_x_remove):
- DBus.ladish_app_iface.RemoveApp(number)
+ if act_x_sel:
+ if item.type() == ITEM_TYPE_STUDIO:
+ if act_x_sel == act_x_add_new:
+ pass #self.slot_app_add_new()
+ elif act_x_sel == act_x_run_custom:
+ self.slot_app_run_custom()
+ elif act_x_sel == act_x_create_room:
+ self.slot_room_create()
+
+ elif item.type() == ITEM_TYPE_ROOM:
+ if act_x_sel == act_x_add_new:
+ pass # self.slot_app_add_new
+ elif act_x_sel == act_x_run_custom:
+ self.slot_app_run_custom()
+ elif act_x_sel == act_x_new:
+ self.slot_project_new()
+ elif act_x_sel == act_x_save:
+ self.slot_project_save()
+ elif act_x_sel == act_x_save_as:
+ self.slot_project_save_as()
+ elif act_x_sel == act_x_unload:
+ self.slot_project_unload()
+ elif act_x_sel == act_x_properties:
+ self.slot_project_properties()
+ elif act_x_sel == act_x_delete_room:
+ room_name = DBus.ladish_room.GetName()
+ DBus.ladish_studio.DeleteRoom(room_name)
+
+ elif item.type() in (ITEM_TYPE_STUDIO_APP, ITEM_TYPE_ROOM_APP):
+ number = item.properties[iItemPropNumber]
+
+ if act_x_sel == act_x_start:
+ DBus.ladish_app_iface.StartApp(number)
+ elif act_x_sel == act_x_stop:
+ DBus.ladish_app_iface.StopApp(number)
+ elif act_x_sel == act_x_kill:
+ DBus.ladish_app_iface.KillApp(number)
+ elif act_x_sel == act_x_properties:
+ name, command, active, terminal, level = DBus.ladish_app_iface.GetAppProperties2(number)
+
+ app_obj = [None, None, None, None, None]
+ app_obj[iAppCommand] = str(command)
+ app_obj[iAppName] = str(name)
+ app_obj[iAppTerminal] = bool(terminal)
+ app_obj[iAppLevel] = str(level)
+ app_obj[iAppActive] = bool(active)
+
+ dialog = RunCustomW(self, bool(item.type() == ITEM_TYPE_ROOM_APP), app_obj)
+ dialog.setWindowTitle(self.tr("App properties"))
+ if dialog.exec_():
+ app_obj = dialog.ret_app_obj
+ DBus.ladish_app_iface.SetAppProperties2(number, app_obj[iAppName], app_obj[iAppCommand], app_obj[iAppTerminal], app_obj[iAppLevel])
+
+ elif act_x_sel == act_x_remove:
+ DBus.ladish_app_iface.RemoveApp(number)
@pyqtSlot(float)
def slot_canvasScaleChanged(self, scale):
@@ -1921,12 +1927,12 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(int, int, QPointF)
def slot_canvasItemMoved(self, group_id, split_mode, pos):
- if (split_mode == patchcanvas.PORT_MODE_INPUT):
- canvas_x = URI_CANVAS_X_SPLIT
- canvas_y = URI_CANVAS_Y_SPLIT
+ if split_mode == patchcanvas.PORT_MODE_INPUT:
+ canvas_x = URI_CANVAS_X_SPLIT
+ canvas_y = URI_CANVAS_Y_SPLIT
else:
- canvas_x = URI_CANVAS_X
- canvas_y = URI_CANVAS_Y
+ canvas_x = URI_CANVAS_X
+ canvas_y = URI_CANVAS_Y
DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, canvas_x, str(pos.x()))
DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, canvas_y, str(pos.y()))
@@ -1936,30 +1942,30 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(int)
def slot_horizontalScrollBarChanged(self, value):
maximum = self.graphicsView.horizontalScrollBar().maximum()
- if (maximum == 0):
- xp = 0
+ if maximum == 0:
+ xp = 0
else:
- xp = float(value)/maximum
+ xp = float(value) / maximum
self.miniCanvasPreview.setViewPosX(xp)
@pyqtSlot(int)
def slot_verticalScrollBarChanged(self, value):
maximum = self.graphicsView.verticalScrollBar().maximum()
- if (maximum == 0):
- yp = 0
+ if maximum == 0:
+ yp = 0
else:
- yp = float(value)/maximum
+ yp = float(value) / maximum
self.miniCanvasPreview.setViewPosY(yp)
@pyqtSlot()
def slot_miniCanvasInit(self):
- self.graphicsView.horizontalScrollBar().setValue(self.settings.value("HorizontalScrollBarValue", DEFAULT_CANVAS_WIDTH/3, type=int))
- self.graphicsView.verticalScrollBar().setValue(self.settings.value("VerticalScrollBarValue", DEFAULT_CANVAS_HEIGHT*3/8, type=int))
+ self.graphicsView.horizontalScrollBar().setValue(self.settings.value("HorizontalScrollBarValue", DEFAULT_CANVAS_WIDTH / 3, type=int))
+ self.graphicsView.verticalScrollBar().setValue(self.settings.value("VerticalScrollBarValue", DEFAULT_CANVAS_HEIGHT * 3 / 8, type=int))
@pyqtSlot(float, float)
def slot_miniCanvasMoved(self, xp, yp):
- self.graphicsView.horizontalScrollBar().setValue(xp*DEFAULT_CANVAS_WIDTH)
- self.graphicsView.verticalScrollBar().setValue(yp*DEFAULT_CANVAS_HEIGHT)
+ self.graphicsView.horizontalScrollBar().setValue(xp * DEFAULT_CANVAS_WIDTH)
+ self.graphicsView.verticalScrollBar().setValue(yp * DEFAULT_CANVAS_HEIGHT)
@pyqtSlot()
def slot_miniCanvasCheckAll(self):
@@ -1969,7 +1975,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_miniCanvasCheckSize(self):
- self.miniCanvasPreview.setViewSize(float(self.graphicsView.width())/DEFAULT_CANVAS_WIDTH, float(self.graphicsView.height())/DEFAULT_CANVAS_HEIGHT)
+ self.miniCanvasPreview.setViewSize(float(self.graphicsView.width()) / DEFAULT_CANVAS_WIDTH, float(self.graphicsView.height()) / DEFAULT_CANVAS_HEIGHT)
@pyqtSlot()
def slot_handleCrash_jack(self):
@@ -1990,10 +1996,10 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(str)
def slot_DBusCrashCallback(self, appInterface):
- if (appInterface == "org.jackaudio.service"):
- QTimer.singleShot(0, self, SLOT("slot_handleCrash_jack()"))
- elif (appInterface == "org.ladish"):
- QTimer.singleShot(0, self, SLOT("slot_handleCrash_ladish()"))
+ if appInterface == "org.jackaudio.service":
+ QTimer.singleShot(0, self, SLOT("slot_handleCrash_jack()"))
+ elif appInterface == "org.ladish":
+ QTimer.singleShot(0, self, SLOT("slot_handleCrash_ladish()"))
@pyqtSlot()
def slot_DBusServerStartedCallback(self):
@@ -2017,22 +2023,22 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(int, int, str, int, int)
def slot_DBusPortAppearedCallback(self, group_id, port_id, port_name, port_flags, port_type_jack):
- if (port_flags & JACKDBUS_PORT_FLAG_INPUT):
- port_mode = patchcanvas.PORT_MODE_INPUT
- elif (port_flags & JACKDBUS_PORT_FLAG_OUTPUT):
- port_mode = patchcanvas.PORT_MODE_OUTPUT
+ if port_flags & JACKDBUS_PORT_FLAG_INPUT:
+ port_mode = patchcanvas.PORT_MODE_INPUT
+ elif port_flags & JACKDBUS_PORT_FLAG_OUTPUT:
+ port_mode = patchcanvas.PORT_MODE_OUTPUT
else:
- port_mode = patchcanvas.PORT_MODE_NULL
-
- if (port_type_jack == JACKDBUS_PORT_TYPE_AUDIO):
- port_type = patchcanvas.PORT_TYPE_AUDIO_JACK
- elif (port_type_jack == JACKDBUS_PORT_TYPE_MIDI):
- if (DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_PORT, port_id, URI_A2J_PORT) == "yes"):
- port_type = patchcanvas.PORT_TYPE_MIDI_A2J
- else:
- port_type = patchcanvas.PORT_TYPE_MIDI_JACK
+ port_mode = patchcanvas.PORT_MODE_NULL
+
+ if port_type_jack == JACKDBUS_PORT_TYPE_AUDIO:
+ port_type = patchcanvas.PORT_TYPE_AUDIO_JACK
+ elif port_type_jack == JACKDBUS_PORT_TYPE_MIDI:
+ if DBus.ladish_graph.Get(GRAPH_DICT_OBJECT_TYPE_PORT, port_id, URI_A2J_PORT) == "yes":
+ port_type = patchcanvas.PORT_TYPE_MIDI_A2J
+ else:
+ port_type = patchcanvas.PORT_TYPE_MIDI_JACK
else:
- port_type = patchcanvas.PORT_TYPE_NULL
+ port_type = patchcanvas.PORT_TYPE_NULL
self.canvas_add_port(group_id, port_id, port_name, port_mode, port_type)
@@ -2055,10 +2061,10 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_DBusStudioAppearedCallback(self):
self.studioLoaded()
- if (DBus.ladish_studio.IsStarted()):
- self.studioStarted()
+ if DBus.ladish_studio.IsStarted():
+ self.studioStarted()
else:
- self.studioStopped()
+ self.studioStopped()
@pyqtSlot()
def slot_DBusStudioDisappearedCallback(self):
@@ -2067,21 +2073,21 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_DBusQueueExecutionHaltedCallback(self):
log_path = os.path.join(HOME, ".log", "ladish", "ladish.log")
- if (os.path.exists(log_path)):
- log_file = open(log_path)
- log_text = logs.fixLogText(log_file.read().split("ERROR: ")[-1].split("\n")[0])
- log_file.close()
+ if os.path.exists(log_path):
+ log_file = open(log_path)
+ log_text = logs.fixLogText(log_file.read().split("ERROR: ")[-1].split("\n")[0])
+ log_file.close()
else:
- log_text = None
+ log_text = None
msgbox = QMessageBox(QMessageBox.Critical, self.tr("Execution Halted"),
- self.tr("Something went wrong with ladish so the last action was not sucessful.\n"), QMessageBox.Ok, self)
+ self.tr("Something went wrong with ladish so the last action was not sucessful.\n"), QMessageBox.Ok, self)
- if (log_text):
- msgbox.setInformativeText(self.tr("You can check the ladish log file (or click in the 'Show Details' button) to find out what went wrong."))
- msgbox.setDetailedText(log_text)
+ if log_text:
+ msgbox.setInformativeText(self.tr("You can check the ladish log file (or click in the 'Show Details' button) to find out what went wrong."))
+ msgbox.setDetailedText(log_text)
else:
- msgbox.setInformativeText(self.tr("You can check the ladish log file to find out what went wrong."))
+ msgbox.setInformativeText(self.tr("You can check the ladish log file to find out what went wrong."))
msgbox.show()
@@ -2115,20 +2121,20 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(str)
def slot_DBusRoomDisappearedCallback(self, room_path):
for i in range(self.treeWidget.topLevelItemCount()):
- item = self.treeWidget.topLevelItem(i)
+ item = self.treeWidget.topLevelItem(i)
- if (i == 0):
- continue
+ if i == 0:
+ continue
- if (item and item.type() == ITEM_TYPE_ROOM and item.properties[iItemPropRoomPath] == room_path):
- for j in range(item.childCount()):
- item.takeChild(j)
+ if item and item.type() == ITEM_TYPE_ROOM and item.properties[iItemPropRoomPath] == room_path:
+ for j in range(item.childCount()):
+ item.takeChild(j)
- self.treeWidget.takeTopLevelItem(i)
- break
+ self.treeWidget.takeTopLevelItem(i)
+ break
else:
- print("Claudia - room delete failed")
+ print("Claudia - room delete failed")
@pyqtSlot()
def slot_DBusRoomChangedCallback(self):
@@ -2139,10 +2145,10 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
def slot_DBusProjectPropertiesChanged(self, path, name):
has_project = bool(name)
- if (has_project):
- item_string = " (%s)" % (name)
+ if has_project:
+ item_string = " (%s)" % name
else:
- item_string = ""
+ item_string = ""
self.act_project_save.setEnabled(has_project)
self.act_project_save_as.setEnabled(has_project)
@@ -2152,41 +2158,43 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.b_project_save_as.setEnabled(has_project)
self.menu_Application.setEnabled(has_project)
- if (path == "/org/ladish/Studio"):
- top_level_item = self.treeWidget.topLevelItem(0)
+ if path == "/org/ladish/Studio":
+ top_level_item = self.treeWidget.topLevelItem(0)
+ room_name = ""
+
else:
- for i in range(self.treeWidget.topLevelItemCount()):
- if (i == 0):
- continue
- top_level_item = self.treeWidget.topLevelItem(i)
- if (top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path):
- room_name = top_level_item.properties[iItemPropRoomName]
- break
- else:
- return
+ for i in range(self.treeWidget.topLevelItemCount()):
+ if i == 0:
+ continue
+ top_level_item = self.treeWidget.topLevelItem(i)
+ if top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path:
+ room_name = top_level_item.properties[iItemPropRoomName]
+ break
+ else:
+ return
top_level_item.setText(0, "%s%s" % (room_name, item_string))
@pyqtSlot(str, int, str, bool, bool, str)
def slot_DBusAppAdded2Callback(self, path, number, name, active, terminal, level):
- if (path == "/org/ladish/Studio"):
- ITEM_TYPE = ITEM_TYPE_STUDIO_APP
- top_level_item = self.treeWidget.topLevelItem(0)
+ if path == "/org/ladish/Studio":
+ ITEM_TYPE = ITEM_TYPE_STUDIO_APP
+ top_level_item = self.treeWidget.topLevelItem(0)
else:
- ITEM_TYPE = ITEM_TYPE_ROOM_APP
- for i in range(self.treeWidget.topLevelItemCount()):
- if (i == 0):
- continue
- top_level_item = self.treeWidget.topLevelItem(i)
- if (top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path):
- break
- else:
- return
+ ITEM_TYPE = ITEM_TYPE_ROOM_APP
+ for i in range(self.treeWidget.topLevelItemCount()):
+ if i == 0:
+ continue
+ top_level_item = self.treeWidget.topLevelItem(i)
+ if top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path:
+ break
+ else:
+ return
for i in range(top_level_item.childCount()):
- if (top_level_item.child(i).properties[iItemPropNumber] == number):
- # App was added before, probably during reload/init
- return
+ if top_level_item.child(i).properties[iItemPropNumber] == number:
+ # App was added before, probably during reload/init
+ return
prop_obj = [None, None, None, None, None]
prop_obj[iItemPropNumber] = number
@@ -2196,15 +2204,15 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
prop_obj[iItemPropLevel] = level
text = "["
- if (level.isdigit()):
- text += "L%s" % level
- elif (level == "jacksession"):
- text += "JS"
+ if level.isdigit():
+ text += "L%s" % level
+ elif level == "jacksession":
+ text += "JS"
else:
- text += level.upper()
+ text += level.upper()
text += "] "
- if (not active):
- text += "(inactive) "
+ if not active:
+ text += "(inactive) "
text += name
item = QTreeWidgetItem(ITEM_TYPE)
@@ -2214,36 +2222,36 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot(str, int)
def slot_DBusAppRemovedCallback(self, path, number):
- if (path == "/org/ladish/Studio"):
- top_level_item = self.treeWidget.topLevelItem(0)
+ if path == "/org/ladish/Studio":
+ top_level_item = self.treeWidget.topLevelItem(0)
else:
- for i in range(self.treeWidget.topLevelItemCount()):
- if (i == 0):
- continue
- top_level_item = self.treeWidget.topLevelItem(i)
- if (top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path):
- break
- else:
- return
+ for i in range(self.treeWidget.topLevelItemCount()):
+ if i == 0:
+ continue
+ top_level_item = self.treeWidget.topLevelItem(i)
+ if top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path:
+ break
+ else:
+ return
for i in range(top_level_item.childCount()):
- if (top_level_item.child(i).properties[iItemPropNumber] == number):
- top_level_item.takeChild(i)
- break
+ if top_level_item.child(i).properties[iItemPropNumber] == number:
+ top_level_item.takeChild(i)
+ break
@pyqtSlot(str, int, str, bool, bool, str)
def slot_DBusAppStateChanged2Callback(self, path, number, name, active, terminal, level):
- if (path == "/org/ladish/Studio"):
- top_level_item = self.treeWidget.topLevelItem(0)
+ if path == "/org/ladish/Studio":
+ top_level_item = self.treeWidget.topLevelItem(0)
else:
- for i in range(self.treeWidget.topLevelItemCount()):
- if (i == 0):
- continue
- top_level_item = self.treeWidget.topLevelItem(i)
- if (top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path):
- break
- else:
- return
+ for i in range(self.treeWidget.topLevelItemCount()):
+ if i == 0:
+ continue
+ top_level_item = self.treeWidget.topLevelItem(i)
+ if top_level_item and top_level_item.type() == ITEM_TYPE_ROOM and top_level_item.properties[iItemPropRoomPath] == path:
+ break
+ else:
+ return
prop_obj = [None, None, None, None, None]
prop_obj[iItemPropNumber] = number
@@ -2253,28 +2261,28 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
prop_obj[iItemPropLevel] = level
text = "["
- if (level.isdigit()):
- text += "L%s" % level
- elif (level == "jacksession"):
- text += "JS"
+ if level.isdigit():
+ text += "L%s" % level
+ elif level == "jacksession":
+ text += "JS"
else:
- text += level.upper()
+ text += level.upper()
text += "] "
- if (not active):
- text += "(inactive) "
+ if not active:
+ text += "(inactive) "
text += name
for i in range(top_level_item.childCount()):
- item = top_level_item.child(i)
- if (item.properties[iItemPropNumber] == number):
- item.properties = prop_obj
- item.setText(0, text)
- break
+ item = top_level_item.child(i)
+ if item.properties[iItemPropNumber] == number:
+ item.properties = prop_obj
+ item.setText(0, text)
+ break
@pyqtSlot()
def slot_JackClearXruns(self):
- if (jack.client):
- DBus.jack.ResetXruns()
+ if jack.client:
+ DBus.jack.ResetXruns()
@pyqtSlot(int)
def slot_JackBufferSizeCallback(self, buffer_size):
@@ -2291,100 +2299,100 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
@pyqtSlot()
def slot_configureClaudia(self):
# Save groups position now
- if (DBus.patchbay):
- version, groups, conns = DBus.patchbay.GetGraph(0)
+ if DBus.patchbay:
+ version, groups, conns = DBus.patchbay.GetGraph(0)
- for group in groups:
- group_id, group_name, ports = group
+ for group in groups:
+ group_id, group_name, ports = group
- group_pos_i = patchcanvas.getGroupPos(group_id, patchcanvas.PORT_MODE_OUTPUT)
- group_pos_o = patchcanvas.getGroupPos(group_id, patchcanvas.PORT_MODE_INPUT)
+ group_pos_i = patchcanvas.getGroupPos(group_id, patchcanvas.PORT_MODE_OUTPUT)
+ group_pos_o = patchcanvas.getGroupPos(group_id, patchcanvas.PORT_MODE_INPUT)
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_X, str(group_pos_o.x()))
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_Y, str(group_pos_o.y()))
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_X_SPLIT, str(group_pos_i.x()))
- DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_Y_SPLIT, str(group_pos_i.y()))
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_X, str(group_pos_o.x()))
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_Y, str(group_pos_o.y()))
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_X_SPLIT, str(group_pos_i.x()))
+ DBus.ladish_graph.Set(GRAPH_DICT_OBJECT_TYPE_CLIENT, group_id, URI_CANVAS_Y_SPLIT, str(group_pos_i.y()))
try:
- ladish_config = DBus.bus.get_object("org.ladish.conf", "/org/ladish/conf")
+ ladish_config = DBus.bus.get_object("org.ladish.conf", "/org/ladish/conf")
except:
- ladish_config = None
-
- if (ladish_config):
- try:
- key_notify = bool(ladish_config.get(LADISH_CONF_KEY_DAEMON_NOTIFY)[0] == "true")
- except:
- key_notify = LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT
-
- try:
- key_shell = str(ladish_config.get(LADISH_CONF_KEY_DAEMON_SHELL)[0])
- except:
- key_shell = LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT
-
- try:
- key_terminal = str(ladish_config.get(LADISH_CONF_KEY_DAEMON_TERMINAL)[0])
- except:
- key_terminal = LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT
-
- try:
- key_studio_autostart = bool(ladish_config.get(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART)[0] == "true")
- except:
- key_studio_autostart = LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT
-
- try:
- key_js_save_delay = int(ladish_config.get(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY)[0])
- except:
- key_js_save_delay = LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT
-
- self.settings.setValue(LADISH_CONF_KEY_DAEMON_NOTIFY, key_notify)
- self.settings.setValue(LADISH_CONF_KEY_DAEMON_SHELL, key_shell)
- self.settings.setValue(LADISH_CONF_KEY_DAEMON_TERMINAL, key_terminal)
- self.settings.setValue(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, key_studio_autostart)
- self.settings.setValue(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, key_js_save_delay)
+ ladish_config = None
+
+ if ladish_config:
+ try:
+ key_notify = bool(ladish_config.get(LADISH_CONF_KEY_DAEMON_NOTIFY)[0] == "true")
+ except:
+ key_notify = LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT
+
+ try:
+ key_shell = str(ladish_config.get(LADISH_CONF_KEY_DAEMON_SHELL)[0])
+ except:
+ key_shell = LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT
+
+ try:
+ key_terminal = str(ladish_config.get(LADISH_CONF_KEY_DAEMON_TERMINAL)[0])
+ except:
+ key_terminal = LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT
+
+ try:
+ key_studio_autostart = bool(ladish_config.get(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART)[0] == "true")
+ except:
+ key_studio_autostart = LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT
+
+ try:
+ key_js_save_delay = int(ladish_config.get(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY)[0])
+ except:
+ key_js_save_delay = LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT
+
+ self.settings.setValue(LADISH_CONF_KEY_DAEMON_NOTIFY, key_notify)
+ self.settings.setValue(LADISH_CONF_KEY_DAEMON_SHELL, key_shell)
+ self.settings.setValue(LADISH_CONF_KEY_DAEMON_TERMINAL, key_terminal)
+ self.settings.setValue(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, key_studio_autostart)
+ self.settings.setValue(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, key_js_save_delay)
dialog = SettingsW(self, "claudia", hasGL)
- if (ladish_config == None):
- dialog.lw_page.hideRow(2)
-
- if (dialog.exec_()):
- if (ladish_config):
- ladish_config.set(LADISH_CONF_KEY_DAEMON_NOTIFY, "true" if (self.settings.value(LADISH_CONF_KEY_DAEMON_NOTIFY, LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT, type=bool)) else "false")
- ladish_config.set(LADISH_CONF_KEY_DAEMON_SHELL, self.settings.value(LADISH_CONF_KEY_DAEMON_SHELL, LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT, type=str))
- ladish_config.set(LADISH_CONF_KEY_DAEMON_TERMINAL, self.settings.value(LADISH_CONF_KEY_DAEMON_TERMINAL, LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT, type=str))
- ladish_config.set(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, "true" if (self.settings.value(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT, type=bool)) else "false")
- ladish_config.set(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, str(self.settings.value(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT, type=int)))
-
- self.loadSettings(False)
- patchcanvas.clear()
-
- p_options = patchcanvas.options_t()
- p_options.theme_name = self.m_savedSettings["Canvas/Theme"]
- p_options.auto_hide_groups = self.m_savedSettings["Canvas/AutoHideGroups"]
- p_options.use_bezier_lines = self.m_savedSettings["Canvas/UseBezierLines"]
- p_options.antialiasing = self.m_savedSettings["Canvas/Antialiasing"]
- p_options.eyecandy = self.m_savedSettings["Canvas/EyeCandy"]
-
- p_features = patchcanvas.features_t()
- p_features.group_info = False
- p_features.group_rename = True
- p_features.port_info = True
- p_features.port_rename = True
- p_features.handle_group_pos = False
-
- patchcanvas.setOptions(p_options)
- patchcanvas.setFeatures(p_features)
- patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
-
- if (DBus.ladish_control.IsStudioLoaded() and DBus.ladish_studio and DBus.ladish_studio.IsStarted()):
- self.init_ports()
+ if not ladish_config:
+ dialog.lw_page.hideRow(2)
+
+ if dialog.exec_():
+ if ladish_config:
+ ladish_config.set(LADISH_CONF_KEY_DAEMON_NOTIFY, "true" if (self.settings.value(LADISH_CONF_KEY_DAEMON_NOTIFY, LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT, type=bool)) else "false")
+ ladish_config.set(LADISH_CONF_KEY_DAEMON_SHELL, self.settings.value(LADISH_CONF_KEY_DAEMON_SHELL, LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT, type=str))
+ ladish_config.set(LADISH_CONF_KEY_DAEMON_TERMINAL, self.settings.value(LADISH_CONF_KEY_DAEMON_TERMINAL, LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT, type=str))
+ ladish_config.set(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, "true" if (self.settings.value(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT, type=bool)) else "false")
+ ladish_config.set(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, str(self.settings.value(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT, type=int)))
+
+ self.loadSettings(False)
+ patchcanvas.clear()
+
+ p_options = patchcanvas.options_t()
+ p_options.theme_name = self.m_savedSettings["Canvas/Theme"]
+ p_options.auto_hide_groups = self.m_savedSettings["Canvas/AutoHideGroups"]
+ p_options.use_bezier_lines = self.m_savedSettings["Canvas/UseBezierLines"]
+ p_options.antialiasing = self.m_savedSettings["Canvas/Antialiasing"]
+ p_options.eyecandy = self.m_savedSettings["Canvas/EyeCandy"]
+
+ p_features = patchcanvas.features_t()
+ p_features.group_info = False
+ p_features.group_rename = True
+ p_features.port_info = True
+ p_features.port_rename = True
+ p_features.handle_group_pos = False
+
+ patchcanvas.setOptions(p_options)
+ patchcanvas.setFeatures(p_features)
+ patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
+
+ if DBus.ladish_control.IsStudioLoaded() and DBus.ladish_studio and DBus.ladish_studio.IsStarted():
+ self.init_ports()
@pyqtSlot()
def slot_aboutClaudia(self):
QMessageBox.about(self, self.tr("About Claudia"), self.tr("Claudia
"
- "
Version %s"
- "
Claudia is a Graphical User Interface to LADISH.
"
- "
Copyright (C) 2010-2012 falkTX" % (VERSION)))
+ "
Version %s"
+ "
Claudia is a Graphical User Interface to LADISH.
"
+ "
Copyright (C) 2010-2012 falkTX" % VERSION))
def saveSettings(self):
self.settings.setValue("Geometry", self.saveGeometry())
@@ -2396,39 +2404,38 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
self.settings.setValue("VerticalScrollBarValue", self.graphicsView.verticalScrollBar().value())
def loadSettings(self, geometry):
- if (geometry):
- self.restoreGeometry(self.settings.value("Geometry", ""))
+ if geometry:
+ self.restoreGeometry(self.settings.value("Geometry", ""))
- splitter_sizes = self.settings.value("SplitterSizes", "")
- if (splitter_sizes):
- self.splitter.restoreState(splitter_sizes)
- else:
- self.splitter.setSizes((100, 400))
+ splitter_sizes = self.settings.value("SplitterSizes", "")
+ if splitter_sizes:
+ self.splitter.restoreState(splitter_sizes)
+ else:
+ self.splitter.setSizes((100, 400))
- show_toolbar = self.settings.value("ShowToolbar", True, type=bool)
- self.act_settings_show_toolbar.setChecked(show_toolbar)
- self.frame_toolbar.setVisible(show_toolbar)
+ show_toolbar = self.settings.value("ShowToolbar", True, type=bool)
+ self.act_settings_show_toolbar.setChecked(show_toolbar)
+ self.frame_toolbar.setVisible(show_toolbar)
- show_statusbar = self.settings.value("ShowStatusbar", True, type=bool)
- self.act_settings_show_statusbar.setChecked(show_statusbar)
- self.frame_statusbar.setVisible(show_statusbar)
+ show_statusbar = self.settings.value("ShowStatusbar", True, type=bool)
+ self.act_settings_show_statusbar.setChecked(show_statusbar)
+ self.frame_statusbar.setVisible(show_statusbar)
- setTransportView(self, self.settings.value("TransportView", TRANSPORT_VIEW_HMS, type=int))
+ setTransportView(self, self.settings.value("TransportView", TRANSPORT_VIEW_HMS, type=int))
self.m_savedSettings = {
- "Main/DefaultProjectFolder": self.settings.value("Main/DefaultProjectFolder", DEFAULT_PROJECT_FOLDER, type=str),
- "Main/UseSystemTray": self.settings.value("Main/UseSystemTray", True, type=bool),
- "Main/CloseToTray": self.settings.value("Main/CloseToTray", False, type=bool),
- "Main/RefreshInterval": self.settings.value("Main/RefreshInterval", 120, type=int),
- "Canvas/Theme": self.settings.value("Canvas/Theme", patchcanvas.getDefaultThemeName(), type=str),
- "Canvas/AutoHideGroups": self.settings.value("Canvas/AutoHideGroups", False, type=bool),
- "Canvas/UseBezierLines": self.settings.value("Canvas/UseBezierLines", True, type=bool),
- "Canvas/EyeCandy": self.settings.value("Canvas/EyeCandy", patchcanvas.EYECANDY_SMALL, type=int),
- "Canvas/UseOpenGL": self.settings.value("Canvas/UseOpenGL", False, type=bool),
- "Canvas/Antialiasing": self.settings.value("Canvas/Antialiasing", patchcanvas.ANTIALIASING_SMALL, type=int),
- "Canvas/TextAntialiasing": self.settings.value("Canvas/TextAntialiasing", True, type=bool),
- "Canvas/HighQualityAntialiasing": self.settings.value("Canvas/HighQualityAntialiasing", False, type=bool),
- "Apps/Database": self.settings.value("Apps/Database", "LADISH", type=str)
+ "Main/DefaultProjectFolder": self.settings.value("Main/DefaultProjectFolder", DEFAULT_PROJECT_FOLDER, type=str),
+ "Main/UseSystemTray": self.settings.value("Main/UseSystemTray", True, type=bool),
+ "Main/CloseToTray": self.settings.value("Main/CloseToTray", False, type=bool),
+ "Main/RefreshInterval": self.settings.value("Main/RefreshInterval", 120, type=int),
+ "Canvas/Theme": self.settings.value("Canvas/Theme", patchcanvas.getDefaultThemeName(), type=str),
+ "Canvas/AutoHideGroups": self.settings.value("Canvas/AutoHideGroups", False, type=bool),
+ "Canvas/UseBezierLines": self.settings.value("Canvas/UseBezierLines", True, type=bool),
+ "Canvas/EyeCandy": self.settings.value("Canvas/EyeCandy", patchcanvas.EYECANDY_SMALL, type=int),
+ "Canvas/UseOpenGL": self.settings.value("Canvas/UseOpenGL", False, type=bool),
+ "Canvas/Antialiasing": self.settings.value("Canvas/Antialiasing", patchcanvas.ANTIALIASING_SMALL, type=int),
+ "Canvas/TextAntialiasing": self.settings.value("Canvas/TextAntialiasing", True, type=bool),
+ "Canvas/HighQualityAntialiasing": self.settings.value("Canvas/HighQualityAntialiasing", False, type=bool)
}
self.act_app_add_new.setEnabled(USE_CLAUDIA_ADD_NEW)
@@ -2438,32 +2445,31 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
QMainWindow.resizeEvent(self, event)
def timerEvent(self, event):
- if (event.timerId() == self.m_timer120):
- if (jack.client):
- refreshTransport(self)
- self.refreshXruns()
- elif (event.timerId() == self.m_timer600):
- if (jack.client):
- refreshDSPLoad(self)
- else:
- self.update()
+ if event.timerId() == self.m_timer120:
+ if jack.client:
+ refreshTransport(self)
+ self.refreshXruns()
+ elif event.timerId() == self.m_timer600:
+ if jack.client:
+ refreshDSPLoad(self)
+ #else:
+ #self.update()
QMainWindow.timerEvent(self, event)
def closeEvent(self, event):
self.saveSettings()
- if (self.systray):
- #if (self.saved_settings["Main/CloseToTray"] and self.systray.isTrayAvailable() and self.isVisible()):
- #self.hide()
- #self.systray.setActionText("show", QStringStr(gui.tr("Restore")))
- #event.ignore()
- #return
- self.systray.close()
+ if self.systray:
+ #if self.saved_settings["Main/CloseToTray"] and self.systray.isTrayAvailable() and self.isVisible():
+ #self.hide()
+ #self.systray.setActionText("show", QStringStr(gui.tr("Restore")))
+ #event.ignore()
+ #return
+ self.systray.close()
patchcanvas.clear()
QMainWindow.closeEvent(self, event)
#--------------- main ------------------
if __name__ == '__main__':
-
# App initialization
app = QApplication(sys.argv)
app.setApplicationName("Claudia")
@@ -2477,9 +2483,9 @@ if __name__ == '__main__':
DBus.ladish_control = DBus.bus.get_object("org.ladish", "/org/ladish/Control")
try:
- DBus.ladish_app_daemon = DBus.bus.get_object("org.ladish.appdb", "/")
+ DBus.ladish_app_daemon = DBus.bus.get_object("org.ladish.appdb", "/")
except:
- DBus.ladish_app_daemon = None
+ DBus.ladish_app_daemon = None
jacksettings.initBus(DBus.bus)
@@ -2487,8 +2493,8 @@ if __name__ == '__main__':
gui = ClaudiaMainW()
#if (gui.systray and "--minimized" in app.arguments()):
- #gui.hide()
- #gui.systray.setActionText("show", QStringStr(gui.tr("Restore")))
+ #gui.hide()
+ #gui.systray.setActionText("show", QStringStr(gui.tr("Restore")))
#else:
gui.show()
@@ -2496,15 +2502,15 @@ if __name__ == '__main__':
set_up_signals(gui)
# App-Loop
- if (gui.systray):
- ret = gui.systray.exec_(app)
- else:
- ret = app.exec_()
+ #if gui.systray:
+ #ret = gui.systray.exec_(app)
+ #else:
+ ret = app.exec_()
# Close Jack
- if (jack.client):
- jacklib.deactivate(jack.client)
- jacklib.client_close(jack.client)
+ if jack.client:
+ jacklib.deactivate(jack.client)
+ jacklib.client_close(jack.client)
# Exit properly
sys.exit(ret)
diff --git a/src/render.py b/src/render.py
index 3512d4d..9b80e17 100755
--- a/src/render.py
+++ b/src/render.py
@@ -178,8 +178,8 @@ class RenderW(QDialog, ui_render.Ui_RenderW):
self.m_process.waitForStarted()
if self.m_freewheel:
- sleep(1)
print("NOTICE: rendering in freewheel mode")
+ sleep(1)
jacklib.set_freewheel(self.m_jack_client, 1)
self.m_timer.start()