@@ -419,7 +419,7 @@ | |||
<x>0</x> | |||
<y>0</y> | |||
<width>651</width> | |||
<height>19</height> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<widget class="QMenu" name="menu_File"> | |||
@@ -483,7 +483,6 @@ | |||
<addaction name="separator"/> | |||
<addaction name="menu_Zoom"/> | |||
<addaction name="separator"/> | |||
<addaction name="act_canvas_print"/> | |||
<addaction name="act_canvas_save_image"/> | |||
</widget> | |||
<addaction name="menu_File"/> | |||
@@ -677,15 +676,6 @@ | |||
<string>Ctrl+G</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_print"> | |||
<property name="icon"> | |||
<iconset resource="../resources.qrc"> | |||
<normaloff>:/16x16/document-print.png</normaloff>:/16x16/document-print.png</iconset> | |||
</property> | |||
<property name="text"> | |||
<string>Print...</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_save_image"> | |||
<property name="text"> | |||
<string>Save Image...</string> | |||
@@ -458,7 +458,7 @@ | |||
<x>0</x> | |||
<y>0</y> | |||
<width>702</width> | |||
<height>19</height> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<widget class="QMenu" name="menu_File"> | |||
@@ -501,7 +501,6 @@ | |||
<addaction name="act_canvas_refresh"/> | |||
<addaction name="menu_Canvas_Zoom"/> | |||
<addaction name="separator"/> | |||
<addaction name="act_canvas_print"/> | |||
<addaction name="act_canvas_save_image"/> | |||
</widget> | |||
<widget class="QMenu" name="menu_Tools"> | |||
@@ -940,15 +939,6 @@ | |||
<string>Save As &Template...</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_print"> | |||
<property name="icon"> | |||
<iconset resource="../resources.qrc"> | |||
<normaloff>:/16x16/document-print.png</normaloff>:/16x16/document-print.png</iconset> | |||
</property> | |||
<property name="text"> | |||
<string>&Print...</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_save_image"> | |||
<property name="text"> | |||
<string>Save &Image...</string> | |||
@@ -770,7 +770,7 @@ | |||
<x>0</x> | |||
<y>0</y> | |||
<width>877</width> | |||
<height>19</height> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<widget class="QMenu" name="menu_Studio"> | |||
@@ -916,7 +916,6 @@ | |||
<addaction name="act_canvas_refresh"/> | |||
<addaction name="menu_Canvas_Zoom"/> | |||
<addaction name="separator"/> | |||
<addaction name="act_canvas_print"/> | |||
<addaction name="act_canvas_save_image"/> | |||
</widget> | |||
<addaction name="menu_Studio"/> | |||
@@ -1346,15 +1345,6 @@ | |||
<string>Ctrl+1</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_print"> | |||
<property name="icon"> | |||
<iconset resource="../resources.qrc"> | |||
<normaloff>:/16x16/document-print.png</normaloff>:/16x16/document-print.png</iconset> | |||
</property> | |||
<property name="text"> | |||
<string>Print...</string> | |||
</property> | |||
</action> | |||
<action name="act_canvas_save_image"> | |||
<property name="text"> | |||
<string>Save Image...</string> | |||
@@ -52,7 +52,7 @@ from subprocess import getoutput | |||
try: | |||
import dbus | |||
from dbus.mainloop.qt import DBusQtMainLoop | |||
from dbus.mainloop.pyqt5 import DBusQtMainLoop | |||
haveDBus = True | |||
except: | |||
haveDBus = False | |||
@@ -746,6 +746,13 @@ class ToolBarPADialog(QDialog, ui_cadence_tb_pa.Ui_Dialog): | |||
# Main Window | |||
class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): | |||
DBusJackServerStartedCallback = pyqtSignal() | |||
DBusJackServerStoppedCallback = pyqtSignal() | |||
DBusJackClientAppearedCallback = pyqtSignal(int, str) | |||
DBusJackClientDisappearedCallback = pyqtSignal(int) | |||
DBusA2JBridgeStartedCallback = pyqtSignal() | |||
DBusA2JBridgeStoppedCallback = pyqtSignal() | |||
SIGTERM = pyqtSignal() | |||
SIGUSR1 = pyqtSignal() | |||
SIGUSR2 = pyqtSignal() | |||
@@ -892,9 +899,8 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): | |||
self.settings_changed_types = [] | |||
self.frame_tweaks_settings.setVisible(False) | |||
# FIXME QT4 | |||
#for i in range(self.tw_tweaks.rowCount()): | |||
#self.tw_tweaks.item(0, i).setTextAlignment(Qt.AlignCenter) | |||
for i in range(self.tw_tweaks.rowCount()): | |||
self.tw_tweaks.item(i, 0).setTextAlignment(Qt.AlignCenter) | |||
self.tw_tweaks.setCurrentCell(0, 0) | |||
@@ -1183,18 +1189,17 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): | |||
self.cb_wineasio_fixed_bsize.clicked.connect(self.slot_tweaksSettingsChanged_wineasio) | |||
self.cb_wineasio_bsizes.currentIndexChanged.connect(self.slot_tweaksSettingsChanged_wineasio) | |||
# FIXME QT4 | |||
## org.jackaudio.JackControl | |||
#self.DBusJackServerStartedCallback.connect(self.slot_DBusJackServerStartedCallback) | |||
#self.DBusJackServerStoppedCallback.connect(self.slot_DBusJackServerStoppedCallback) | |||
# org.jackaudio.JackControl | |||
self.DBusJackServerStartedCallback.connect(self.slot_DBusJackServerStartedCallback) | |||
self.DBusJackServerStoppedCallback.connect(self.slot_DBusJackServerStoppedCallback) | |||
## org.jackaudio.JackPatchbay | |||
#self.DBusJackClientAppearedCallback.connect(self.slot_DBusJackClientAppearedCallback) | |||
#self.DBusJackClientDisappearedCallback.connect(self.slot_DBusJackClientDisappearedCallback) | |||
# org.jackaudio.JackPatchbay | |||
self.DBusJackClientAppearedCallback.connect(self.slot_DBusJackClientAppearedCallback) | |||
self.DBusJackClientDisappearedCallback.connect(self.slot_DBusJackClientDisappearedCallback) | |||
## org.gna.home.a2jmidid.control | |||
#self.DBusA2JBridgeStartedCallback.connect(self.slot_DBusA2JBridgeStartedCallback) | |||
#self.DBusA2JBridgeStoppedCallback.connect(self.slot_DBusA2JBridgeStoppedCallback) | |||
# org.gna.home.a2jmidid.control | |||
self.DBusA2JBridgeStartedCallback.connect(self.slot_DBusA2JBridgeStartedCallback) | |||
self.DBusA2JBridgeStoppedCallback.connect(self.slot_DBusA2JBridgeStoppedCallback) | |||
# ------------------------------------------------------------- | |||
@@ -1,7 +1,7 @@ | |||
#!/usr/bin/env python3 | |||
# -*- coding: utf-8 -*- | |||
# Custom Mini Canvas Preview, a custom Qt4 widget | |||
# Custom Mini Canvas Preview, a custom Qt widget | |||
# Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
# | |||
# This program is free software; you can redistribute it and/or | |||
@@ -22,8 +22,7 @@ | |||
if True: | |||
from PyQt5.QtCore import pyqtSlot, QSettings | |||
from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem | |||
# FIXME QT4 | |||
#from PyQt5.QtXml import QDomDocument | |||
from PyQt5.QtXml import QDomDocument | |||
else: | |||
from PyQt4.QtCore import pyqtSlot, QSettings | |||
from PyQt4.QtGui import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem | |||
@@ -133,9 +132,9 @@ class CatarinaRemoveGroupW(QDialog, ui_catarina_removegroup.Ui_CatarinaRemoveGro | |||
self.tw_group_list.setItem(index, 2, twi_group_split) | |||
index += 1 | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.tw_group_list, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) | |||
self.connect(self.tw_group_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell(int)")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.tw_group_list.cellDoubleClicked.connect(self.accept) | |||
self.tw_group_list.currentCellChanged.connect(self.slot_checkCell) | |||
self.ret_group_id = -1 | |||
@@ -169,9 +168,9 @@ class CatarinaRenameGroupW(QDialog, ui_catarina_renamegroup.Ui_CatarinaRenameGro | |||
self.cb_group_to_rename.addItem("%i - %s" % (group[iGroupId], group[iGroupName])) | |||
self.m_group_list_names.append(group[iGroupName]) | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.cb_group_to_rename, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkItem()")) | |||
self.connect(self.le_new_group_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.cb_group_to_rename.currentIndexChanged.connect(self.slot_checkItem) | |||
self.le_new_group_name.textChanged.connect(self.slot_checkText) | |||
self.ret_group_id = -1 | |||
self.ret_new_group_name = "" | |||
@@ -210,8 +209,8 @@ class CatarinaAddPortW(QDialog, ui_catarina_addport.Ui_CatarinaAddPortW): | |||
for group in group_list: | |||
self.cb_group.addItem("%i - %s" % (group[iGroupId], group[iGroupName])) | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.le_port_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.le_port_name.textChanged.connect(self.slot_checkText) | |||
self.ret_group_id = -1 | |||
self.ret_port_name = "" | |||
@@ -249,15 +248,15 @@ class CatarinaRemovePortW(QDialog, ui_catarina_removeport.Ui_CatarinaRemovePortW | |||
self.m_group_list = group_list | |||
self.m_port_list = port_list | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.tw_port_list, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) | |||
self.connect(self.tw_port_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell(int)")) | |||
self.connect(self.rb_input, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_output, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.tw_port_list.cellDoubleClicked.connect(self.accept) | |||
self.tw_port_list.currentCellChanged.connect(self.slot_checkCell) | |||
self.rb_input.clicked.connect(self.slot_reAddPorts) | |||
self.rb_output.clicked.connect(self.slot_reAddPorts) | |||
self.rb_audio_jack.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_jack.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_a2j.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_alsa.clicked.connect(self.slot_reAddPorts) | |||
self.ret_port_id = -1 | |||
self.reAddPorts() | |||
@@ -331,16 +330,16 @@ class CatarinaRenamePortW(QDialog, ui_catarina_renameport.Ui_CatarinaRenamePortW | |||
self.m_group_list = group_list | |||
self.m_port_list = port_list | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.tw_port_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell()")) | |||
self.connect(self.le_new_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.tw_port_list.currentCellChanged.connect(self.slot_checkCell) | |||
self.le_new_name.textChanged.connect(self.slot_checkText) | |||
self.connect(self.rb_input, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_output, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) | |||
self.rb_input.clicked.connect(self.slot_reAddPorts) | |||
self.rb_output.clicked.connect(self.slot_reAddPorts) | |||
self.rb_audio_jack.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_jack.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_a2j.clicked.connect(self.slot_reAddPorts) | |||
self.rb_midi_alsa.clicked.connect(self.slot_reAddPorts) | |||
self.ret_port_id = -1 | |||
self.ret_new_port_name = "" | |||
@@ -435,13 +434,13 @@ class CatarinaConnectPortsW(QDialog, ui_catarina_connectports.Ui_CatarinaConnect | |||
elif port[iPortType] == patchcanvas.PORT_TYPE_MIDI_ALSA: | |||
self.m_ports_midi_alsa.append(port) | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.lw_outputs, SIGNAL("currentRowChanged(int)"), SLOT("slot_checkOutSelection(int)")) | |||
self.connect(self.lw_inputs, SIGNAL("currentRowChanged(int)"), SLOT("slot_checkInSelection(int)")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.rb_audio_jack.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_jack.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_a2j.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_alsa.clicked.connect(self.slot_portTypeChanged) | |||
self.lw_outputs.currentRowChanged.connect(self.slot_checkOutSelection) | |||
self.lw_inputs.currentRowChanged.connect(self.slot_checkInSelection) | |||
self.ret_port_out_id = -1 | |||
self.ret_port_in_id = -1 | |||
@@ -516,13 +515,13 @@ class CatarinaDisconnectPortsW(QDialog, ui_catarina_disconnectports.Ui_CatarinaD | |||
self.m_port_list = port_list | |||
self.m_connection_list = connection_list | |||
self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) | |||
self.connect(self.tw_connections, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) | |||
self.connect(self.tw_connections, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelection(int)")) | |||
self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) | |||
self.accepted.connect(self.slot_setReturn) | |||
self.tw_connections.cellDoubleClicked.connect(self.accept) | |||
self.tw_connections.currentCellChanged.connect(self.slot_checkSelection) | |||
self.rb_audio_jack.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_jack.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_a2j.clicked.connect(self.slot_portTypeChanged) | |||
self.rb_midi_alsa.clicked.connect(self.slot_portTypeChanged) | |||
self.ret_port_out_id = -1 | |||
self.ret_port_in_id = -1 | |||
@@ -665,39 +664,39 @@ class CatarinaMainW(AbstractCanvasJackClass): | |||
patchcanvas.setFeatures(p_features) | |||
patchcanvas.init("Catarina", self.scene, self.canvasCallback, DEBUG) | |||
self.connect(self.ui.act_project_new, SIGNAL("triggered()"), SLOT("slot_projectNew()")) | |||
self.connect(self.ui.act_project_open, SIGNAL("triggered()"), SLOT("slot_projectOpen()")) | |||
self.connect(self.ui.act_project_save, SIGNAL("triggered()"), SLOT("slot_projectSave()")) | |||
self.connect(self.ui.act_project_save_as, SIGNAL("triggered()"), SLOT("slot_projectSaveAs()")) | |||
self.connect(self.ui.b_project_new, SIGNAL("clicked()"), SLOT("slot_projectNew()")) | |||
self.connect(self.ui.b_project_open, SIGNAL("clicked()"), SLOT("slot_projectOpen()")) | |||
self.connect(self.ui.b_project_save, SIGNAL("clicked()"), SLOT("slot_projectSave()")) | |||
self.connect(self.ui.b_project_save_as, SIGNAL("clicked()"), SLOT("slot_projectSaveAs()")) | |||
self.connect(self.ui.act_patchbay_add_group, SIGNAL("triggered()"), SLOT("slot_groupAdd()")) | |||
self.connect(self.ui.act_patchbay_remove_group, SIGNAL("triggered()"), SLOT("slot_groupRemove()")) | |||
self.connect(self.ui.act_patchbay_rename_group, SIGNAL("triggered()"), SLOT("slot_groupRename()")) | |||
self.connect(self.ui.act_patchbay_add_port, SIGNAL("triggered()"), SLOT("slot_portAdd()")) | |||
self.connect(self.ui.act_patchbay_remove_port, SIGNAL("triggered()"), SLOT("slot_portRemove()")) | |||
self.connect(self.ui.act_patchbay_rename_port, SIGNAL("triggered()"), SLOT("slot_portRename()")) | |||
self.connect(self.ui.act_patchbay_connect_ports, SIGNAL("triggered()"), SLOT("slot_connectPorts()")) | |||
self.connect(self.ui.act_patchbay_disconnect_ports, SIGNAL("triggered()"), SLOT("slot_disconnectPorts()")) | |||
self.connect(self.ui.b_group_add, SIGNAL("clicked()"), SLOT("slot_groupAdd()")) | |||
self.connect(self.ui.b_group_remove, SIGNAL("clicked()"), SLOT("slot_groupRemove()")) | |||
self.connect(self.ui.b_group_rename, SIGNAL("clicked()"), SLOT("slot_groupRename()")) | |||
self.connect(self.ui.b_port_add, SIGNAL("clicked()"), SLOT("slot_portAdd()")) | |||
self.connect(self.ui.b_port_remove, SIGNAL("clicked()"), SLOT("slot_portRemove()")) | |||
self.connect(self.ui.b_port_rename, SIGNAL("clicked()"), SLOT("slot_portRename()")) | |||
self.connect(self.ui.b_ports_connect, SIGNAL("clicked()"), SLOT("slot_connectPorts()")) | |||
self.connect(self.ui.b_ports_disconnect, SIGNAL("clicked()"), SLOT("slot_disconnectPorts()")) | |||
self.ui.act_project_new.triggered.connect(self.slot_projectNew) | |||
self.ui.act_project_open.triggered.connect(self.slot_projectOpen) | |||
self.ui.act_project_save.triggered.connect(self.slot_projectSave) | |||
self.ui.act_project_save_as.triggered.connect(self.slot_projectSaveAs) | |||
self.ui.b_project_new.clicked.connect(self.slot_projectNew) | |||
self.ui.b_project_open.clicked.connect(self.slot_projectOpen) | |||
self.ui.b_project_save.clicked.connect(self.slot_projectSave) | |||
self.ui.b_project_save_as.clicked.connect(self.slot_projectSaveAs) | |||
self.ui.act_patchbay_add_group.triggered.connect(self.slot_groupAdd) | |||
self.ui.act_patchbay_remove_group.triggered.connect(self.slot_groupRemove) | |||
self.ui.act_patchbay_rename_group.triggered.connect(self.slot_groupRename) | |||
self.ui.act_patchbay_add_port.triggered.connect(self.slot_portAdd) | |||
self.ui.act_patchbay_remove_port.triggered.connect(self.slot_portRemove) | |||
self.ui.act_patchbay_rename_port.triggered.connect(self.slot_portRename) | |||
self.ui.act_patchbay_connect_ports.triggered.connect(self.slot_connectPorts) | |||
self.ui.act_patchbay_disconnect_ports.triggered.connect(self.slot_disconnectPorts) | |||
self.ui.b_group_add.clicked.connect(self.slot_groupAdd) | |||
self.ui.b_group_remove.clicked.connect(self.slot_groupRemove) | |||
self.ui.b_group_rename.clicked.connect(self.slot_groupRename) | |||
self.ui.b_port_add.clicked.connect(self.slot_portAdd) | |||
self.ui.b_port_remove.clicked.connect(self.slot_portRemove) | |||
self.ui.b_port_rename.clicked.connect(self.slot_portRename) | |||
self.ui.b_ports_connect.clicked.connect(self.slot_connectPorts) | |||
self.ui.b_ports_disconnect.clicked.connect(self.slot_disconnectPorts) | |||
self.setCanvasConnections() | |||
self.connect(self.ui.act_settings_configure, SIGNAL("triggered()"), SLOT("slot_configureCatarina()")) | |||
self.ui.act_settings_configure.triggered.connect(self.slot_configureCatarina) | |||
self.connect(self.ui.act_help_about, SIGNAL("triggered()"), SLOT("slot_aboutCatarina()")) | |||
self.connect(self.ui.act_help_about_qt, SIGNAL("triggered()"), app, SLOT("aboutQt()")) | |||
self.ui.act_help_about.triggered.connect(self.slot_aboutCatarina) | |||
self.ui.act_help_about_qt.triggered.connect(app.aboutQt) | |||
self.connect(self, SIGNAL("SIGUSR1()"), SLOT("slot_projectSave()")) | |||
self.SIGUSR1.connect(self.slot_projectSave) | |||
# Dummy timer to keep events active | |||
self.fUpdateTimer = self.startTimer(1000) | |||
@@ -28,7 +28,7 @@ from shared_settings import * | |||
try: | |||
import dbus | |||
from dbus.mainloop.qt import DBusQtMainLoop | |||
from dbus.mainloop.pyqt5 import DBusQtMainLoop | |||
haveDBus = True | |||
except: | |||
haveDBus = False | |||
@@ -1022,9 +1022,9 @@ class CatiaMainW(AbstractCanvasJackClass): | |||
if not newId: | |||
# Something crashed | |||
if appInterface == "org.gna.home.a2jmidid": | |||
QTimer.singleShot(0, self, SLOT("slot_handleCrash_a2j()")) | |||
QTimer.singleShot(0, self.slot_handleCrash_a2j) | |||
elif appInterface == "org.jackaudio.service": | |||
QTimer.singleShot(0, self, SLOT("slot_handleCrash_jack()")) | |||
QTimer.singleShot(0, self.slot_handleCrash_jack) | |||
elif kwds['interface'] == "org.jackaudio.JackControl": | |||
if kwds['member'] == "ServerStarted": | |||
@@ -48,7 +48,7 @@ from shared_settings import * | |||
try: | |||
import dbus | |||
from dbus.mainloop.qt import DBusQtMainLoop | |||
from dbus.mainloop.pyqt5 import DBusQtMainLoop | |||
haveDBus = True | |||
except: | |||
haveDBus = False | |||
@@ -57,7 +57,7 @@ except: | |||
# Try Import OpenGL | |||
try: | |||
from PyQt4.QtOpenGL import QGLWidget | |||
from PyQt5.QtOpenGL import QGLWidget | |||
hasGL = True | |||
except: | |||
hasGL = False | |||
@@ -602,6 +602,33 @@ class ClaudiaLauncherW(QDialog): | |||
# Claudia Main Window | |||
class ClaudiaMainW(AbstractCanvasJackClass): | |||
DBusCrashCallback = pyqtSignal(str) | |||
DBusServerStartedCallback = pyqtSignal() | |||
DBusServerStoppedCallback = pyqtSignal() | |||
DBusClientAppearedCallback = pyqtSignal(int, str) | |||
DBusClientDisappearedCallback = pyqtSignal(int) | |||
DBusClientRenamedCallback = pyqtSignal(int, str) | |||
DBusPortAppearedCallback = pyqtSignal(int, int, str, int, int) | |||
DBusPortDisppearedCallback = pyqtSignal(int) | |||
DBusPortRenamedCallback = pyqtSignal(int, str) | |||
DBusPortsConnectedCallback = pyqtSignal(int, int, int) | |||
DBusPortsDisconnectedCallback = pyqtSignal(int) | |||
DBusStudioAppearedCallback = pyqtSignal() | |||
DBusStudioDisappearedCallback = pyqtSignal() | |||
DBusQueueExecutionHaltedCallback = pyqtSignal() | |||
DBusCleanExitCallback = pyqtSignal() | |||
DBusStudioStartedCallback = pyqtSignal() | |||
DBusStudioStoppedCallback = pyqtSignal() | |||
DBusStudioRenamedCallback = pyqtSignal(str) | |||
DBusStudioCrashedCallback = pyqtSignal() | |||
DBusRoomAppearedCallback = pyqtSignal(str, str) | |||
DBusRoomDisappearedCallback = pyqtSignal(str) | |||
DBusRoomChangedCallback = pyqtSignal() | |||
DBusProjectPropertiesChanged = pyqtSignal(str, str) | |||
DBusAppAdded2Callback = pyqtSignal(str, int, str, bool, bool, str) | |||
DBusAppRemovedCallback = pyqtSignal(str, int) | |||
DBusAppStateChanged2Callback = pyqtSignal(str, int, str, bool, bool, str) | |||
def __init__(self, parent=None): | |||
AbstractCanvasJackClass.__init__(self, "Claudia", ui_claudia.Ui_ClaudiaMainW, parent) | |||
@@ -854,46 +881,45 @@ class ClaudiaMainW(AbstractCanvasJackClass): | |||
self.ui.act_help_about.triggered.connect(self.slot_aboutClaudia) | |||
self.ui.act_help_about_qt.triggered.connect(app.aboutQt) | |||
# FIXME QT4 | |||
## org.freedesktop.DBus | |||
#self.DBusCrashCallback.connect(self.slot_DBusCrashCallback) | |||
## org.jackaudio.JackControl | |||
#self.DBusServerStartedCallback.connect(self.slot_DBusServerStartedCallback) | |||
#self.DBusServerStoppedCallback.connect(self.slot_DBusServerStoppedCallback) | |||
## org.jackaudio.JackPatchbay | |||
#self.DBusClientAppearedCallback.connect(self.slot_DBusClientAppearedCallback) | |||
#self.DBusClientDisappearedCallback.connect(self.slot_DBusClientDisappearedCallback) | |||
#self.DBusClientRenamedCallback.connect(self.slot_DBusClientRenamedCallback) | |||
#self.DBusPortAppearedCallback.connect(self.slot_DBusPortAppearedCallback) | |||
#self.DBusPortDisppearedCallback.connect(self.slot_DBusPortDisppearedCallback) | |||
#self.DBusPortRenamedCallback.connect(self.slot_DBusPortRenamedCallback) | |||
#self.DBusPortsConnectedCallback.connect(self.slot_DBusPortsConnectedCallback) | |||
#self.DBusPortsDisconnectedCallback.connect(self.slot_DBusPortsDisconnectedCallback) | |||
## org.ladish.Control | |||
#self.DBusStudioAppearedCallback.connect(self.slot_DBusStudioAppearedCallback) | |||
#self.DBusStudioDisappearedCallback.connect(self.slot_DBusStudioDisappearedCallback) | |||
#self.DBusQueueExecutionHaltedCallback.connect(self.slot_DBusQueueExecutionHaltedCallback) | |||
#self.DBusCleanExitCallback.connect(self.slot_DBusCleanExitCallback) | |||
## org.ladish.Studio | |||
#self.DBusStudioStartedCallback.connect(self.slot_DBusStudioStartedCallback) | |||
#self.DBusStudioStoppedCallback.connect(self.slot_DBusStudioStoppedCallback) | |||
#self.DBusStudioRenamedCallback.connect(self.slot_DBusStudioRenamedCallback) | |||
#self.DBusStudioCrashedCallback.connect(self.slot_DBusStudioCrashedCallback) | |||
#self.DBusRoomAppearedCallback.connect(self.slot_DBusRoomAppearedCallback) | |||
#self.DBusRoomDisappearedCallback.connect(self.slot_DBusRoomDisappearedCallback) | |||
##self.DBusRoomChangedCallback.connect(self.slot_DBusRoomChangedCallback) | |||
## org.ladish.Room | |||
#self.DBusProjectPropertiesChanged.connect(self.slot_DBusProjectPropertiesChanged) | |||
## org.ladish.AppSupervisor | |||
#self.DBusAppAdded2Callback.connect(self.slot_DBusAppAdded2Callback) | |||
#self.DBusAppRemovedCallback.connect(self.slot_DBusAppRemovedCallback) | |||
#self.DBusAppStateChanged2Callback.connect(self.slot_DBusAppStateChanged2Callback) | |||
# org.freedesktop.DBus | |||
self.DBusCrashCallback.connect(self.slot_DBusCrashCallback) | |||
# org.jackaudio.JackControl | |||
self.DBusServerStartedCallback.connect(self.slot_DBusServerStartedCallback) | |||
self.DBusServerStoppedCallback.connect(self.slot_DBusServerStoppedCallback) | |||
# org.jackaudio.JackPatchbay | |||
self.DBusClientAppearedCallback.connect(self.slot_DBusClientAppearedCallback) | |||
self.DBusClientDisappearedCallback.connect(self.slot_DBusClientDisappearedCallback) | |||
self.DBusClientRenamedCallback.connect(self.slot_DBusClientRenamedCallback) | |||
self.DBusPortAppearedCallback.connect(self.slot_DBusPortAppearedCallback) | |||
self.DBusPortDisppearedCallback.connect(self.slot_DBusPortDisppearedCallback) | |||
self.DBusPortRenamedCallback.connect(self.slot_DBusPortRenamedCallback) | |||
self.DBusPortsConnectedCallback.connect(self.slot_DBusPortsConnectedCallback) | |||
self.DBusPortsDisconnectedCallback.connect(self.slot_DBusPortsDisconnectedCallback) | |||
# org.ladish.Control | |||
self.DBusStudioAppearedCallback.connect(self.slot_DBusStudioAppearedCallback) | |||
self.DBusStudioDisappearedCallback.connect(self.slot_DBusStudioDisappearedCallback) | |||
self.DBusQueueExecutionHaltedCallback.connect(self.slot_DBusQueueExecutionHaltedCallback) | |||
self.DBusCleanExitCallback.connect(self.slot_DBusCleanExitCallback) | |||
# org.ladish.Studio | |||
self.DBusStudioStartedCallback.connect(self.slot_DBusStudioStartedCallback) | |||
self.DBusStudioStoppedCallback.connect(self.slot_DBusStudioStoppedCallback) | |||
self.DBusStudioRenamedCallback.connect(self.slot_DBusStudioRenamedCallback) | |||
self.DBusStudioCrashedCallback.connect(self.slot_DBusStudioCrashedCallback) | |||
self.DBusRoomAppearedCallback.connect(self.slot_DBusRoomAppearedCallback) | |||
self.DBusRoomDisappearedCallback.connect(self.slot_DBusRoomDisappearedCallback) | |||
#self.DBusRoomChangedCallback.connect(self.slot_DBusRoomChangedCallback) | |||
# org.ladish.Room | |||
self.DBusProjectPropertiesChanged.connect(self.slot_DBusProjectPropertiesChanged) | |||
# org.ladish.AppSupervisor | |||
self.DBusAppAdded2Callback.connect(self.slot_DBusAppAdded2Callback) | |||
self.DBusAppRemovedCallback.connect(self.slot_DBusAppRemovedCallback) | |||
self.DBusAppStateChanged2Callback.connect(self.slot_DBusAppStateChanged2Callback) | |||
# JACK | |||
self.BufferSizeCallback.connect(self.slot_JackBufferSizeCallback) | |||
@@ -1,7 +1,7 @@ | |||
#!/usr/bin/env python3 | |||
# -*- coding: utf-8 -*- | |||
# Clickable Label, a custom Qt4 widget | |||
# Clickable Label, a custom Qt widget | |||
# Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
# | |||
# This program is free software; you can redistribute it and/or modify | |||
@@ -203,20 +203,21 @@ class JackSettingsW(QDialog): | |||
# Align driver text and hide non available ones | |||
driverList = gJackctl.ReadContainer(["drivers"])[1] | |||
fontMetris = QFontMetrics(self.ui.obj_server_driver.font()) | |||
maxWidth = 75 | |||
# FIXME QT4 | |||
#for i in range(self.ui.obj_server_driver.rowCount()): | |||
#self.ui.obj_server_driver.item(0, i).setTextAlignment(Qt.AlignCenter) | |||
for i in range(self.ui.obj_server_driver.rowCount()): | |||
item = self.ui.obj_server_driver.item(i, 0) | |||
item.setTextAlignment(Qt.AlignCenter) | |||
#itexText = self.ui.obj_server_driver.item(0, i).text() | |||
#itemWidth = QFontMetrics(self.ui.obj_server_driver.font()).width(itexText)+25 | |||
itexText = item.text() | |||
itemWidth = fontMetris.width(itexText)+25 | |||
#if itemWidth > maxWidth: | |||
#maxWidth = itemWidth | |||
if itemWidth > maxWidth: | |||
maxWidth = itemWidth | |||
#if dbus.String(itexText.lower()) not in driverList: | |||
#self.ui.obj_server_driver.hideRow(i) | |||
if dbus.String(itexText.lower()) not in driverList: | |||
self.ui.obj_server_driver.hideRow(i) | |||
self.ui.obj_server_driver.setMinimumWidth(maxWidth) | |||
self.ui.obj_server_driver.setMaximumWidth(maxWidth) | |||
@@ -853,22 +854,22 @@ class JackSettingsW(QDialog): | |||
self.ui.obj_driver_channels_label.setEnabled(driverHasFeature("channels")) | |||
# Misc stuff | |||
if self.ui.obj_server_driver.item(0, row).text() == "ALSA": | |||
if self.ui.obj_server_driver.item(row, 0).text() == "ALSA": | |||
self.ui.toolbox_driver_misc.setCurrentIndex(1) | |||
self.ui.obj_driver_capture_label.setText(self.tr("Input Device:")) | |||
self.ui.obj_driver_playback_label.setText(self.tr("Output Device:")) | |||
elif self.ui.obj_server_driver.item(0, row).text() == "Dummy": | |||
elif self.ui.obj_server_driver.item(row, 0).text() == "Dummy": | |||
self.ui.toolbox_driver_misc.setCurrentIndex(2) | |||
self.ui.obj_driver_capture_label.setText(self.tr("Input Ports:")) | |||
self.ui.obj_driver_playback_label.setText(self.tr("Output Ports:")) | |||
elif self.ui.obj_server_driver.item(0, row).text() == "FireWire": | |||
elif self.ui.obj_server_driver.item(row, 0).text() == "FireWire": | |||
self.ui.toolbox_driver_misc.setCurrentIndex(3) | |||
self.ui.obj_driver_capture_label.setText(self.tr("Capture Ports:")) | |||
self.ui.obj_driver_playback_label.setText(self.tr("Playback Ports:")) | |||
elif self.ui.obj_server_driver.item(0, row).text() == "Loopback": | |||
elif self.ui.obj_server_driver.item(row, 0).text() == "Loopback": | |||
self.ui.toolbox_driver_misc.setCurrentIndex(4) | |||
else: | |||
@@ -25,6 +25,7 @@ if True: | |||
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem | |||
from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect | |||
from PyQt5.QtWidgets import QInputDialog, QLineEdit, QMenu | |||
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer | |||
else: | |||
from PyQt4.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject | |||
from PyQt4.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer | |||
@@ -33,8 +34,7 @@ else: | |||
from PyQt4.QtGui import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem | |||
from PyQt4.QtGui import QGraphicsColorizeEffect, QGraphicsDropShadowEffect | |||
from PyQt4.QtGui import QInputDialog, QLineEdit, QMenu | |||
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer | |||
from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer | |||
# Imports (Theme) | |||
from patchcanvas_theme import * | |||
@@ -278,7 +278,6 @@ def setIcons(self_, modes): | |||
gGui.ui.act_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||
gGui.ui.act_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||
gGui.ui.act_canvas_zoom_100.setIcon(getIcon("zoom-original")) | |||
gGui.ui.act_canvas_print.setIcon(getIcon("document-print")) | |||
gGui.ui.b_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) | |||
gGui.ui.b_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||
gGui.ui.b_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||
@@ -496,20 +496,6 @@ class AbstractCanvasJackClass(QMainWindow): | |||
def slot_canvasZoomReset(self): | |||
self.scene.zoom_reset() | |||
@pyqtSlot() | |||
def slot_canvasPrint(self): | |||
self.scene.clearSelection() | |||
self.fExportPrinter = QPrinter() | |||
dialog = QPrintDialog(self.fExportPrinter, self) | |||
if dialog.exec_(): | |||
painter = QPainter(self.fExportPrinter) | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, True) | |||
painter.setRenderHint(QPainter.TextAntialiasing, True) | |||
self.scene.render(painter) | |||
painter.restore() | |||
@pyqtSlot() | |||
def slot_canvasSaveImage(self): | |||
newPath = QFileDialog.getSaveFileName(self, self.tr("Save Image"), filter=self.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||
@@ -548,7 +534,6 @@ class AbstractCanvasJackClass(QMainWindow): | |||
self.ui.act_canvas_zoom_in.triggered.connect(self.slot_canvasZoomIn) | |||
self.ui.act_canvas_zoom_out.triggered.connect(self.slot_canvasZoomOut) | |||
self.ui.act_canvas_zoom_100.triggered.connect(self.slot_canvasZoomReset) | |||
self.ui.act_canvas_print.triggered.connect(self.slot_canvasPrint) | |||
self.ui.act_canvas_save_image.triggered.connect(self.slot_canvasSaveImage) | |||
self.ui.b_canvas_zoom_fit.clicked.connect(self.slot_canvasZoomFit) | |||
self.ui.b_canvas_zoom_in.clicked.connect(self.slot_canvasZoomIn) | |||
@@ -138,8 +138,7 @@ class SettingsW(QDialog): | |||
# ------------------------------------------------------------- | |||
# Set-up connections | |||
# FIXME QT4 | |||
#self.accepted.connect(self.slot_saveSettings) | |||
self.accepted.connect(self.slot_saveSettings) | |||
self.ui.buttonBox.button(QDialogButtonBox.Reset).clicked.connect(self.slot_resetSettings) | |||
self.ui.b_main_def_folder_open.clicked.connect(self.slot_getAndSetProjectPath) | |||