@@ -22,7 +22,7 @@ from PyQt4.QtGui import QApplication, QDialog, QDialogButtonBox, QMainWindow, QT | |||||
from PyQt4.QtXml import QDomDocument | from PyQt4.QtXml import QDomDocument | ||||
# Imports (Custom Stuff) | # Imports (Custom Stuff) | ||||
import ui_catarina, icons_rc | |||||
import ui_catarina | |||||
import ui_catarina_addgroup, ui_catarina_removegroup, ui_catarina_renamegroup | import ui_catarina_addgroup, ui_catarina_removegroup, ui_catarina_renamegroup | ||||
import ui_catarina_addport, ui_catarina_removeport, ui_catarina_renameport | import ui_catarina_addport, ui_catarina_removeport, ui_catarina_renameport | ||||
import ui_catarina_connectports, ui_catarina_disconnectports | import ui_catarina_connectports, ui_catarina_disconnectports | ||||
@@ -808,21 +808,18 @@ class CatarinaMainW(QMainWindow, ui_catarina.Ui_CatarinaMainW): | |||||
content += "</CATARINA>\n" | content += "</CATARINA>\n" | ||||
try: | try: | ||||
if (open(path, "w").write(content) == False): | |||||
raiseError | |||||
open(path, "w").write(content) | |||||
except: | except: | ||||
QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to save file")) | QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to save file")) | ||||
def loadFile(self, path): | def loadFile(self, path): | ||||
if (os.path.exists(path) == False): | |||||
if (not os.path.exists(path)): | |||||
QMessageBox.critical(self, self.tr("Error"), self.tr("The file '%s' does not exist" % (path))) | QMessageBox.critical(self, self.tr("Error"), self.tr("The file '%s' does not exist" % (path))) | ||||
self.m_save_path = None | self.m_save_path = None | ||||
return | return | ||||
try: | try: | ||||
read = open(path, "r").read() | read = open(path, "r").read() | ||||
if (not read): | |||||
raiseError | |||||
except: | except: | ||||
QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to load file")) | QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to load file")) | ||||
self.m_save_path = None | self.m_save_path = None | ||||
@@ -39,6 +39,9 @@ try: | |||||
except: | except: | ||||
haveDBus = False | haveDBus = False | ||||
global a2j_client_name | |||||
a2j_client_name = None | |||||
iGroupId = 0 | iGroupId = 0 | ||||
iGroupName = 1 | iGroupName = 1 | ||||
@@ -276,6 +279,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
QMessageBox.information(self, self.tr("Port Information"), info) | QMessageBox.information(self, self.tr("Port Information"), info) | ||||
elif (action == patchcanvas.ACTION_PORT_RENAME): | elif (action == patchcanvas.ACTION_PORT_RENAME): | ||||
global a2j_client_name | |||||
port_id = value1 | port_id = value1 | ||||
port_short_name = unicode2ascii(value_str) | port_short_name = unicode2ascii(value_str) | ||||
@@ -386,7 +391,7 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
jacklib.set_session_callback(jack.client, self.JackSessionCallback, None) | jacklib.set_session_callback(jack.client, self.JackSessionCallback, None) | ||||
jacklib.on_shutdown(jack.client, self.JackShutdownCallback, None) | jacklib.on_shutdown(jack.client, self.JackShutdownCallback, None) | ||||
if (JACK2): | |||||
if (jacklib.JACK2): | |||||
jacklib.set_port_rename_callback(jack.client, self.JackPortRenameCallback, None) | jacklib.set_port_rename_callback(jack.client, self.JackPortRenameCallback, None) | ||||
def init_ports(self): | def init_ports(self): | ||||
@@ -405,6 +410,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
a2j_name_list = [] | a2j_name_list = [] | ||||
port_name_list = c_char_p_p_to_list(jacklib.get_ports(jack.client, "", "", 0)) | port_name_list = c_char_p_p_to_list(jacklib.get_ports(jack.client, "", "", 0)) | ||||
global a2j_client_name | |||||
h = 0 | h = 0 | ||||
for i in range(len(port_name_list)): | for i in range(len(port_name_list)): | ||||
if (port_name_list[i-h].split(":")[0] == a2j_client_name): | if (port_name_list[i-h].split(":")[0] == a2j_client_name): | ||||
@@ -417,8 +424,6 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
del a2j_name_list | del a2j_name_list | ||||
import hashlib | |||||
# Add ports | # Add ports | ||||
for port_name in port_name_list: | for port_name in port_name_list: | ||||
port_ptr = jacklib.port_by_name(jack.client, port_name) | port_ptr = jacklib.port_by_name(jack.client, port_name) | ||||
@@ -435,7 +440,6 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
port_connection_names = c_char_p_p_to_list(jacklib.port_get_all_connections(jack.client, port_ptr)) | port_connection_names = c_char_p_p_to_list(jacklib.port_get_all_connections(jack.client, port_ptr)) | ||||
for port_con_name in port_connection_names: | for port_con_name in port_connection_names: | ||||
port_con_ptr = jacklib.port_by_name(jack.client, port_con_name) | |||||
self.canvas_connect_ports(port_name, port_con_name) | self.canvas_connect_ports(port_name, port_con_name) | ||||
def canvas_add_group(self, group_name): | def canvas_add_group(self, group_name): | ||||
@@ -465,6 +469,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
patchcanvas.removeGroup(group_id) | patchcanvas.removeGroup(group_id) | ||||
def canvas_add_port(self, port_ptr, port_name): | def canvas_add_port(self, port_ptr, port_name): | ||||
global a2j_client_name | |||||
port_id = self.m_last_port_id | port_id = self.m_last_port_id | ||||
group_id = -1 | group_id = -1 | ||||
@@ -489,13 +495,11 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
port_mode = patchcanvas.PORT_MODE_NULL | port_mode = patchcanvas.PORT_MODE_NULL | ||||
if (group_name == a2j_client_name): | if (group_name == a2j_client_name): | ||||
haveA2J = True | |||||
port_type = patchcanvas.PORT_TYPE_MIDI_A2J | port_type = patchcanvas.PORT_TYPE_MIDI_A2J | ||||
group_name = port_name.replace("%s:" % (a2j_client_name), "", 1).split(" [", 1)[0] | group_name = port_name.replace("%s:" % (a2j_client_name), "", 1).split(" [", 1)[0] | ||||
port_short_name = port_name.split("): ", 1)[1] | port_short_name = port_name.split("): ", 1)[1] | ||||
else: | else: | ||||
haveA2J = False | |||||
port_short_name = port_name.replace("%s:" % (group_name), "", 1) | port_short_name = port_name.replace("%s:" % (group_name), "", 1) | ||||
port_type_str = str(jacklib.port_type(port_ptr), encoding="ascii") | port_type_str = str(jacklib.port_type(port_ptr), encoding="ascii") | ||||
@@ -602,7 +606,7 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
def jackStarted(self): | def jackStarted(self): | ||||
if (not jack.client): | if (not jack.client): | ||||
jack.client = jacklib.client_open_uuid("catia", jacklib.JackNoStartServer|jacklib.JackSessionID, None, "") | |||||
jack.client = jacklib.client_open("catia", jacklib.JackNoStartServer|jacklib.JackSessionID, None) | |||||
if (not jack.client): | if (not jack.client): | ||||
return self.jackStopped() | return self.jackStopped() | ||||
@@ -719,6 +723,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
self.a2jStopped() | self.a2jStopped() | ||||
def DBusReconnect(self): | def DBusReconnect(self): | ||||
global a2j_client_name | |||||
try: | try: | ||||
DBus.jack = DBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller") | DBus.jack = DBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller") | ||||
jacksettings.initBus(DBus.bus) | jacksettings.initBus(DBus.bus) | ||||
@@ -902,6 +908,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW): | |||||
@pyqtSlot() | @pyqtSlot() | ||||
def slot_handleCrash_a2j(self): | def slot_handleCrash_a2j(self): | ||||
global a2j_client_name | |||||
try: | try: | ||||
DBus.a2j = dbus.Interface(DBus.bus.get_object("org.gna.home.a2jmidid", "/"), "org.gna.home.a2jmidid.control") | DBus.a2j = dbus.Interface(DBus.bus.get_object("org.gna.home.a2jmidid", "/"), "org.gna.home.a2jmidid.control") | ||||
a2j_client_name = str(DBus.a2j.get_jack_client_name()) | a2j_client_name = str(DBus.a2j.get_jack_client_name()) | ||||
@@ -307,7 +307,7 @@ class ProjectNameW(QDialog, ui_claudia_projectname.Ui_ProjectNameW): | |||||
def slot_checkFolder(self): | def slot_checkFolder(self): | ||||
# Create default project folder if the project has not been set yet | # Create default project folder if the project has not been set yet | ||||
if (not self.le_path.text()): | if (not self.le_path.text()): | ||||
if (os.path.exists(self.m_proj_folder) == False): | |||||
if (not os.path.exists(self.m_proj_folder)): | |||||
os.mkdir(self.m_proj_folder) | os.mkdir(self.m_proj_folder) | ||||
if (self.le_path.text()): | if (self.le_path.text()): | ||||
@@ -405,7 +405,7 @@ class RunCustomW(QDialog, ui_claudia_runcustom.Ui_RunCustomW): | |||||
else: | else: | ||||
self.rb_level_0.setChecked(True) | self.rb_level_0.setChecked(True) | ||||
if (isRoom == False): | |||||
if (not isRoom): | |||||
self.rb_level_lash.setEnabled(False) | self.rb_level_lash.setEnabled(False) | ||||
self.rb_level_js.setEnabled(False) | self.rb_level_js.setEnabled(False) | ||||
@@ -865,7 +865,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
studio_iface = dbus.Interface(DBus.ladish_studio, 'org.ladish.AppSupervisor') | 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 = DBus.ladish_app_iface.GetAll2() | |||||
graph_version, app_list = studio_iface.GetAll2() | |||||
for app in app_list: | for app in app_list: | ||||
number, name, active, terminal, level = app | number, name, active, terminal, level = app | ||||
@@ -882,7 +882,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
text += "L" | text += "L" | ||||
text += level.upper() | text += level.upper() | ||||
text += "] " | text += "] " | ||||
if (active == False): | |||||
if (not active): | |||||
text += "(inactive) " | text += "(inactive) " | ||||
text += name | text += name | ||||
@@ -918,7 +918,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
text += "L" | text += "L" | ||||
text += level.upper() | text += level.upper() | ||||
text += "] " | text += "] " | ||||
if (active == False): | |||||
if (not active): | |||||
text += "(inactive) " | text += "(inactive) " | ||||
text += name | text += name | ||||
@@ -976,7 +976,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
# Remove old unused item if needed | # Remove old unused item if needed | ||||
iItem = self.treeWidget.topLevelItem(room_index) | iItem = self.treeWidget.topLevelItem(room_index) | ||||
if (iItem and iItem.isVisible() == False): | |||||
if (iItem and not iItem.isVisible()): | |||||
self.treeWidget.takeTopLevelItem(room_index) | self.treeWidget.takeTopLevelItem(room_index) | ||||
# Insert padding of items if needed | # Insert padding of items if needed | ||||
@@ -989,12 +989,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
graph_version, project_properties = room_project_properties | graph_version, project_properties = room_project_properties | ||||
if (len(project_properties) > 0): | if (len(project_properties) > 0): | ||||
project_path = str(project_properties['dir']) | |||||
project_name = str(project_properties['name']) | |||||
item_string = " (%s)" % (project_name) | |||||
item_string = " (%s)" % (project_properties['name']) | |||||
else: | else: | ||||
project_path = None | |||||
project_name = None | |||||
item_string = "" | item_string = "" | ||||
prop_obj = [None, None] | prop_obj = [None, None] | ||||
@@ -2005,7 +2001,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
if (item and item.type() == ITEM_TYPE_ROOM and item.properties[iItemPropRoomPath] == room_path): | if (item and item.type() == ITEM_TYPE_ROOM and item.properties[iItemPropRoomPath] == room_path): | ||||
for j in range(item.childCount()): | for j in range(item.childCount()): | ||||
top_level_item.takeChild(j) | |||||
item.takeChild(j) | |||||
self.treeWidget.takeTopLevelItem(i) | self.treeWidget.takeTopLevelItem(i) | ||||
break | break | ||||
@@ -2083,7 +2079,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
text += "L" | text += "L" | ||||
text += level.upper() | text += level.upper() | ||||
text += "] " | text += "] " | ||||
if (active == False): | |||||
if (not active): | |||||
text += "(inactive) " | text += "(inactive) " | ||||
text += name | text += name | ||||
@@ -2137,7 +2133,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
text += "L" | text += "L" | ||||
text += level.upper() | text += level.upper() | ||||
text += "] " | text += "] " | ||||
if (active == False): | |||||
if (not active): | |||||
text += "(inactive) " | text += "(inactive) " | ||||
text += name | text += name | ||||
@@ -2266,8 +2262,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW): | |||||
def saveSettings(self): | def saveSettings(self): | ||||
self.settings.setValue("Geometry", self.saveGeometry()) | self.settings.setValue("Geometry", self.saveGeometry()) | ||||
self.settings.setValue("SplitterSizes", self.splitter.saveState()) | self.settings.setValue("SplitterSizes", self.splitter.saveState()) | ||||
self.settings.setValue("ShowToolbar", self.frame_toolbar.isVisible()) | |||||
self.settings.setValue("ShowStatusbar", self.frame_statusbar.isVisible()) | |||||
self.settings.setValue("ShowToolbar", self.frame_toolbar.isEnabled()) | |||||
self.settings.setValue("ShowStatusbar", self.frame_statusbar.isEnabled()) | |||||
self.settings.setValue("TransportView", self.m_selected_transport_view) | self.settings.setValue("TransportView", self.m_selected_transport_view) | ||||
self.settings.setValue("HorizontalScrollBarValue", self.graphicsView.horizontalScrollBar().value()) | self.settings.setValue("HorizontalScrollBarValue", self.graphicsView.horizontalScrollBar().value()) | ||||
self.settings.setValue("VerticalScrollBarValue", self.graphicsView.verticalScrollBar().value()) | self.settings.setValue("VerticalScrollBarValue", self.graphicsView.verticalScrollBar().value()) | ||||
@@ -224,6 +224,8 @@ class DigitalPeakMeter(QWidget): | |||||
painter.setPen(QColor(110, 15, 15, 100)) | painter.setPen(QColor(110, 15, 15, 100)) | ||||
painter.drawLine(1, lsmall-(lsmall/1.04), lfull, lsmall-(lsmall/1.04)) | painter.drawLine(1, lsmall-(lsmall/1.04), lfull, lsmall-(lsmall/1.04)) | ||||
QWidget.paintEvent(self, event) | |||||
def resizeEvent(self, event): | def resizeEvent(self, event): | ||||
self.updateSizes() | self.updateSizes() | ||||
QWidget.resizeEvent(self, event) | QWidget.resizeEvent(self, event) |
@@ -131,7 +131,7 @@ if __name__ == '__main__': | |||||
# JACK initialization | # JACK initialization | ||||
jack_status = jacklib.jack_status_t(0) | jack_status = jacklib.jack_status_t(0) | ||||
client = jacklib.client_open_uuid("M", jacklib.JackSessionID, jacklib.pointer(jack_status), "") | |||||
client = jacklib.client_open("M", jacklib.JackSessionID, jacklib.pointer(jack_status)) | |||||
if not client: | if not client: | ||||
QMessageBox.critical(None, app.translate("MeterW", "Error"), app.translate("MeterW", "Could not connect to JACK, possible errors:\n%s" % (get_jack_status_error_string(jack_status)))) | QMessageBox.critical(None, app.translate("MeterW", "Error"), app.translate("MeterW", "Could not connect to JACK, possible errors:\n%s" % (get_jack_status_error_string(jack_status)))) | ||||
@@ -86,13 +86,13 @@ def engineHasFeature(feature): | |||||
return bool(dbus.String(feature) in feature_list) | return bool(dbus.String(feature) in feature_list) | ||||
def getEngineParameter(parameter, error): | def getEngineParameter(parameter, error): | ||||
if (engineHasFeature(parameter) == False): | |||||
if (not engineHasFeature(parameter)): | |||||
return error | return error | ||||
else: | else: | ||||
return jackctl.GetParameterValue(["engine",parameter])[2] | return jackctl.GetParameterValue(["engine",parameter])[2] | ||||
def setEngineParameter(parameter, value, optional=True): | def setEngineParameter(parameter, value, optional=True): | ||||
if (engineHasFeature(parameter) == False): | |||||
if (not engineHasFeature(parameter)): | |||||
return False | return False | ||||
elif (optional): | elif (optional): | ||||
if (value != jackctl.GetParameterValue(["engine",parameter])[2]): | if (value != jackctl.GetParameterValue(["engine",parameter])[2]): | ||||
@@ -110,13 +110,13 @@ def driverHasFeature(feature): | |||||
return bool(dbus.String(feature) in feature_list) | return bool(dbus.String(feature) in feature_list) | ||||
def getDriverParameter(parameter, error): | def getDriverParameter(parameter, error): | ||||
if (driverHasFeature(parameter) == False): | |||||
if (not driverHasFeature(parameter)): | |||||
return error | return error | ||||
else: | else: | ||||
return jackctl.GetParameterValue(["driver",parameter])[2] | return jackctl.GetParameterValue(["driver",parameter])[2] | ||||
def setDriverParameter(parameter, value, optional=True): | def setDriverParameter(parameter, value, optional=True): | ||||
if (driverHasFeature(parameter) == False): | |||||
if (not driverHasFeature(parameter)): | |||||
return False | return False | ||||
elif (optional): | elif (optional): | ||||
if (value != jackctl.GetParameterValue(["driver",parameter])[2]): | if (value != jackctl.GetParameterValue(["driver",parameter])[2]): | ||||
@@ -157,7 +157,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
self.connect(self.buttonBox.button(QDialogButtonBox.Reset), SIGNAL("clicked()"), SLOT("slot_resetJackSettings()")) | self.connect(self.buttonBox.button(QDialogButtonBox.Reset), SIGNAL("clicked()"), SLOT("slot_resetJackSettings()")) | ||||
self.connect(self.obj_driver_duplex, SIGNAL("clicked(bool)"), SLOT("slot_checkDuplexSelection(bool)")) | self.connect(self.obj_driver_duplex, SIGNAL("clicked(bool)"), SLOT("slot_checkDuplexSelection(bool)")) | ||||
self.connect(self.obj_server_driver, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkDriverSelection(int, int, int, int)")) | |||||
self.connect(self.obj_server_driver, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkDriverSelection(int)")) | |||||
self.connect(self.obj_driver_capture, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkALSASelection()")) | self.connect(self.obj_driver_capture, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkALSASelection()")) | ||||
self.connect(self.obj_driver_playback, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkALSASelection()")) | self.connect(self.obj_driver_playback, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkALSASelection()")) | ||||
@@ -201,7 +201,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
self.obj_server_self_connect_mode.setEnabled(engineHasFeature("self-connect-mode")) | self.obj_server_self_connect_mode.setEnabled(engineHasFeature("self-connect-mode")) | ||||
# Disable clock-source if not on Linux | # Disable clock-source if not on Linux | ||||
if (LINUX == False): | |||||
if (not LINUX): | |||||
self.obj_server_clock_source.setEnabled(False) | self.obj_server_clock_source.setEnabled(False) | ||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
@@ -232,7 +232,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
value = dbus.Int32(int(self.obj_server_client_timeout.currentText())) | value = dbus.Int32(int(self.obj_server_client_timeout.currentText())) | ||||
setEngineParameter("client-timeout", value, True) | setEngineParameter("client-timeout", value, True) | ||||
if (self.obj_server_clock_source.isEnabled() or 1): | |||||
if (self.obj_server_clock_source.isEnabled()): | |||||
value = None | value = None | ||||
if (self.obj_server_clock_source_system.isChecked()): | if (self.obj_server_clock_source_system.isChecked()): | ||||
if (self.m_server_clock_source_broken): | if (self.m_server_clock_source_broken): | ||||
@@ -472,7 +472,10 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
print("JackSettings::saveDriverSettings() - Cannot save midi-driver value") | print("JackSettings::saveDriverSettings() - Cannot save midi-driver value") | ||||
if (value != None): | if (value != None): | ||||
setDriverParameter("midi-driver", value, True) | |||||
if (driverHasFeature("midi")): | |||||
setDriverParameter("midi", value, True) | |||||
else: | |||||
setDriverParameter("midi-driver", value, True) | |||||
if (self.obj_driver_wait.isEnabled()): | if (self.obj_driver_wait.isEnabled()): | ||||
value = dbus.UInt32(self.obj_driver_wait.value()) | value = dbus.UInt32(self.obj_driver_wait.value()) | ||||
@@ -553,7 +556,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
self.obj_driver_input_latency.setValue(int(value)) | self.obj_driver_input_latency.setValue(int(value)) | ||||
elif (attribute == "output-latency"): | elif (attribute == "output-latency"): | ||||
self.obj_driver_output_latency.setValue(int(value)) | self.obj_driver_output_latency.setValue(int(value)) | ||||
elif (attribute == "midi-driver"): | |||||
elif (attribute in ("midi", "midi-driver")): | |||||
value = str(value) | value = str(value) | ||||
if (value == "none"): | if (value == "none"): | ||||
self.obj_driver_midi_driver.setCurrentIndex(0) | self.obj_driver_midi_driver.setCurrentIndex(0) | ||||
@@ -611,8 +614,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
self.slot_checkALSASelection() | self.slot_checkALSASelection() | ||||
@pyqtSlot(int, int, int, int) | |||||
def slot_checkDriverSelection(self, row, column, prev_row, prev_column): | |||||
@pyqtSlot(int) | |||||
def slot_checkDriverSelection(self, row): | |||||
# Save previous settings | # Save previous settings | ||||
self.saveDriverSettings() | self.saveDriverSettings() | ||||
@@ -681,8 +684,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
self.obj_driver_input_latency_label.setEnabled(driverHasFeature("input-latency")) | self.obj_driver_input_latency_label.setEnabled(driverHasFeature("input-latency")) | ||||
self.obj_driver_output_latency.setEnabled(driverHasFeature("output-latency")) | self.obj_driver_output_latency.setEnabled(driverHasFeature("output-latency")) | ||||
self.obj_driver_output_latency_label.setEnabled(driverHasFeature("output-latency")) | self.obj_driver_output_latency_label.setEnabled(driverHasFeature("output-latency")) | ||||
self.obj_driver_midi_driver.setEnabled(driverHasFeature("midi-driver")) | |||||
self.obj_driver_midi_driver_label.setEnabled(driverHasFeature("midi-driver")) | |||||
self.obj_driver_midi_driver.setEnabled(driverHasFeature("midi") or driverHasFeature("midi-driver")) | |||||
self.obj_driver_midi_driver_label.setEnabled(driverHasFeature("midi") or driverHasFeature("midi-driver")) | |||||
self.obj_driver_wait.setEnabled(driverHasFeature("wait")) | self.obj_driver_wait.setEnabled(driverHasFeature("wait")) | ||||
self.obj_driver_wait_label.setEnabled(driverHasFeature("wait")) | self.obj_driver_wait_label.setEnabled(driverHasFeature("wait")) | ||||
self.obj_driver_verbose.setEnabled(driverHasFeature("verbose")) | self.obj_driver_verbose.setEnabled(driverHasFeature("verbose")) | ||||
@@ -737,20 +740,21 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): | |||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
# Additional imports | # Additional imports | ||||
import sys, icons_rc | |||||
import icons_rc | |||||
from sys import argv as sys_argv, exit as sys_exit | |||||
from PyQt4.QtGui import QApplication, QIcon | from PyQt4.QtGui import QApplication, QIcon | ||||
# App initialization | # App initialization | ||||
app = QApplication(sys.argv) | |||||
app = QApplication(sys_argv) | |||||
# Connect to DBus | # Connect to DBus | ||||
if (dbus): | if (dbus): | ||||
if (initBus(dbus.SessionBus())): | if (initBus(dbus.SessionBus())): | ||||
QMessageBox.critical(None, app.translate("JackSettingsW", "Error"), app.translate("JackSettingsW", "jackdbus is not available!\nIs not possible to configure JACK at this point.")) | QMessageBox.critical(None, app.translate("JackSettingsW", "Error"), app.translate("JackSettingsW", "jackdbus is not available!\nIs not possible to configure JACK at this point.")) | ||||
sys.exit(1) | |||||
sys_exit(1) | |||||
else: | else: | ||||
QMessageBox.critical(None, app.translate("JackSettingsW", "Error"), app.translate("JackSettingsW", "DBus is not available, cannot continue.")) | QMessageBox.critical(None, app.translate("JackSettingsW", "Error"), app.translate("JackSettingsW", "DBus is not available, cannot continue.")) | ||||
sys.exit(1) | |||||
sys_exit(1) | |||||
# Show GUI | # Show GUI | ||||
gui = JackSettingsW(None) | gui = JackSettingsW(None) | ||||
@@ -758,4 +762,4 @@ if __name__ == '__main__': | |||||
gui.show() | gui.show() | ||||
# App-Loop | # App-Loop | ||||
sys.exit(app.exec_()) | |||||
sys_exit(app.exec_()) |
@@ -243,22 +243,22 @@ class LogsW(QDialog, ui_logs.Ui_LogsW): | |||||
tab_index = 0 | tab_index = 0 | ||||
if (os.path.exists(self.LOG_FILE_JACK) == False): | |||||
if (not os.path.exists(self.LOG_FILE_JACK)): | |||||
self.LOG_FILE_JACK = None | self.LOG_FILE_JACK = None | ||||
self.tabWidget.removeTab(0-tab_index) | self.tabWidget.removeTab(0-tab_index) | ||||
tab_index += 1 | tab_index += 1 | ||||
if (os.path.exists(self.LOG_FILE_A2J) == False): | |||||
if (not os.path.exists(self.LOG_FILE_A2J)): | |||||
self.LOG_FILE_A2J = None | self.LOG_FILE_A2J = None | ||||
self.tabWidget.removeTab(1-tab_index) | self.tabWidget.removeTab(1-tab_index) | ||||
tab_index += 1 | tab_index += 1 | ||||
if (os.path.exists(self.LOG_FILE_LASH) == False): | |||||
if (not os.path.exists(self.LOG_FILE_LASH)): | |||||
self.LOG_FILE_LASH = None | self.LOG_FILE_LASH = None | ||||
self.tabWidget.removeTab(2-tab_index) | self.tabWidget.removeTab(2-tab_index) | ||||
tab_index += 1 | tab_index += 1 | ||||
if (os.path.exists(self.LOG_FILE_LADISH) == False): | |||||
if (not os.path.exists(self.LOG_FILE_LADISH)): | |||||
self.LOG_FILE_LADISH = None | self.LOG_FILE_LADISH = None | ||||
self.tabWidget.removeTab(3-tab_index) | self.tabWidget.removeTab(3-tab_index) | ||||
tab_index += 1 | tab_index += 1 | ||||
@@ -105,7 +105,7 @@ class RenderW(QDialog, ui_render.Ui_RenderW): | |||||
@pyqtSlot() | @pyqtSlot() | ||||
def slot_renderStart(self): | def slot_renderStart(self): | ||||
if (os.path.exists(self.le_folder.text()) == False): | |||||
if (not os.path.exists(self.le_folder.text())): | |||||
QMessageBox.warning(self, self.tr("Warning"), self.tr("The selected directory does not exist. Please choose a valid one.")) | QMessageBox.warning(self, self.tr("Warning"), self.tr("The selected directory does not exist. Please choose a valid one.")) | ||||
return | return | ||||
@@ -255,7 +255,7 @@ class RenderW(QDialog, ui_render.Ui_RenderW): | |||||
time = jacklib.get_current_transport_frame(self.m_jack_client)/self.m_sample_rate | time = jacklib.get_current_transport_frame(self.m_jack_client)/self.m_sample_rate | ||||
self.progressBar.setValue(time) | self.progressBar.setValue(time) | ||||
if (time > self.m_max_time or (self.m_last_time > time and self.m_freewheel == False)): | |||||
if (time > self.m_max_time or (self.m_last_time > time and not self.m_freewheel)): | |||||
self.slot_renderStop() | self.slot_renderStop() | ||||
self.m_last_time = time | self.m_last_time = time | ||||
@@ -38,7 +38,7 @@ else: | |||||
LINUX = False | LINUX = False | ||||
WINDOWS = False | WINDOWS = False | ||||
if (WINDOWS == False): | |||||
if (not WINDOWS): | |||||
from signal import signal, SIGINT, SIGTERM, SIGUSR1, SIGUSR2 | from signal import signal, SIGINT, SIGTERM, SIGUSR1, SIGUSR2 | ||||
# Set Version | # Set Version | ||||
@@ -56,7 +56,7 @@ HOME = os.getenv("HOME") | |||||
if (HOME == None): | if (HOME == None): | ||||
qWarning("HOME variable not set") | qWarning("HOME variable not set") | ||||
HOME = "/tmp" | HOME = "/tmp" | ||||
elif (os.path.exists(HOME) == False): | |||||
elif (not os.path.exists(HOME)): | |||||
qWarning("HOME variable set but not valid") | qWarning("HOME variable set but not valid") | ||||
HOME = "/tmp" | HOME = "/tmp" | ||||
@@ -201,15 +201,15 @@ def getIcon(icon, size=16): | |||||
return QIcon.fromTheme(icon, QIcon(":/%ix%i/%s.png" % (size, size, icon))) | return QIcon.fromTheme(icon, QIcon(":/%ix%i/%s.png" % (size, size, icon))) | ||||
# QLineEdit and QPushButtom combo | # QLineEdit and QPushButtom combo | ||||
def getAndSetPath(self, currentPath, lineEdit): | |||||
newPath = QFileDialog.getExistingDirectory(self, self.tr("Set Path"), currentPath, QFileDialog.ShowDirsOnly) | |||||
def getAndSetPath(self_, currentPath, lineEdit): | |||||
newPath = QFileDialog.getExistingDirectory(self_, self_.tr("Set Path"), currentPath, QFileDialog.ShowDirsOnly) | |||||
if (newPath): | if (newPath): | ||||
lineEdit.setText(newPath) | lineEdit.setText(newPath) | ||||
return newPath | return newPath | ||||
# Custom MessageBox | # Custom MessageBox | ||||
def CustomMessageBox(self, icon, title, text, extraText="", buttons=QMessageBox.Yes|QMessageBox.No, defButton=QMessageBox.No): | |||||
msgBox = QMessageBox(self) | |||||
def CustomMessageBox(self_, icon, title, text, extraText="", buttons=QMessageBox.Yes|QMessageBox.No, defButton=QMessageBox.No): | |||||
msgBox = QMessageBox(self_) | |||||
msgBox.setIcon(icon) | msgBox.setIcon(icon) | ||||
msgBox.setWindowTitle(title) | msgBox.setWindowTitle(title) | ||||
msgBox.setText(text) | msgBox.setText(text) | ||||
@@ -233,7 +233,7 @@ def set_up_signals(_gui): | |||||
x_gui.connect(x_gui, SIGNAL("SIGUSR2()"), lambda gui=x_gui: showWindow(gui)) | x_gui.connect(x_gui, SIGNAL("SIGUSR2()"), lambda gui=x_gui: showWindow(gui)) | ||||
x_gui.connect(x_gui, SIGNAL("SIGTERM()"), SLOT("close()")) | x_gui.connect(x_gui, SIGNAL("SIGTERM()"), SLOT("close()")) | ||||
def signal_handler(sig=0, frame=0): | |||||
def signal_handler(sig): | |||||
global x_gui | global x_gui | ||||
if (sig in (SIGINT, SIGTERM)): | if (sig in (SIGINT, SIGTERM)): | ||||
x_gui.emit(SIGNAL("SIGTERM()")) | x_gui.emit(SIGNAL("SIGTERM()")) | ||||
@@ -242,45 +242,45 @@ def signal_handler(sig=0, frame=0): | |||||
elif (sig == SIGUSR2): | elif (sig == SIGUSR2): | ||||
x_gui.emit(SIGNAL("SIGUSR2()")) | x_gui.emit(SIGNAL("SIGUSR2()")) | ||||
def showWindow(self): | |||||
if (self.isMaximized()): | |||||
self.showMaximized() | |||||
def showWindow(self_): | |||||
if (self_.isMaximized()): | |||||
self_.showMaximized() | |||||
else: | else: | ||||
self.showNormal() | |||||
self_.showNormal() | |||||
# Shared Icons | # Shared Icons | ||||
def setIcons(self, modes): | |||||
def setIcons(self_, modes): | |||||
if ("canvas" in modes): | if ("canvas" in modes): | ||||
self.act_canvas_arrange.setIcon(getIcon("view-sort-ascending")) | |||||
self.act_canvas_refresh.setIcon(getIcon("view-refresh")) | |||||
self.act_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) | |||||
self.act_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||||
self.act_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||||
self.act_canvas_zoom_100.setIcon(getIcon("zoom-original")) | |||||
self.act_canvas_print.setIcon(getIcon("document-print")) | |||||
self.b_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) | |||||
self.b_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||||
self.b_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||||
self.b_canvas_zoom_100.setIcon(getIcon("zoom-original")) | |||||
self_.act_canvas_arrange.setIcon(getIcon("view-sort-ascending")) | |||||
self_.act_canvas_refresh.setIcon(getIcon("view-refresh")) | |||||
self_.act_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) | |||||
self_.act_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||||
self_.act_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||||
self_.act_canvas_zoom_100.setIcon(getIcon("zoom-original")) | |||||
self_.act_canvas_print.setIcon(getIcon("document-print")) | |||||
self_.b_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) | |||||
self_.b_canvas_zoom_in.setIcon(getIcon("zoom-in")) | |||||
self_.b_canvas_zoom_out.setIcon(getIcon("zoom-out")) | |||||
self_.b_canvas_zoom_100.setIcon(getIcon("zoom-original")) | |||||
if ("jack" in modes): | if ("jack" in modes): | ||||
self.act_jack_clear_xruns.setIcon(getIcon("edit-clear")) | |||||
self.act_jack_configure.setIcon(getIcon("configure")) | |||||
self.act_jack_render.setIcon(getIcon("media-record")) | |||||
self.b_jack_clear_xruns.setIcon(getIcon("edit-clear")) | |||||
self.b_jack_configure.setIcon(getIcon("configure")) | |||||
self.b_jack_render.setIcon(getIcon("media-record")) | |||||
self_.act_jack_clear_xruns.setIcon(getIcon("edit-clear")) | |||||
self_.act_jack_configure.setIcon(getIcon("configure")) | |||||
self_.act_jack_render.setIcon(getIcon("media-record")) | |||||
self_.b_jack_clear_xruns.setIcon(getIcon("edit-clear")) | |||||
self_.b_jack_configure.setIcon(getIcon("configure")) | |||||
self_.b_jack_render.setIcon(getIcon("media-record")) | |||||
if ("transport" in modes): | if ("transport" in modes): | ||||
self.act_transport_play.setIcon(getIcon("media-playback-start")) | |||||
self.act_transport_stop.setIcon(getIcon("media-playback-stop")) | |||||
self.act_transport_backwards.setIcon(getIcon("media-seek-backward")) | |||||
self.act_transport_forwards.setIcon(getIcon("media-seek-forward")) | |||||
self.b_transport_play.setIcon(getIcon("media-playback-start")) | |||||
self.b_transport_stop.setIcon(getIcon("media-playback-stop")) | |||||
self.b_transport_backwards.setIcon(getIcon("media-seek-backward")) | |||||
self.b_transport_forwards.setIcon(getIcon("media-seek-forward")) | |||||
self_.act_transport_play.setIcon(getIcon("media-playback-start")) | |||||
self_.act_transport_stop.setIcon(getIcon("media-playback-stop")) | |||||
self_.act_transport_backwards.setIcon(getIcon("media-seek-backward")) | |||||
self_.act_transport_forwards.setIcon(getIcon("media-seek-forward")) | |||||
self_.b_transport_play.setIcon(getIcon("media-playback-start")) | |||||
self_.b_transport_stop.setIcon(getIcon("media-playback-stop")) | |||||
self_.b_transport_backwards.setIcon(getIcon("media-seek-backward")) | |||||
self_.b_transport_forwards.setIcon(getIcon("media-seek-forward")) | |||||
if ("misc" in modes): | if ("misc" in modes): | ||||
self.act_quit.setIcon(getIcon("application-exit")) | |||||
self.act_configure.setIcon(getIcon("configure")) | |||||
self_.act_quit.setIcon(getIcon("application-exit")) | |||||
self_.act_configure.setIcon(getIcon("configure")) |
@@ -24,41 +24,41 @@ from PyQt4.QtGui import QFileDialog, QImage, QPainter, QPrinter, QPrintDialog | |||||
import patchcanvas | import patchcanvas | ||||
# Shared Canvas code | # Shared Canvas code | ||||
def canvas_arrange(self): | |||||
def canvas_arrange(): | |||||
patchcanvas.arrange() | patchcanvas.arrange() | ||||
def canvas_refresh(self): | |||||
def canvas_refresh(self_): | |||||
patchcanvas.clear() | patchcanvas.clear() | ||||
self.init_ports() | |||||
self_.init_ports() | |||||
def canvas_zoom_fit(self): | |||||
self.scene.zoom_fit() | |||||
def canvas_zoom_fit(self_): | |||||
self_.scene.zoom_fit() | |||||
def canvas_zoom_in(self): | |||||
self.scene.zoom_in() | |||||
def canvas_zoom_in(self_): | |||||
self_.scene.zoom_in() | |||||
def canvas_zoom_out(self): | |||||
self.scene.zoom_out() | |||||
def canvas_zoom_out(self_): | |||||
self_.scene.zoom_out() | |||||
def canvas_zoom_reset(self): | |||||
self.scene.zoom_reset() | |||||
def canvas_zoom_reset(self_): | |||||
self_.scene.zoom_reset() | |||||
def canvas_print(self): | |||||
self.scene.clearSelection() | |||||
self.m_export_printer = QPrinter() | |||||
dialog = QPrintDialog(self.m_export_printer, self) | |||||
def canvas_print(self_): | |||||
self_.scene.clearSelection() | |||||
self_.m_export_printer = QPrinter() | |||||
dialog = QPrintDialog(self_.m_export_printer, self_) | |||||
if (dialog.exec_()): | if (dialog.exec_()): | ||||
painter = QPainter(self.m_export_printer) | |||||
painter = QPainter(self_.m_export_printer) | |||||
painter.setRenderHint(QPainter.Antialiasing) | painter.setRenderHint(QPainter.Antialiasing) | ||||
painter.setRenderHint(QPainter.TextAntialiasing) | painter.setRenderHint(QPainter.TextAntialiasing) | ||||
self.scene.render(painter) | |||||
self_.scene.render(painter) | |||||
def canvas_save_image(self): | |||||
newPath = QFileDialog.getSaveFileName(self, self.tr("Save Image"), filter=self.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||||
def canvas_save_image(self_): | |||||
newPath = QFileDialog.getSaveFileName(self_, self_.tr("Save Image"), filter=self_.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||||
print(newPath) | print(newPath) | ||||
if (newPath): | if (newPath): | ||||
self.scene.clearSelection() | |||||
self_.scene.clearSelection() | |||||
if (newPath.endswith((".jpg", ".jpG", ".jPG", ".JPG", ".JPg", ".Jpg"))): | if (newPath.endswith((".jpg", ".jpG", ".jPG", ".JPG", ".JPg", ".Jpg"))): | ||||
img_format = "JPG" | img_format = "JPG" | ||||
elif (newPath.endswith((".png", ".pnG", ".pNG", ".PNG", ".PNg", ".Png"))): | elif (newPath.endswith((".png", ".pnG", ".pNG", ".PNG", ".PNg", ".Png"))): | ||||
@@ -68,25 +68,25 @@ def canvas_save_image(self): | |||||
img_format = "PNG" | img_format = "PNG" | ||||
newPath += ".png" | newPath += ".png" | ||||
self.m_export_image = QImage(self.scene.sceneRect().width(), self.scene.sceneRect().height(), QImage.Format_RGB32) | |||||
painter = QPainter(self.m_export_image) | |||||
self_.m_export_image = QImage(self_.scene.sceneRect().width(), self_.scene.sceneRect().height(), QImage.Format_RGB32) | |||||
painter = QPainter(self_.m_export_image) | |||||
painter.setRenderHint(QPainter.Antialiasing) | painter.setRenderHint(QPainter.Antialiasing) | ||||
painter.setRenderHint(QPainter.TextAntialiasing) | painter.setRenderHint(QPainter.TextAntialiasing) | ||||
self.scene.render(painter) | |||||
self.m_export_image.save(newPath, img_format, 100) | |||||
self_.scene.render(painter) | |||||
self_.m_export_image.save(newPath, img_format, 100) | |||||
# Shared Connections | # Shared Connections | ||||
def setCanvasConnections(self): | |||||
self.act_canvas_arrange.setEnabled(False) | |||||
self.connect(self.act_canvas_arrange, SIGNAL("triggered()"), lambda: canvas_arrange(self)) | |||||
self.connect(self.act_canvas_refresh, SIGNAL("triggered()"), lambda: canvas_refresh(self)) | |||||
self.connect(self.act_canvas_zoom_fit, SIGNAL("triggered()"), lambda: canvas_zoom_fit(self)) | |||||
self.connect(self.act_canvas_zoom_in, SIGNAL("triggered()"), lambda: canvas_zoom_in(self)) | |||||
self.connect(self.act_canvas_zoom_out, SIGNAL("triggered()"), lambda: canvas_zoom_out(self)) | |||||
self.connect(self.act_canvas_zoom_100, SIGNAL("triggered()"), lambda: canvas_zoom_reset(self)) | |||||
self.connect(self.act_canvas_print, SIGNAL("triggered()"), lambda: canvas_print(self)) | |||||
self.connect(self.act_canvas_save_image, SIGNAL("triggered()"), lambda: canvas_save_image(self)) | |||||
self.connect(self.b_canvas_zoom_fit, SIGNAL("clicked()"), lambda: canvas_zoom_fit(self)) | |||||
self.connect(self.b_canvas_zoom_in, SIGNAL("clicked()"), lambda: canvas_zoom_in(self)) | |||||
self.connect(self.b_canvas_zoom_out, SIGNAL("clicked()"), lambda: canvas_zoom_out(self)) | |||||
self.connect(self.b_canvas_zoom_100, SIGNAL("clicked()"), lambda: canvas_zoom_reset(self)) | |||||
def setCanvasConnections(self_): | |||||
self_.act_canvas_arrange.setEnabled(False) | |||||
self_.connect(self_.act_canvas_arrange, SIGNAL("triggered()"), lambda: canvas_arrange()) | |||||
self_.connect(self_.act_canvas_refresh, SIGNAL("triggered()"), lambda: canvas_refresh(self_)) | |||||
self_.connect(self_.act_canvas_zoom_fit, SIGNAL("triggered()"), lambda: canvas_zoom_fit(self_)) | |||||
self_.connect(self_.act_canvas_zoom_in, SIGNAL("triggered()"), lambda: canvas_zoom_in(self_)) | |||||
self_.connect(self_.act_canvas_zoom_out, SIGNAL("triggered()"), lambda: canvas_zoom_out(self_)) | |||||
self_.connect(self_.act_canvas_zoom_100, SIGNAL("triggered()"), lambda: canvas_zoom_reset(self_)) | |||||
self_.connect(self_.act_canvas_print, SIGNAL("triggered()"), lambda: canvas_print(self_)) | |||||
self_.connect(self_.act_canvas_save_image, SIGNAL("triggered()"), lambda: canvas_save_image(self_)) | |||||
self_.connect(self_.b_canvas_zoom_fit, SIGNAL("clicked()"), lambda: canvas_zoom_fit(self_)) | |||||
self_.connect(self_.b_canvas_zoom_in, SIGNAL("clicked()"), lambda: canvas_zoom_in(self_)) | |||||
self_.connect(self_.b_canvas_zoom_out, SIGNAL("clicked()"), lambda: canvas_zoom_out(self_)) | |||||
self_.connect(self_.b_canvas_zoom_100, SIGNAL("clicked()"), lambda: canvas_zoom_reset(self_)) |
@@ -26,12 +26,9 @@ from shared import * | |||||
from jacklib_helpers import * | from jacklib_helpers import * | ||||
# Have JACK2 ? | # Have JACK2 ? | ||||
try: | |||||
JACK2 = True | |||||
if (jacklib.JACK2): | |||||
version_str = str(jacklib.get_version_string(), encoding="ascii") | version_str = str(jacklib.get_version_string(), encoding="ascii") | ||||
print("Using JACK2, version %s" % (version_str)) | print("Using JACK2, version %s" % (version_str)) | ||||
except: | |||||
JACK2 = False | |||||
# Can Render ? | # Can Render ? | ||||
for iPATH in PATH: | for iPATH in PATH: | ||||
@@ -92,88 +89,88 @@ jack.client = None | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# Property change calls | # Property change calls | ||||
def jack_buffer_size(self, buffer_size): | |||||
if (self.m_buffer_size != buffer_size): | |||||
def jack_buffer_size(self_, buffer_size): | |||||
if (self_.m_buffer_size != buffer_size): | |||||
if (jack.client): | if (jack.client): | ||||
failed = bool(jacklib.set_buffer_size(jack.client, buffer_size) != 0) | failed = bool(jacklib.set_buffer_size(jack.client, buffer_size) != 0) | ||||
else: | else: | ||||
failed = bool(jacksettings.setBufferSize(buffer_size)) | failed = bool(jacksettings.setBufferSize(buffer_size)) | ||||
if (failed): | if (failed): | ||||
print("Failed to change buffer-size as %i, reset to %i" % (buffer_size, self.m_buffer_size)) | |||||
setBufferSize(self, self.m_buffer_size, True) | |||||
print("Failed to change buffer-size as %i, reset to %i" % (buffer_size, self_.m_buffer_size)) | |||||
setBufferSize(self_, self_.m_buffer_size, True) | |||||
def jack_sample_rate(self, sample_rate): | |||||
def jack_sample_rate(self_, sample_rate): | |||||
if (jack.client): | if (jack.client): | ||||
setSampleRate(self, sample_rate, True) | |||||
setSampleRate(self_, sample_rate, True) | |||||
else: | else: | ||||
if (jacksettings.setSampleRate(sample_rate)): | if (jacksettings.setSampleRate(sample_rate)): | ||||
setSampleRate(self, sample_rate) | |||||
setSampleRate(self_, sample_rate) | |||||
@pyqtSlot(str) | |||||
def slot_jackBufferSize_ComboBox(self, text): | |||||
if (not text or text.isdigit() == False): | |||||
#@pyqtSlot(str) | |||||
def slot_jackBufferSize_ComboBox(self_, text): | |||||
if (not text or not text.isdigit()): | |||||
return | return | ||||
jack_buffer_size(self, int(text)) | |||||
jack_buffer_size(self_, int(text)) | |||||
@pyqtSlot(int) | |||||
def slot_jackBufferSize_Menu(self, buffer_size): | |||||
jack_buffer_size(self, buffer_size) | |||||
#@pyqtSlot(int) | |||||
def slot_jackBufferSize_Menu(self_, buffer_size): | |||||
jack_buffer_size(self_, buffer_size) | |||||
@pyqtSlot(str) | |||||
def slot_jackSampleRate_ComboBox(self, text): | |||||
if (not text or text.isdigit() == False): | |||||
#@pyqtSlot(str) | |||||
def slot_jackSampleRate_ComboBox(self_, text): | |||||
if (not text or not text.isdigit()): | |||||
return | return | ||||
jack_sample_rate(self, int(text)) | |||||
jack_sample_rate(self_, int(text)) | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# Transport calls | # Transport calls | ||||
def setTransportView(self, view): | |||||
def setTransportView(self_, view): | |||||
if (view == TRANSPORT_VIEW_HMS): | if (view == TRANSPORT_VIEW_HMS): | ||||
self.m_selected_transport_view = TRANSPORT_VIEW_HMS | |||||
self.label_time.setMinimumWidth(QFontMetrics(self.label_time.font()).width("00:00:00")+3) | |||||
self_.m_selected_transport_view = TRANSPORT_VIEW_HMS | |||||
self_.label_time.setMinimumWidth(QFontMetrics(self_.label_time.font()).width("00:00:00")+3) | |||||
elif (view == TRANSPORT_VIEW_BBT): | elif (view == TRANSPORT_VIEW_BBT): | ||||
self.m_selected_transport_view = TRANSPORT_VIEW_BBT | |||||
self.label_time.setMinimumWidth(QFontMetrics(self.label_time.font()).width("000|00|0000")+3) | |||||
self_.m_selected_transport_view = TRANSPORT_VIEW_BBT | |||||
self_.label_time.setMinimumWidth(QFontMetrics(self_.label_time.font()).width("000|00|0000")+3) | |||||
elif (view == TRANSPORT_VIEW_FRAMES): | elif (view == TRANSPORT_VIEW_FRAMES): | ||||
self.m_selected_transport_view = TRANSPORT_VIEW_FRAMES | |||||
self.label_time.setMinimumWidth(QFontMetrics(self.label_time.font()).width("000'000'000")+3) | |||||
self_.m_selected_transport_view = TRANSPORT_VIEW_FRAMES | |||||
self_.label_time.setMinimumWidth(QFontMetrics(self_.label_time.font()).width("000'000'000")+3) | |||||
else: | else: | ||||
self.m_selected_transport_view = None | |||||
self_.m_selected_transport_view = None | |||||
@pyqtSlot(bool) | |||||
def slot_transportPlayPause(self, play): | |||||
#@pyqtSlot(bool) | |||||
def slot_transportPlayPause(self_, play): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
if (play): | if (play): | ||||
jacklib.transport_start(jack.client) | jacklib.transport_start(jack.client) | ||||
else: | else: | ||||
jacklib.transport_stop(jack.client) | jacklib.transport_stop(jack.client) | ||||
refreshTransport(self) | |||||
refreshTransport(self_) | |||||
@pyqtSlot() | |||||
def slot_transportStop(self): | |||||
#@pyqtSlot() | |||||
def slot_transportStop(self_): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
jacklib.transport_stop(jack.client) | jacklib.transport_stop(jack.client) | ||||
jacklib.transport_locate(jack.client, 0) | jacklib.transport_locate(jack.client, 0) | ||||
refreshTransport(self) | |||||
refreshTransport(self_) | |||||
@pyqtSlot() | |||||
def slot_transportBackwards(self): | |||||
#@pyqtSlot() | |||||
def slot_transportBackwards(): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
new_frame = jacklib.get_current_transport_frame(jack.client)-100000 | new_frame = jacklib.get_current_transport_frame(jack.client)-100000 | ||||
if (new_frame < 0): new_frame = 0 | if (new_frame < 0): new_frame = 0 | ||||
jacklib.transport_locate(jack.client, new_frame) | jacklib.transport_locate(jack.client, new_frame) | ||||
@pyqtSlot() | |||||
def slot_transportForwards(self): | |||||
#@pyqtSlot() | |||||
def slot_transportForwards(): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
new_frame = jacklib.get_current_transport_frame(jack.client)+100000 | new_frame = jacklib.get_current_transport_frame(jack.client)+100000 | ||||
jacklib.transport_locate(jack.client, new_frame) | jacklib.transport_locate(jack.client, new_frame) | ||||
@pyqtSlot() | |||||
def slot_transportViewMenu(self): | |||||
menu = QMenu(self) | |||||
#@pyqtSlot() | |||||
def slot_transportViewMenu(self_): | |||||
menu = QMenu(self_) | |||||
act_t_hms = menu.addAction("Hours:Minutes:Seconds") | act_t_hms = menu.addAction("Hours:Minutes:Seconds") | ||||
act_t_bbt = menu.addAction("Beat:Bar:Tick") | act_t_bbt = menu.addAction("Beat:Bar:Tick") | ||||
act_t_fr = menu.addAction("Frames") | act_t_fr = menu.addAction("Frames") | ||||
@@ -182,44 +179,44 @@ def slot_transportViewMenu(self): | |||||
act_t_bbt.setCheckable(True) | act_t_bbt.setCheckable(True) | ||||
act_t_fr.setCheckable(True) | act_t_fr.setCheckable(True) | ||||
if (self.m_selected_transport_view == TRANSPORT_VIEW_HMS): | |||||
if (self_.m_selected_transport_view == TRANSPORT_VIEW_HMS): | |||||
act_t_hms.setChecked(True) | act_t_hms.setChecked(True) | ||||
elif (self.m_selected_transport_view == TRANSPORT_VIEW_BBT): | |||||
elif (self_.m_selected_transport_view == TRANSPORT_VIEW_BBT): | |||||
act_t_bbt.setChecked(True) | act_t_bbt.setChecked(True) | ||||
elif (self.m_selected_transport_view == TRANSPORT_VIEW_FRAMES): | |||||
elif (self_.m_selected_transport_view == TRANSPORT_VIEW_FRAMES): | |||||
act_t_fr.setChecked(True) | act_t_fr.setChecked(True) | ||||
act_selected = menu.exec_(QCursor().pos()) | act_selected = menu.exec_(QCursor().pos()) | ||||
if (act_selected == act_t_hms): | if (act_selected == act_t_hms): | ||||
setTransportView(self, TRANSPORT_VIEW_HMS) | |||||
setTransportView(self_, TRANSPORT_VIEW_HMS) | |||||
elif (act_selected == act_t_bbt): | elif (act_selected == act_t_bbt): | ||||
setTransportView(self, TRANSPORT_VIEW_BBT) | |||||
setTransportView(self_, TRANSPORT_VIEW_BBT) | |||||
elif (act_selected == act_t_fr): | elif (act_selected == act_t_fr): | ||||
setTransportView(self, TRANSPORT_VIEW_FRAMES) | |||||
setTransportView(self_, TRANSPORT_VIEW_FRAMES) | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# Refresh GUI stuff | # Refresh GUI stuff | ||||
def refreshDSPLoad(self): | |||||
def refreshDSPLoad(self_): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
setDSPLoad(self, int(jacklib.cpu_load(jack.client))) | |||||
setDSPLoad(self_, int(jacklib.cpu_load(jack.client))) | |||||
def refreshTransport(self): | |||||
def refreshTransport(self_): | |||||
if (not jack.client): return | if (not jack.client): return | ||||
pos = jacklib.jack_position_t() | pos = jacklib.jack_position_t() | ||||
pos.valid = 0 | pos.valid = 0 | ||||
state = jacklib.transport_query(jack.client, jacklib.pointer(pos)) | state = jacklib.transport_query(jack.client, jacklib.pointer(pos)) | ||||
if (self.m_selected_transport_view == TRANSPORT_VIEW_HMS): | |||||
if (self_.m_selected_transport_view == TRANSPORT_VIEW_HMS): | |||||
frame = pos.frame | frame = pos.frame | ||||
time = frame / self.m_sample_rate | |||||
time = frame / self_.m_sample_rate | |||||
secs = time % 60 | secs = time % 60 | ||||
mins = (time / 60) % 60 | mins = (time / 60) % 60 | ||||
hrs = (time / 3600) % 60 | hrs = (time / 3600) % 60 | ||||
self.label_time.setText("%02i:%02i:%02i" % (hrs, mins, secs)) | |||||
self_.label_time.setText("%02i:%02i:%02i" % (hrs, mins, secs)) | |||||
elif (self.m_selected_transport_view == TRANSPORT_VIEW_BBT): | |||||
elif (self_.m_selected_transport_view == TRANSPORT_VIEW_BBT): | |||||
if (pos.valid & jacklib.JackPositionBBT): | if (pos.valid & jacklib.JackPositionBBT): | ||||
bar = pos.bar | bar = pos.bar | ||||
beat = pos.beat | beat = pos.beat | ||||
@@ -227,83 +224,84 @@ def refreshTransport(self): | |||||
if (bar == 0): | if (bar == 0): | ||||
beat = 0 | beat = 0 | ||||
tick = 0 | tick = 0 | ||||
self.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick)) | |||||
self_.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick)) | |||||
else: | else: | ||||
self.label_time.setText("000|00|0000") | |||||
self_.label_time.setText("000|00|0000") | |||||
elif (self.m_selected_transport_view == TRANSPORT_VIEW_FRAMES): | |||||
elif (self_.m_selected_transport_view == TRANSPORT_VIEW_FRAMES): | |||||
frame = pos.frame | frame = pos.frame | ||||
frame1 = pos.frame % 1000 | frame1 = pos.frame % 1000 | ||||
frame2 = (pos.frame / 1000) % 1000 | frame2 = (pos.frame / 1000) % 1000 | ||||
frame3 = (pos.frame / 1000000) % 1000 | frame3 = (pos.frame / 1000000) % 1000 | ||||
self.label_time.setText("%03i'%03i'%03i" % (frame3, frame2, frame1)) | |||||
self_.label_time.setText("%03i'%03i'%03i" % (frame3, frame2, frame1)) | |||||
if (pos.valid & jacklib.JackPositionBBT): | if (pos.valid & jacklib.JackPositionBBT): | ||||
if (self.m_last_bpm != pos.beats_per_minute): | |||||
self.sb_bpm.setValue(pos.beats_per_minute) | |||||
self.sb_bpm.setStyleSheet("") | |||||
if (self_.m_last_bpm != pos.beats_per_minute): | |||||
self_.sb_bpm.setValue(pos.beats_per_minute) | |||||
self_.sb_bpm.setStyleSheet("") | |||||
else: | else: | ||||
pos.beats_per_minute = -1 | pos.beats_per_minute = -1 | ||||
if (self.m_last_bpm != pos.beats_per_minute): | |||||
self.sb_bpm.setStyleSheet("QDoubleSpinBox { color: palette(mid); }") | |||||
if (self_.m_last_bpm != pos.beats_per_minute): | |||||
self_.sb_bpm.setStyleSheet("QDoubleSpinBox { color: palette(mid); }") | |||||
self.m_last_bpm = pos.beats_per_minute | |||||
self_.m_last_bpm = pos.beats_per_minute | |||||
if (state != self.m_last_transport_state): | |||||
if (state != self_.m_last_transport_state): | |||||
if (state == jacklib.JackTransportStopped): | if (state == jacklib.JackTransportStopped): | ||||
icon = getIcon("media-playback-start") | icon = getIcon("media-playback-start") | ||||
self.act_transport_play.setChecked(False) | |||||
self.act_transport_play.setIcon(icon) | |||||
self.act_transport_play.setText(self.tr("&Play")) | |||||
self.b_transport_play.setChecked(False) | |||||
self.b_transport_play.setIcon(icon) | |||||
self_.act_transport_play.setChecked(False) | |||||
self_.act_transport_play.setIcon(icon) | |||||
self_.act_transport_play.setText(self_.tr("&Play")) | |||||
self_.b_transport_play.setChecked(False) | |||||
self_.b_transport_play.setIcon(icon) | |||||
else: | else: | ||||
icon = getIcon("media-playback-pause") | icon = getIcon("media-playback-pause") | ||||
self.act_transport_play.setChecked(True) | |||||
self.act_transport_play.setIcon(icon) | |||||
self.act_transport_play.setText(self.tr("&Pause")) | |||||
self.b_transport_play.setChecked(True) | |||||
self.b_transport_play.setIcon(icon) | |||||
self.m_last_transport_state = state | |||||
self_.act_transport_play.setChecked(True) | |||||
self_.act_transport_play.setIcon(icon) | |||||
self_.act_transport_play.setText(self_.tr("&Pause")) | |||||
self_.b_transport_play.setChecked(True) | |||||
self_.b_transport_play.setIcon(icon) | |||||
self_.m_last_transport_state = state | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# Set GUI stuff | # Set GUI stuff | ||||
def setBufferSize(self, buffer_size, forced=False): | |||||
if (self.m_buffer_size == buffer_size and not forced): | |||||
def setBufferSize(self_, buffer_size, forced=False): | |||||
if (self_.m_buffer_size == buffer_size and not forced): | |||||
return | return | ||||
self.m_buffer_size = buffer_size | |||||
self_.m_buffer_size = buffer_size | |||||
if (buffer_size): | if (buffer_size): | ||||
if (buffer_size == 16): | if (buffer_size == 16): | ||||
self.cb_buffer_size.setCurrentIndex(0) | |||||
self_.cb_buffer_size.setCurrentIndex(0) | |||||
elif (buffer_size == 32): | elif (buffer_size == 32): | ||||
self.cb_buffer_size.setCurrentIndex(1) | |||||
self_.cb_buffer_size.setCurrentIndex(1) | |||||
elif (buffer_size == 64): | elif (buffer_size == 64): | ||||
self.cb_buffer_size.setCurrentIndex(2) | |||||
self_.cb_buffer_size.setCurrentIndex(2) | |||||
elif (buffer_size == 128): | elif (buffer_size == 128): | ||||
self.cb_buffer_size.setCurrentIndex(3) | |||||
self_.cb_buffer_size.setCurrentIndex(3) | |||||
elif (buffer_size == 256): | elif (buffer_size == 256): | ||||
self.cb_buffer_size.setCurrentIndex(4) | |||||
self_.cb_buffer_size.setCurrentIndex(4) | |||||
elif (buffer_size == 512): | elif (buffer_size == 512): | ||||
self.cb_buffer_size.setCurrentIndex(5) | |||||
self_.cb_buffer_size.setCurrentIndex(5) | |||||
elif (buffer_size == 1024): | elif (buffer_size == 1024): | ||||
self.cb_buffer_size.setCurrentIndex(6) | |||||
self_.cb_buffer_size.setCurrentIndex(6) | |||||
elif (buffer_size == 2048): | elif (buffer_size == 2048): | ||||
self.cb_buffer_size.setCurrentIndex(7) | |||||
self_.cb_buffer_size.setCurrentIndex(7) | |||||
elif (buffer_size == 4096): | elif (buffer_size == 4096): | ||||
self.cb_buffer_size.setCurrentIndex(8) | |||||
self_.cb_buffer_size.setCurrentIndex(8) | |||||
elif (buffer_size == 8192): | elif (buffer_size == 8192): | ||||
self.cb_buffer_size.setCurrentIndex(9) | |||||
self_.cb_buffer_size.setCurrentIndex(9) | |||||
else: | else: | ||||
QMessageBox.warning(self, self.tr("Warning"), self.tr("Invalid JACK buffer-size requested: %i" % (buffer_size))) | |||||
QMessageBox.warning(self_, self_.tr("Warning"), self_.tr("Invalid JACK buffer-size requested: %i" % (buffer_size))) | |||||
if ("act_jack_bf_list" in dir(self)): | |||||
if ("act_jack_bf_list" in dir(self_)): | |||||
if (buffer_size): | if (buffer_size): | ||||
for act_bf in self.act_jack_bf_list: | |||||
for act_bf in self_.act_jack_bf_list: | |||||
act_bf.setEnabled(True) | act_bf.setEnabled(True) | ||||
if (act_bf.text().replace("&","") == str(buffer_size)): | if (act_bf.text().replace("&","") == str(buffer_size)): | ||||
if (act_bf.isChecked() == False): | |||||
if (not act_bf.isChecked()): | |||||
act_bf.setChecked(True) | act_bf.setChecked(True) | ||||
else: | else: | ||||
if (act_bf.isChecked()): | if (act_bf.isChecked()): | ||||
@@ -314,104 +312,104 @@ def setBufferSize(self, buffer_size, forced=False): | |||||
#if (self.act_jack_bf_list[i].isChecked()): | #if (self.act_jack_bf_list[i].isChecked()): | ||||
#self.act_jack_bf_list[i].setChecked(False) | #self.act_jack_bf_list[i].setChecked(False) | ||||
def setSampleRate(self, sample_rate, future=False): | |||||
if (self.m_sample_rate == sample_rate): | |||||
def setSampleRate(self_, sample_rate, future=False): | |||||
if (self_.m_sample_rate == sample_rate): | |||||
return | return | ||||
if (future): | if (future): | ||||
pass | pass | ||||
if (self.sender() == self.cb_sample_rate): # Changed using GUI | |||||
ask = QMessageBox.question(self, self.tr("Change Sample Rate"), self.tr("It's not possible to change Sample Rate while JACK is running.\n" | |||||
if (self_.sender() == self_.cb_sample_rate): # Changed using GUI | |||||
ask = QMessageBox.question(self_, self_.tr("Change Sample Rate"), self_.tr("It's not possible to change Sample Rate while JACK is running.\n" | |||||
"Do you want to change as soon as JACK stops?"), QMessageBox.Ok|QMessageBox.Cancel) | "Do you want to change as soon as JACK stops?"), QMessageBox.Ok|QMessageBox.Cancel) | ||||
if (ask == QMessageBox.Ok): | if (ask == QMessageBox.Ok): | ||||
self.m_next_sample_rate = sample_rate | |||||
self_.m_next_sample_rate = sample_rate | |||||
else: | else: | ||||
self.m_next_sample_rate = 0 | |||||
self_.m_next_sample_rate = 0 | |||||
# not future | # not future | ||||
else: | else: | ||||
self.m_sample_rate = sample_rate | |||||
self.m_next_sample_rate = 0 | |||||
self_.m_sample_rate = sample_rate | |||||
self_.m_next_sample_rate = 0 | |||||
for i in range(len(sample_rates)): | for i in range(len(sample_rates)): | ||||
sample_rate = sample_rates[i] | sample_rate = sample_rates[i] | ||||
sample_rate_str = str(sample_rate) | sample_rate_str = str(sample_rate) | ||||
self.cb_sample_rate.setItemText(i, sample_rate_str) | |||||
self_.cb_sample_rate.setItemText(i, sample_rate_str) | |||||
if (self.m_sample_rate == sample_rate): | |||||
self.cb_sample_rate.setCurrentIndex(i) | |||||
if (self_.m_sample_rate == sample_rate): | |||||
self_.cb_sample_rate.setCurrentIndex(i) | |||||
def setRealTime(self, realtime): | |||||
self.label_realtime.setText(" RT " if realtime else " <s>RT</s> ") | |||||
self.label_realtime.setEnabled(realtime) | |||||
def setRealTime(self_, realtime): | |||||
self_.label_realtime.setText(" RT " if realtime else " <s>RT</s> ") | |||||
self_.label_realtime.setEnabled(realtime) | |||||
def setDSPLoad(self, dsp_load): | |||||
self.pb_dsp_load.setValue(dsp_load) | |||||
def setDSPLoad(self_, dsp_load): | |||||
self_.pb_dsp_load.setValue(dsp_load) | |||||
def setXruns(self, xruns): | |||||
self.b_xruns.setText("%s Xrun%s" % (str(xruns) if (xruns >= 0) else "--", "" if (xruns == 1) else "s")) | |||||
def setXruns(self_, xruns): | |||||
self_.b_xruns.setText("%s Xrun%s" % (str(xruns) if (xruns >= 0) else "--", "" if (xruns == 1) else "s")) | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# External Dialogs | # External Dialogs | ||||
@pyqtSlot() | @pyqtSlot() | ||||
def slot_showJackSettings(self): | |||||
jacksettings.JackSettingsW(self).exec_() | |||||
def slot_showJackSettings(self_): | |||||
jacksettings.JackSettingsW(self_).exec_() | |||||
if (not jack.client): | if (not jack.client): | ||||
# Force update of gui widgets | # Force update of gui widgets | ||||
self.jackStopped() | |||||
self_.jackStopped() | |||||
@pyqtSlot() | @pyqtSlot() | ||||
def slot_showLogs(self): | |||||
logs.LogsW(self).show() | |||||
def slot_showLogs(self_): | |||||
logs.LogsW(self_).show() | |||||
@pyqtSlot() | @pyqtSlot() | ||||
def slot_showRender(self): | |||||
render.RenderW(self).exec_() | |||||
def slot_showRender(self_): | |||||
render.RenderW(self_).exec_() | |||||
# ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
# Shared Connections | # Shared Connections | ||||
def setJackConnections(self, modes): | |||||
def setJackConnections(self_, modes): | |||||
pass | pass | ||||
if ("jack" in modes): | if ("jack" in modes): | ||||
self.connect(self.act_jack_clear_xruns, SIGNAL("triggered()"), SLOT("slot_JackClearXruns()")) | |||||
self.connect(self.act_jack_render, SIGNAL("triggered()"), lambda: slot_showRender(self)) | |||||
self.connect(self.act_jack_configure, SIGNAL("triggered()"), lambda: slot_showJackSettings(self)) | |||||
self.connect(self.b_jack_clear_xruns, SIGNAL("clicked()"), SLOT("slot_JackClearXruns()")) | |||||
self.connect(self.b_jack_configure, SIGNAL("clicked()"), lambda: slot_showJackSettings(self)) | |||||
self.connect(self.b_jack_render, SIGNAL("clicked()"), lambda: slot_showRender(self)) | |||||
self.connect(self.cb_buffer_size, SIGNAL("currentIndexChanged(QString)"), lambda: slot_jackBufferSize_ComboBox(self, self.cb_buffer_size.currentText())) | |||||
self.connect(self.cb_sample_rate, SIGNAL("currentIndexChanged(QString)"), lambda: slot_jackSampleRate_ComboBox(self, self.cb_sample_rate.currentText())) | |||||
self.connect(self.b_xruns, SIGNAL("clicked()"), SLOT("slot_JackClearXruns()")) | |||||
self_.connect(self_.act_jack_clear_xruns, SIGNAL("triggered()"), SLOT("slot_JackClearXruns()")) | |||||
self_.connect(self_.act_jack_render, SIGNAL("triggered()"), lambda: slot_showRender(self_)) | |||||
self_.connect(self_.act_jack_configure, SIGNAL("triggered()"), lambda: slot_showJackSettings(self_)) | |||||
self_.connect(self_.b_jack_clear_xruns, SIGNAL("clicked()"), SLOT("slot_JackClearXruns()")) | |||||
self_.connect(self_.b_jack_configure, SIGNAL("clicked()"), lambda: slot_showJackSettings(self_)) | |||||
self_.connect(self_.b_jack_render, SIGNAL("clicked()"), lambda: slot_showRender(self_)) | |||||
self_.connect(self_.cb_buffer_size, SIGNAL("currentIndexChanged(QString)"), lambda: slot_jackBufferSize_ComboBox(self_, self_.cb_buffer_size.currentText())) | |||||
self_.connect(self_.cb_sample_rate, SIGNAL("currentIndexChanged(QString)"), lambda: slot_jackSampleRate_ComboBox(self_, self_.cb_sample_rate.currentText())) | |||||
self_.connect(self_.b_xruns, SIGNAL("clicked()"), SLOT("slot_JackClearXruns()")) | |||||
if ("buffer-size" in modes): | if ("buffer-size" in modes): | ||||
self.connect(self.act_jack_bf_16, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 16)) | |||||
self.connect(self.act_jack_bf_32, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 32)) | |||||
self.connect(self.act_jack_bf_64, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 64)) | |||||
self.connect(self.act_jack_bf_128, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 128)) | |||||
self.connect(self.act_jack_bf_256, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 256)) | |||||
self.connect(self.act_jack_bf_512, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 512)) | |||||
self.connect(self.act_jack_bf_1024, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 1024)) | |||||
self.connect(self.act_jack_bf_2048, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 2048)) | |||||
self.connect(self.act_jack_bf_4096, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 4096)) | |||||
self.connect(self.act_jack_bf_8192, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self, 8192)) | |||||
self_.connect(self_.act_jack_bf_16, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 16)) | |||||
self_.connect(self_.act_jack_bf_32, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 32)) | |||||
self_.connect(self_.act_jack_bf_64, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 64)) | |||||
self_.connect(self_.act_jack_bf_128, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 128)) | |||||
self_.connect(self_.act_jack_bf_256, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 256)) | |||||
self_.connect(self_.act_jack_bf_512, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 512)) | |||||
self_.connect(self_.act_jack_bf_1024, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 1024)) | |||||
self_.connect(self_.act_jack_bf_2048, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 2048)) | |||||
self_.connect(self_.act_jack_bf_4096, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 4096)) | |||||
self_.connect(self_.act_jack_bf_8192, SIGNAL("triggered(bool)"), lambda: slot_jackBufferSize_Menu(self_, 8192)) | |||||
if ("transport" in modes): | if ("transport" in modes): | ||||
self.connect(self.act_transport_play, SIGNAL("triggered(bool)"), lambda: slot_transportPlayPause(self, self.act_transport_play.isChecked())) | |||||
self.connect(self.act_transport_stop, SIGNAL("triggered()"), lambda: slot_transportStop(self)) | |||||
self.connect(self.act_transport_backwards, SIGNAL("triggered()"), lambda: slot_transportBackwards(self)) | |||||
self.connect(self.act_transport_forwards, SIGNAL("triggered()"), lambda: slot_transportForwards(self)) | |||||
self.connect(self.b_transport_play, SIGNAL("clicked(bool)"), lambda: slot_transportPlayPause(self, self.b_transport_play.isChecked())) | |||||
self.connect(self.b_transport_stop, SIGNAL("clicked()"), lambda: slot_transportStop(self)) | |||||
self.connect(self.b_transport_backwards, SIGNAL("clicked()"), lambda: slot_transportBackwards(self)) | |||||
self.connect(self.b_transport_forwards, SIGNAL("clicked()"), lambda: slot_transportForwards(self)) | |||||
self.connect(self.label_time, SIGNAL("customContextMenuRequested(QPoint)"), lambda: slot_transportViewMenu(self)) | |||||
self_.connect(self_.act_transport_play, SIGNAL("triggered(bool)"), lambda: slot_transportPlayPause(self_, self_.act_transport_play.isChecked())) | |||||
self_.connect(self_.act_transport_stop, SIGNAL("triggered()"), lambda: slot_transportStop(self_)) | |||||
self_.connect(self_.act_transport_backwards, SIGNAL("triggered()"), lambda: slot_transportBackwards()) | |||||
self_.connect(self_.act_transport_forwards, SIGNAL("triggered()"), lambda: slot_transportForwards()) | |||||
self_.connect(self_.b_transport_play, SIGNAL("clicked(bool)"), lambda: slot_transportPlayPause(self_, self_.b_transport_play.isChecked())) | |||||
self_.connect(self_.b_transport_stop, SIGNAL("clicked()"), lambda: slot_transportStop(self_)) | |||||
self_.connect(self_.b_transport_backwards, SIGNAL("clicked()"), lambda: slot_transportBackwards()) | |||||
self_.connect(self_.b_transport_forwards, SIGNAL("clicked()"), lambda: slot_transportForwards()) | |||||
self_.connect(self_.label_time, SIGNAL("customContextMenuRequested(QPoint)"), lambda: slot_transportViewMenu(self_)) | |||||
if ("misc" in modes): | if ("misc" in modes): | ||||
if (LINUX): | if (LINUX): | ||||
self.connect(self.act_show_logs, SIGNAL("triggered()"), lambda: slot_showLogs(self)) | |||||
self_.connect(self_.act_show_logs, SIGNAL("triggered()"), lambda: slot_showLogs(self_)) | |||||
else: | else: | ||||
self.act_show_logs.setEnabled(False) | |||||
self_.act_show_logs.setEnabled(False) |
@@ -52,7 +52,7 @@ def setDefaultProjectFolder(folder): | |||||
# Settings Dialog | # Settings Dialog | ||||
class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | ||||
def __init__(self, parent, appName, hasGL): | |||||
def __init__(self, parent, appName, hasOpenGL): | |||||
QDialog.__init__(self, parent) | QDialog.__init__(self, parent) | ||||
self.setupUi(self) | self.setupUi(self) | ||||
@@ -84,7 +84,7 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | |||||
self.settings = self.parent().settings | self.settings = self.parent().settings | ||||
self.loadSettings() | self.loadSettings() | ||||
if not hasGL: | |||||
if (not hasOpenGL): | |||||
self.cb_canvas_use_opengl.setChecked(False) | self.cb_canvas_use_opengl.setChecked(False) | ||||
self.cb_canvas_use_opengl.setEnabled(False) | self.cb_canvas_use_opengl.setEnabled(False) | ||||
@@ -1416,5 +1416,37 @@ | |||||
</hint> | </hint> | ||||
</hints> | </hints> | ||||
</connection> | </connection> | ||||
<connection> | |||||
<sender>act_settings_show_toolbar</sender> | |||||
<signal>triggered(bool)</signal> | |||||
<receiver>frame_toolbar</receiver> | |||||
<slot>setEnabled(bool)</slot> | |||||
<hints> | |||||
<hint type="sourcelabel"> | |||||
<x>-1</x> | |||||
<y>-1</y> | |||||
</hint> | |||||
<hint type="destinationlabel"> | |||||
<x>438</x> | |||||
<y>52</y> | |||||
</hint> | |||||
</hints> | |||||
</connection> | |||||
<connection> | |||||
<sender>act_settings_show_statusbar</sender> | |||||
<signal>triggered(bool)</signal> | |||||
<receiver>frame_statusbar</receiver> | |||||
<slot>setEnabled(bool)</slot> | |||||
<hints> | |||||
<hint type="sourcelabel"> | |||||
<x>-1</x> | |||||
<y>-1</y> | |||||
</hint> | |||||
<hint type="destinationlabel"> | |||||
<x>438</x> | |||||
<y>546</y> | |||||
</hint> | |||||
</hints> | |||||
</connection> | |||||
</connections> | </connections> | ||||
</ui> | </ui> |
@@ -591,7 +591,7 @@ if __name__ == '__main__': | |||||
# Start jack | # Start jack | ||||
jack_status = jacklib.jack_status_t(0) | jack_status = jacklib.jack_status_t(0) | ||||
jack_client = jacklib.client_open_uuid("XY-Controller", jacklib.JackSessionID, jacklib.pointer(jack_status), "") | |||||
jack_client = jacklib.client_open("XY-Controller", jacklib.JackSessionID, jacklib.pointer(jack_status)) | |||||
if not jack_client: | if not jack_client: | ||||
QMessageBox.critical(None, app.translate("XYControllerW", "Error"), app.translate("XYControllerW", "Could not connect to JACK, possible errors:\n%s" % (get_jack_status_error_string(jack_status)))) | QMessageBox.critical(None, app.translate("XYControllerW", "Error"), app.translate("XYControllerW", "Could not connect to JACK, possible errors:\n%s" % (get_jack_status_error_string(jack_status)))) | ||||