diff --git a/src/catarina.py b/src/catarina.py
index 283c891..84e2bd4 100755
--- a/src/catarina.py
+++ b/src/catarina.py
@@ -22,7 +22,7 @@ from PyQt4.QtGui import QApplication, QDialog, QDialogButtonBox, QMainWindow, QT
from PyQt4.QtXml import QDomDocument
# Imports (Custom Stuff)
-import ui_catarina, icons_rc
+import ui_catarina
import ui_catarina_addgroup, ui_catarina_removegroup, ui_catarina_renamegroup
import ui_catarina_addport, ui_catarina_removeport, ui_catarina_renameport
import ui_catarina_connectports, ui_catarina_disconnectports
@@ -808,21 +808,18 @@ class CatarinaMainW(QMainWindow, ui_catarina.Ui_CatarinaMainW):
content += "\n"
try:
- if (open(path, "w").write(content) == False):
- raiseError
+ open(path, "w").write(content)
except:
QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to save file"))
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)))
self.m_save_path = None
return
try:
read = open(path, "r").read()
- if (not read):
- raiseError
except:
QMessageBox.critical(self, self.tr("Error"), self.tr("Failed to load file"))
self.m_save_path = None
diff --git a/src/catia.py b/src/catia.py
index f934708..18754b9 100755
--- a/src/catia.py
+++ b/src/catia.py
@@ -39,6 +39,9 @@ try:
except:
haveDBus = False
+global a2j_client_name
+a2j_client_name = None
+
iGroupId = 0
iGroupName = 1
@@ -276,6 +279,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
QMessageBox.information(self, self.tr("Port Information"), info)
elif (action == patchcanvas.ACTION_PORT_RENAME):
+ global a2j_client_name
+
port_id = value1
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.on_shutdown(jack.client, self.JackShutdownCallback, None)
- if (JACK2):
+ if (jacklib.JACK2):
jacklib.set_port_rename_callback(jack.client, self.JackPortRenameCallback, None)
def init_ports(self):
@@ -405,6 +410,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
a2j_name_list = []
port_name_list = c_char_p_p_to_list(jacklib.get_ports(jack.client, "", "", 0))
+ global a2j_client_name
+
h = 0
for i in range(len(port_name_list)):
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
- import hashlib
-
# Add ports
for port_name in port_name_list:
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))
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)
def canvas_add_group(self, group_name):
@@ -465,6 +469,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
patchcanvas.removeGroup(group_id)
def canvas_add_port(self, port_ptr, port_name):
+ global a2j_client_name
+
port_id = self.m_last_port_id
group_id = -1
@@ -489,13 +495,11 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
port_mode = patchcanvas.PORT_MODE_NULL
if (group_name == a2j_client_name):
- haveA2J = True
port_type = patchcanvas.PORT_TYPE_MIDI_A2J
group_name = port_name.replace("%s:" % (a2j_client_name), "", 1).split(" [", 1)[0]
port_short_name = port_name.split("): ", 1)[1]
else:
- haveA2J = False
port_short_name = port_name.replace("%s:" % (group_name), "", 1)
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):
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):
return self.jackStopped()
@@ -719,6 +723,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
self.a2jStopped()
def DBusReconnect(self):
+ global a2j_client_name
+
try:
DBus.jack = DBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
jacksettings.initBus(DBus.bus)
@@ -902,6 +908,8 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):
@pyqtSlot()
def slot_handleCrash_a2j(self):
+ global a2j_client_name
+
try:
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())
diff --git a/src/claudia.py b/src/claudia.py
index 6333413..3b8c681 100755
--- a/src/claudia.py
+++ b/src/claudia.py
@@ -307,7 +307,7 @@ class ProjectNameW(QDialog, ui_claudia_projectname.Ui_ProjectNameW):
def slot_checkFolder(self):
# Create default project folder if the project has not been set yet
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)
if (self.le_path.text()):
@@ -405,7 +405,7 @@ class RunCustomW(QDialog, ui_claudia_runcustom.Ui_RunCustomW):
else:
self.rb_level_0.setChecked(True)
- if (isRoom == False):
+ if (not isRoom):
self.rb_level_lash.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_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:
number, name, active, terminal, level = app
@@ -882,7 +882,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
text += "L"
text += level.upper()
text += "] "
- if (active == False):
+ if (not active):
text += "(inactive) "
text += name
@@ -918,7 +918,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
text += "L"
text += level.upper()
text += "] "
- if (active == False):
+ if (not active):
text += "(inactive) "
text += name
@@ -976,7 +976,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
# Remove old unused item if needed
iItem = self.treeWidget.topLevelItem(room_index)
- if (iItem and iItem.isVisible() == False):
+ if (iItem and not iItem.isVisible()):
self.treeWidget.takeTopLevelItem(room_index)
# Insert padding of items if needed
@@ -989,12 +989,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
graph_version, project_properties = room_project_properties
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:
- project_path = None
- project_name = None
item_string = ""
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):
for j in range(item.childCount()):
- top_level_item.takeChild(j)
+ item.takeChild(j)
self.treeWidget.takeTopLevelItem(i)
break
@@ -2083,7 +2079,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
text += "L"
text += level.upper()
text += "] "
- if (active == False):
+ if (not active):
text += "(inactive) "
text += name
@@ -2137,7 +2133,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
text += "L"
text += level.upper()
text += "] "
- if (active == False):
+ if (not active):
text += "(inactive) "
text += name
@@ -2266,8 +2262,8 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):
def saveSettings(self):
self.settings.setValue("Geometry", self.saveGeometry())
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("HorizontalScrollBarValue", self.graphicsView.horizontalScrollBar().value())
self.settings.setValue("VerticalScrollBarValue", self.graphicsView.verticalScrollBar().value())
diff --git a/src/digitalpeakmeter.py b/src/digitalpeakmeter.py
index dbc945d..b9811ea 100644
--- a/src/digitalpeakmeter.py
+++ b/src/digitalpeakmeter.py
@@ -224,6 +224,8 @@ class DigitalPeakMeter(QWidget):
painter.setPen(QColor(110, 15, 15, 100))
painter.drawLine(1, lsmall-(lsmall/1.04), lfull, lsmall-(lsmall/1.04))
+ QWidget.paintEvent(self, event)
+
def resizeEvent(self, event):
self.updateSizes()
QWidget.resizeEvent(self, event)
diff --git a/src/jacklib.py b/src/jacklib.py
index 1376f72..f91f9c1 100644
--- a/src/jacklib.py
+++ b/src/jacklib.py
@@ -31,6 +31,15 @@ try:
except:
jacklib = None
+# JACK2 test
+try:
+ if (jacklib and jacklib.jack_get_version_string):
+ JACK2 = True
+ else:
+ JACK2 = False
+except:
+ JACK2 = False
+
# ---------------------------------------------------------------------------------------------------------------------
# Pre-definitions
@@ -250,326 +259,449 @@ JackSessionCallback = CFUNCTYPE(None, jack_session_event_t, c_void_p)
# ---------------------------------------------------------------------------------------------------------------------
# Functions
-def get_version_string(): # JACK2 only
+if (JACK2):
jacklib.jack_get_version_string.argtypes = None
jacklib.jack_get_version_string.restype = c_char_p
- return jacklib.jack_get_version_string()
-def client_open(client_name, options, status):
- jacklib.jack_client_open.argtypes = [c_char_p, jack_options_t, POINTER(jack_status_t)]
- jacklib.jack_client_open.restype = POINTER(jack_client_t)
- return jacklib.jack_client_open(client_name.encode("ascii"), options, status)
+jacklib.jack_client_open.argtypes = [c_char_p, jack_options_t, POINTER(jack_status_t), c_char_p]
+jacklib.jack_client_open.restype = POINTER(jack_client_t)
+
+jacklib.jack_client_new.argtypes = [c_char_p]
+jacklib.jack_client_new.restype = POINTER(jack_client_t)
+
+jacklib.jack_client_close.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_client_close.restype = c_int
+
+jacklib.jack_client_name_size.argtypes = None
+jacklib.jack_client_name_size.restype = c_int
+
+jacklib.jack_get_client_name.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_get_client_name.restype = c_char_p
+
+jacklib.jack_internal_client_new.argtypes = [c_char_p, c_char_p, c_char_p]
+jacklib.jack_internal_client_new.restype = c_int
+
+jacklib.jack_internal_client_close.argtypes = [c_char_p]
+jacklib.jack_internal_client_close.restype = None
+
+jacklib.jack_activate.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_activate.restype = c_int
+
+jacklib.jack_deactivate.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_deactivate.restype = c_int
+
+if (JACK2):
+ jacklib.jack_get_client_pid.argtypes = [c_char_p]
+ jacklib.jack_get_client_pid.restype = c_int
+
+jacklib.jack_client_thread_id.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_client_thread_id.restype = jack_native_thread_t
+
+jacklib.jack_is_realtime.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_is_realtime.restype = c_int
+
+def get_version_string(): # JACK2 only
+ return jacklib.jack_get_version_string()
-def client_open_uuid(client_name, options, status, uuid): # Extra function for jack-session support
- jacklib.jack_client_open.argtypes = [c_char_p, jack_options_t, POINTER(jack_status_t), c_char_p]
- jacklib.jack_client_open.restype = POINTER(jack_client_t)
+def client_open(client_name, options, status, uuid=""):
return jacklib.jack_client_open(client_name.encode("ascii"), options, status, uuid.encode("ascii"))
def client_new(client_name):
- jacklib.jack_client_new.argtypes = [c_char_p]
- jacklib.jack_client_new.restype = POINTER(jack_client_t)
return jacklib.jack_client_new(client_name.encode("ascii"))
def client_close(client):
- jacklib.jack_client_close.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_client_close.restype = c_int
return jacklib.jack_client_close(client)
def client_name_size():
- jacklib.jack_client_name_size.argtypes = None
- jacklib.jack_client_name_size.restype = c_int
return jacklib.jack_client_name_size()
def get_client_name(client):
- jacklib.jack_get_client_name.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_get_client_name.restype = c_char_p
return jacklib.jack_get_client_name(client)
def internal_client_new(client_name, load_name, load_init):
- jacklib.jack_internal_client_new.argtypes = [c_char_p, c_char_p, c_char_p]
- jacklib.jack_internal_client_new.restype = c_int
return jacklib.jack_internal_client_new(client_name.encode("ascii"), load_name.encode("ascii"), load_init.encode("ascii"))
def internal_client_close(client_name):
- jacklib.jack_internal_client_close.argtypes = [c_char_p]
- jacklib.jack_internal_client_close.restype = None
jacklib.jack_internal_client_close(client_name.encode("ascii"))
def activate(client):
- jacklib.jack_activate.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_activate.restype = c_int
return jacklib.jack_activate(client)
def deactivate(client):
- jacklib.jack_deactivate.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_deactivate.restype = c_int
return jacklib.jack_deactivate(client)
def get_client_pid(name): # JACK2 only
- jacklib.jack_get_client_pid.argtypes = [c_char_p]
- jacklib.jack_get_client_pid.restype = c_int
return jacklib.jack_get_client_pid(name.encode("ascii"))
def client_thread_id(client):
- jacklib.jack_client_thread_id.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_client_thread_id.restype = jack_native_thread_t
return jacklib.jack_client_thread_id(client)
def is_realtime(client):
- jacklib.jack_is_realtime.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_is_realtime.restype = c_int
return jacklib.jack_is_realtime(client)
# Non Callback API
+global _thread_callback
+
+_thread_callback = None
+
+jacklib.jack_thread_wait.argtypes = [POINTER(jack_client_t), c_int]
+jacklib.jack_thread_wait.restype = jack_nframes_t
+
+jacklib.jack_cycle_wait.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_cycle_wait.restype = jack_nframes_t
+
+jacklib.jack_cycle_signal.argtypes = [POINTER(jack_client_t), c_int]
+jacklib.jack_cycle_signal.restype = None
+
+jacklib.jack_set_process_thread.argtypes = [POINTER(jack_client_t), JackThreadCallback, c_void_p]
+jacklib.jack_set_process_thread.restype = c_int
+
def thread_wait(client, status):
- jacklib.jack_thread_wait.argtypes = [POINTER(jack_client_t), c_int]
- jacklib.jack_thread_wait.restype = jack_nframes_t
return jacklib.jack_thread_wait(client, status)
def cycle_wait(client):
- jacklib.jack_cycle_wait.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_cycle_wait.restype = jack_nframes_t
return jacklib.jack_cycle_wait(client)
def cycle_signal(client, status):
- jacklib.jack_cycle_signal.argtypes = [POINTER(jack_client_t), c_int]
- jacklib.jack_cycle_signal.restype = None
jacklib.jack_cycle_signal(client, status)
def set_process_thread(client, thread_callback, arg):
global _thread_callback
_thread_callback = JackThreadCallback(thread_callback)
- jacklib.jack_set_process_thread.argtypes = [POINTER(jack_client_t), JackThreadCallback, c_void_p]
- jacklib.jack_set_process_thread.restype = c_int
return jacklib.jack_set_process_thread(client, _thread_callback, arg)
# Client Callbacks
+global _thread_init_callback
+global _shutdown_callback
+global _info_shutdown_callback
+global _process_callback
+global _freewheel_callback
+global _bufsize_callback
+global _srate_callback
+global _client_registration_callback
+global _port_registration_callback
+global _connect_callback
+global _rename_callback
+global _graph_callback
+global _xrun_callback
+global _latency_callback
+
+_thread_init_callback = _shutdown_callback = _info_shutdown_callback = None
+_process_callback = _freewheel_callback = _bufsize_callback = _srate_callback = None
+_client_registration_callback = _port_registration_callback = _connect_callback = _rename_callback = None
+_graph_callback = _xrun_callback = _latency_callback = None
+
+jacklib.jack_set_thread_init_callback.argtypes = [POINTER(jack_client_t), JackThreadInitCallback, c_void_p]
+jacklib.jack_set_thread_init_callback.restype = c_int
+
+jacklib.jack_on_shutdown.argtypes = [POINTER(jack_client_t), JackShutdownCallback, c_void_p]
+jacklib.jack_on_shutdown.restype = None
+
+try: # JACK_WEAK_EXPORT
+ jacklib.jack_on_info_shutdown.argtypes = [POINTER(jack_client_t), JackInfoShutdownCallback, c_void_p]
+ jacklib.jack_on_info_shutdown.restype = None
+except:
+ jacklib.jack_on_info_shutdown = None
+
+jacklib.jack_set_process_callback.argtypes = [POINTER(jack_client_t), JackProcessCallback, c_void_p]
+jacklib.jack_set_process_callback.restype = c_int
+
+jacklib.jack_set_freewheel_callback.argtypes = [POINTER(jack_client_t), JackFreewheelCallback, c_void_p]
+jacklib.jack_set_freewheel_callback.restype = c_int
+
+jacklib.jack_set_buffer_size_callback.argtypes = [POINTER(jack_client_t), JackBufferSizeCallback, c_void_p]
+jacklib.jack_set_buffer_size_callback.restype = c_int
+
+jacklib.jack_set_sample_rate_callback.argtypes = [POINTER(jack_client_t), JackSampleRateCallback, c_void_p]
+jacklib.jack_set_sample_rate_callback.restype = c_int
+
+jacklib.jack_set_client_registration_callback.argtypes = [POINTER(jack_client_t), JackClientRegistrationCallback, c_void_p]
+jacklib.jack_set_client_registration_callback.restype = c_int
+
+jacklib.jack_set_port_registration_callback.argtypes = [POINTER(jack_client_t), JackPortRegistrationCallback, c_void_p]
+jacklib.jack_set_port_registration_callback.restype = c_int
+
+jacklib.jack_set_port_connect_callback.argtypes = [POINTER(jack_client_t), JackPortConnectCallback, c_void_p]
+jacklib.jack_set_port_connect_callback.restype = c_int
+
+if (JACK2):
+ jacklib.jack_set_port_rename_callback.argtypes = [POINTER(jack_client_t), JackPortRenameCallback, c_void_p]
+ jacklib.jack_set_port_rename_callback.restype = c_int
+
+jacklib.jack_set_graph_order_callback.argtypes = [POINTER(jack_client_t), JackGraphOrderCallback, c_void_p]
+jacklib.jack_set_graph_order_callback.restype = c_int
+
+jacklib.jack_set_xrun_callback.argtypes = [POINTER(jack_client_t), JackXRunCallback, c_void_p]
+jacklib.jack_set_xrun_callback.restype = c_int
+
+try: # JACK_WEAK_EXPORT
+ jacklib.jack_set_latency_callback.argtypes = [POINTER(jack_client_t), JackLatencyCallback, c_void_p]
+ jacklib.jack_set_latency_callback.restype = c_int
+except:
+ jacklib.jack_set_latency_callback = None
+
def set_thread_init_callback(client, thread_init_callback, arg):
global _thread_init_callback
_thread_init_callback = JackThreadInitCallback(thread_init_callback)
- jacklib.jack_set_thread_init_callback.argtypes = [POINTER(jack_client_t), JackThreadInitCallback, c_void_p]
- jacklib.jack_set_thread_init_callback.restype = c_int
return jacklib.jack_set_thread_init_callback(client, _thread_init_callback, arg)
def on_shutdown(client, shutdown_callback, arg):
global _shutdown_callback
_shutdown_callback = JackShutdownCallback(shutdown_callback)
- jacklib.jack_on_shutdown.argtypes = [POINTER(jack_client_t), JackShutdownCallback, c_void_p]
- jacklib.jack_on_shutdown.restype = None
jacklib.jack_on_shutdown(client, _shutdown_callback, arg)
-def on_info_shutdown(client, info_shutdown_callback, arg):
- global _info_shutdown_callback
- _info_shutdown_callback = JackInfoShutdownCallback(info_shutdown_callback)
- jacklib.jack_on_info_shutdown.argtypes = [POINTER(jack_client_t), JackInfoShutdownCallback, c_void_p]
- jacklib.jack_on_info_shutdown.restype = None
- jacklib.jack_on_info_shutdown(client, _info_shutdown_callback, arg)
+def on_info_shutdown(client, info_shutdown_callback, arg): # JACK_WEAK_EXPORT
+ if (jacklib.jack_on_info_shutdown):
+ global _info_shutdown_callback
+ _info_shutdown_callback = JackInfoShutdownCallback(info_shutdown_callback)
+ jacklib.jack_on_info_shutdown(client, _info_shutdown_callback, arg)
def set_process_callback(client, process_callback, arg):
global _process_callback
_process_callback = JackProcessCallback(process_callback)
- jacklib.jack_set_process_callback.argtypes = [POINTER(jack_client_t), JackProcessCallback, c_void_p]
- jacklib.jack_set_process_callback.restype = c_int
return jacklib.jack_set_process_callback(client, _process_callback, arg)
def set_freewheel_callback(client, freewheel_callback, arg):
global _freewheel_callback
_freewheel_callback = JackFreewheelCallback(freewheel_callback)
- jacklib.jack_set_freewheel_callback.argtypes = [POINTER(jack_client_t), JackFreewheelCallback, c_void_p]
- jacklib.jack_set_freewheel_callback.restype = c_int
return jacklib.jack_set_freewheel_callback(client, _freewheel_callback, arg)
def set_buffer_size_callback(client, bufsize_callback, arg):
global _bufsize_callback
_bufsize_callback = JackBufferSizeCallback(bufsize_callback)
- jacklib.jack_set_buffer_size_callback.argtypes = [POINTER(jack_client_t), JackBufferSizeCallback, c_void_p]
- jacklib.jack_set_buffer_size_callback.restype = c_int
return jacklib.jack_set_buffer_size_callback(client, _bufsize_callback, arg)
def set_sample_rate_callback(client, srate_callback, arg):
global _srate_callback
_srate_callback = JackSampleRateCallback(srate_callback)
- jacklib.jack_set_sample_rate_callback.argtypes = [POINTER(jack_client_t), JackSampleRateCallback, c_void_p]
- jacklib.jack_set_sample_rate_callback.restype = c_int
return jacklib.jack_set_sample_rate_callback(client, _srate_callback, arg)
def set_client_registration_callback(client, client_registration_callback, arg):
global _client_registration_callback
_client_registration_callback = JackClientRegistrationCallback(client_registration_callback)
- jacklib.jack_set_client_registration_callback.argtypes = [POINTER(jack_client_t), JackClientRegistrationCallback, c_void_p]
- jacklib.jack_set_client_registration_callback.restype = c_int
return jacklib.jack_set_client_registration_callback(client, _client_registration_callback, arg)
def set_port_registration_callback(client, port_registration_callback, arg):
global _port_registration_callback
_port_registration_callback = JackPortRegistrationCallback(port_registration_callback)
- jacklib.jack_set_port_registration_callback.argtypes = [POINTER(jack_client_t), JackPortRegistrationCallback, c_void_p]
- jacklib.jack_set_port_registration_callback.restype = c_int
return jacklib.jack_set_port_registration_callback(client, _port_registration_callback, arg)
def set_port_connect_callback(client, connect_callback, arg):
global _connect_callback
_connect_callback = JackPortConnectCallback(connect_callback)
- jacklib.jack_set_port_connect_callback.argtypes = [POINTER(jack_client_t), JackPortConnectCallback, c_void_p]
- jacklib.jack_set_port_connect_callback.restype = c_int
return jacklib.jack_set_port_connect_callback(client, _connect_callback, arg)
def set_port_rename_callback(client, rename_callback, arg): # JACK2 only
global _rename_callback
_rename_callback = JackPortRenameCallback(rename_callback)
- jacklib.jack_set_port_rename_callback.argtypes = [POINTER(jack_client_t), JackPortRenameCallback, c_void_p]
- jacklib.jack_set_port_rename_callback.restype = c_int
return jacklib.jack_set_port_rename_callback(client, _rename_callback, arg)
def set_graph_order_callback(client, graph_callback, arg):
global _graph_callback
_graph_callback = JackGraphOrderCallback(graph_callback)
- jacklib.jack_set_graph_order_callback.argtypes = [POINTER(jack_client_t), JackGraphOrderCallback, c_void_p]
- jacklib.jack_set_graph_order_callback.restype = c_int
return jacklib.jack_set_graph_order_callback(client, _graph_callback, arg)
def set_xrun_callback(client, xrun_callback, arg):
global _xrun_callback
_xrun_callback = JackXRunCallback(xrun_callback)
- jacklib.jack_set_xrun_callback.argtypes = [POINTER(jack_client_t), JackXRunCallback, c_void_p]
- jacklib.jack_set_xrun_callback.restype = c_int
return jacklib.jack_set_xrun_callback(client, _xrun_callback, arg)
-def set_latency_callback(client, latency_callback, arg):
- global _latency_callback
- _latency_callback = JackLatencyCallback(latency_callback)
- jacklib.jack_set_latency_callback.argtypes = [POINTER(jack_client_t), JackLatencyCallback, c_void_p]
- jacklib.jack_set_latency_callback.restype = c_int
- return jacklib.jack_set_latency_callback(client, _latency_callback, arg)
+def set_latency_callback(client, latency_callback, arg): # JACK_WEAK_EXPORT
+ if (jacklib.jack_set_latency_callback):
+ global _latency_callback
+ _latency_callback = JackLatencyCallback(latency_callback)
+ return jacklib.jack_set_latency_callback(client, _latency_callback, arg)
+ return -1
# Server Control
+jacklib.jack_set_freewheel.argtypes = [POINTER(jack_client_t), c_int]
+jacklib.jack_set_freewheel.restype = c_int
+
+jacklib.jack_set_buffer_size.argtypes = [POINTER(jack_client_t), jack_nframes_t]
+jacklib.jack_set_buffer_size.restype = c_int
+
+jacklib.jack_get_sample_rate.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_get_sample_rate.restype = jack_nframes_t
+
+jacklib.jack_get_buffer_size.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_get_buffer_size.restype = jack_nframes_t
+
+jacklib.jack_engine_takeover_timebase.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_engine_takeover_timebase.restype = c_int
+
+jacklib.jack_cpu_load.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_cpu_load.restype = c_float
+
def set_freewheel(client, onoff):
- jacklib.jack_set_freewheel.argtypes = [POINTER(jack_client_t), c_int]
- jacklib.jack_set_freewheel.restype = c_int
return jacklib.jack_set_freewheel(client, onoff)
def set_buffer_size(client, nframes):
- jacklib.jack_set_buffer_size.argtypes = [POINTER(jack_client_t), jack_nframes_t]
- jacklib.jack_set_buffer_size.restype = c_int
return jacklib.jack_set_buffer_size(client, nframes)
def get_sample_rate(client):
- jacklib.jack_get_sample_rate.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_get_sample_rate.restype = jack_nframes_t
return jacklib.jack_get_sample_rate(client)
def get_buffer_size(client):
- jacklib.jack_get_buffer_size.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_get_buffer_size.restype = jack_nframes_t
return jacklib.jack_get_buffer_size(client)
def engine_takeover_timebase(client):
- jacklib.jack_engine_takeover_timebase.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_engine_takeover_timebase.restype = c_int
return jacklib.jack_engine_takeover_timebase(client)
def cpu_load(client):
- jacklib.jack_cpu_load.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_cpu_load.restype = c_float
return jacklib.jack_cpu_load(client)
# Port Functions
+jacklib.jack_port_register.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p, c_ulong, c_ulong]
+jacklib.jack_port_register.restype = POINTER(jack_port_t)
+
+jacklib.jack_port_unregister.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_port_unregister.restype = c_int
+
+jacklib.jack_port_get_buffer.argtypes = [POINTER(jack_port_t), jack_nframes_t]
+jacklib.jack_port_get_buffer.restype = c_void_p
+
+jacklib.jack_port_name.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_name.restype = c_char_p
+
+jacklib.jack_port_short_name.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_short_name.restype = c_char_p
+
+jacklib.jack_port_flags.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_flags.restype = c_int
+
+jacklib.jack_port_type.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_type.restype = c_char_p
+
+if (JACK2):
+ jacklib.jack_port_type_id.argtypes = [POINTER(jack_port_t)]
+ jacklib.jack_port_type_id.restype = jack_port_type_id_t
+
+jacklib.jack_port_is_mine.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_port_is_mine.restype = c_int
+
+jacklib.jack_port_connected.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_connected.restype = c_int
+
+jacklib.jack_port_connected_to.argtypes = [POINTER(jack_port_t), c_char_p]
+jacklib.jack_port_connected_to.restype = c_int
+
+jacklib.jack_port_get_connections.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_get_connections.restype = POINTER(c_char_p)
+
+jacklib.jack_port_get_all_connections.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_port_get_all_connections.restype = POINTER(c_char_p)
+
+jacklib.jack_port_tie.argtypes = [POINTER(jack_port_t), POINTER(jack_port_t)]
+jacklib.jack_port_tie.restype = c_int
+
+jacklib.jack_port_untie.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_untie.restype = c_int
+
+jacklib.jack_port_set_name.argtypes = [POINTER(jack_port_t), c_char_p]
+jacklib.jack_port_set_name.restype = c_int
+
+jacklib.jack_port_set_alias.argtypes = [POINTER(jack_port_t), c_char_p]
+jacklib.jack_port_set_alias.restype = c_int
+
+jacklib.jack_port_unset_alias.argtypes = [POINTER(jack_port_t), c_char_p]
+jacklib.jack_port_unset_alias.restype = c_int
+
+jacklib.jack_port_get_aliases.argtypes = [POINTER(jack_port_t), POINTER(ARRAY(c_char_p, 2))]
+jacklib.jack_port_get_aliases.restype = c_int
+
+jacklib.jack_port_request_monitor.argtypes = [POINTER(jack_port_t), c_int]
+jacklib.jack_port_request_monitor.restype = c_int
+
+jacklib.jack_port_request_monitor_by_name.argtypes = [POINTER(jack_client_t), c_char_p, c_int]
+jacklib.jack_port_request_monitor_by_name.restype = c_int
+
+jacklib.jack_port_ensure_monitor.argtypes = [POINTER(jack_port_t), c_int]
+jacklib.jack_port_ensure_monitor.restype = c_int
+
+jacklib.jack_port_monitoring_input.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_monitoring_input.restype = c_int
+
+jacklib.jack_connect.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
+jacklib.jack_connect.restype = c_int
+
+jacklib.jack_disconnect.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
+jacklib.jack_disconnect.restype = c_int
+
+jacklib.jack_port_disconnect.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_port_disconnect.restype = c_int
+
+jacklib.jack_port_name_size.argtypes = None
+jacklib.jack_port_name_size.restype = c_int
+
+jacklib.jack_port_type_size.argtypes = None
+jacklib.jack_port_type_size.restype = c_int
+
+try: # JACK_WEAK_EXPORT
+ jacklib.jack_port_type_get_buffer_size.argtypes = [POINTER(jack_client_t), c_char_p]
+ jacklib.jack_port_type_get_buffer_size.restype = c_size_t
+except:
+ jacklib.jack_port_type_get_buffer_size = None
+
def port_register(client, port_name, port_type, flags, buffer_size):
- jacklib.jack_port_register.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p, c_ulong, c_ulong]
- jacklib.jack_port_register.restype = POINTER(jack_port_t)
return jacklib.jack_port_register(client, port_name.encode("ascii"), port_type.encode("ascii"), flags, buffer_size)
def port_unregister(client, port):
- jacklib.jack_port_unregister.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_port_unregister.restype = c_int
return jacklib.jack_port_unregister(client, port)
def port_get_buffer(port, nframes):
- jacklib.jack_port_get_buffer.argtypes = [POINTER(jack_port_t), jack_nframes_t]
- jacklib.jack_port_get_buffer.restype = c_void_p
return jacklib.jack_port_get_buffer(port, nframes)
def port_name(port):
- jacklib.jack_port_name.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_name.restype = c_char_p
return jacklib.jack_port_name(port)
def port_short_name(port):
- jacklib.jack_port_short_name.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_short_name.restype = c_char_p
return jacklib.jack_port_short_name(port)
def port_flags(port):
- jacklib.jack_port_flags.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_flags.restype = c_int
return jacklib.jack_port_flags(port)
def port_type(port):
- jacklib.jack_port_type.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_type.restype = c_char_p
return jacklib.jack_port_type(port)
def port_type_id(port): # JACK2 only
- jacklib.jack_port_type_id.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_type_id.restype = jack_port_type_id_t
return jacklib.jack_port_type_id(port)
def port_is_mine(client, port):
- jacklib.jack_port_is_mine.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_port_is_mine.restype = c_int
return jacklib.jack_port_is_mine(client, port)
def port_connected(port):
- jacklib.jack_port_connected.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_connected.restype = c_int
return jacklib.jack_port_connected(port)
def port_connected_to(port, port_name):
- jacklib.jack_port_connected_to.argtypes = [POINTER(jack_port_t), c_char_p]
- jacklib.jack_port_connected_to.restype = c_int
return jacklib.jack_port_connected_to(port, port_name.encode("ascii"))
def port_get_connections(port):
- jacklib.jack_port_get_connections.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_get_connections.restype = POINTER(c_char_p)
return jacklib.jack_port_get_connections(port)
def port_get_all_connections(client, port):
- jacklib.jack_port_get_all_connections.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_port_get_all_connections.restype = POINTER(c_char_p)
return jacklib.jack_port_get_all_connections(client, port)
def port_tie(src, dst):
- jacklib.jack_port_tie.argtypes = [POINTER(jack_port_t), POINTER(jack_port_t)]
- jacklib.jack_port_tie.restype = c_int
return jacklib.jack_port_tie(src, dst)
def port_untie(port):
- jacklib.jack_port_untie.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_untie.restype = c_int
return jacklib.jack_port_untie(port)
def port_set_name(port, port_name):
- jacklib.jack_port_set_name.argtypes = [POINTER(jack_port_t), c_char_p]
- jacklib.jack_port_set_name.restype = c_int
return jacklib.jack_port_set_name(port, port_name.encode("ascii"))
def port_set_alias(port, alias):
- jacklib.jack_port_set_alias.argtypes = [POINTER(jack_port_t), c_char_p]
- jacklib.jack_port_set_alias.restype = c_int
return jacklib.jack_port_set_alias(port, alias.encode("ascii"))
def port_unset_alias(port, alias):
- jacklib.jack_port_unset_alias.argtypes = [POINTER(jack_port_t), c_char_p]
- jacklib.jack_port_unset_alias.restype = c_int
return jacklib.jack_port_unset_alias(port, alias.encode("ascii"))
def port_get_aliases(port):
@@ -579,149 +711,152 @@ def port_get_aliases(port):
alias_type = c_char_p*2
aliases = alias_type(" ".encode("ascii")*name_size, " ".encode("ascii")*name_size)
- jacklib.jack_port_get_aliases.argtypes = [POINTER(jack_port_t), POINTER(ARRAY(c_char_p, 2))]
- jacklib.jack_port_get_aliases.restype = c_int
-
ret = jacklib.jack_port_get_aliases(port, pointer(aliases))
return (ret, str(aliases[0], encoding="ascii"), str(aliases[1], encoding="ascii"))
def port_request_monitor(port, onoff):
- jacklib.jack_port_request_monitor.argtypes = [POINTER(jack_port_t), c_int]
- jacklib.jack_port_request_monitor.restype = c_int
return jacklib.jack_port_request_monitor(port, onoff)
def port_request_monitor_by_name(client, port_name, onoff):
- jacklib.jack_port_request_monitor_by_name.argtypes = [POINTER(jack_client_t), c_char_p, c_int]
- jacklib.jack_port_request_monitor_by_name.restype = c_int
return jacklib.jack_port_request_monitor_by_name(client, port_name.encode("ascii"), onoff)
def port_ensure_monitor(port, onoff):
- jacklib.jack_port_ensure_monitor.argtypes = [POINTER(jack_port_t), c_int]
- jacklib.jack_port_ensure_monitor.restype = c_int
return jacklib.jack_port_ensure_monitor(port, onoff)
def port_monitoring_input(port):
- jacklib.jack_port_monitoring_input.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_monitoring_input.restype = c_int
return jacklib.jack_port_monitoring_input(port)
def connect(client, source_port, destination_port):
- jacklib.jack_connect.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
- jacklib.jack_connect.restype = c_int
return jacklib.jack_connect(client, source_port.encode("ascii"), destination_port.encode("ascii"))
def disconnect(client, source_port, destination_port):
- jacklib.jack_disconnect.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
- jacklib.jack_disconnect.restype = c_int
return jacklib.jack_disconnect(client, source_port.encode("ascii"), destination_port.encode("ascii"))
def port_disconnect(client, port):
- jacklib.jack_port_disconnect.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_port_disconnect.restype = c_int
return jacklib.jack_port_disconnect(client, port)
def port_name_size():
- jacklib.jack_port_name_size.argtypes = None
- jacklib.jack_port_name_size.restype = c_int
return jacklib.jack_port_name_size()
def port_type_size():
- jacklib.jack_port_type_size.argtypes = None
- jacklib.jack_port_type_size.restype = c_int
return jacklib.jack_port_type_size()
-def port_type_get_buffer_size(client, port_type):
- jacklib.jack_port_type_get_buffer_size.argtypes = [POINTER(jack_client_t), c_char_p]
- jacklib.jack_port_type_get_buffer_size.restype = c_size_t
- return jacklib.jack_port_type_get_buffer_size(client, port_type.encode("ascii"))
+def port_type_get_buffer_size(client, port_type): # JACK_WEAK_EXPORT
+ if (jacklib.jack_port_type_get_buffer_size):
+ return jacklib.jack_port_type_get_buffer_size(client, port_type.encode("ascii"))
+ return 0
# Latency Functions
-def port_set_latency(port, nframes):
- jacklib.jack_port_set_latency.argtypes = [POINTER(jack_port_t), jack_nframes_t]
- jacklib.jack_port_set_latency.restype = None
- jacklib.jack_port_set_latency(port, nframes)
+jacklib.jack_port_set_latency.argtypes = [POINTER(jack_port_t), jack_nframes_t]
+jacklib.jack_port_set_latency.restype = None
-def port_get_latency_range(port, mode, range_):
+try: # JACK_WEAK_EXPORT
jacklib.jack_port_get_latency_range.argtypes = [POINTER(jack_port_t), jack_latency_callback_mode_t, POINTER(jack_latency_range_t)]
jacklib.jack_port_get_latency_range.restype = None
- jacklib.jack_port_get_latency_range(port, mode, range_)
+except:
+ jacklib.jack_port_get_latency_range = None
-def port_set_latency_range(port, mode, range_):
+try: # JACK_WEAK_EXPORT
jacklib.jack_port_set_latency_range.argtypes = [POINTER(jack_port_t), jack_latency_callback_mode_t, POINTER(jack_latency_range_t)]
jacklib.jack_port_set_latency_range.restype = None
- jacklib.jack_port_set_latency_range(port, mode, range_)
+except:
+ jacklib.jack_port_set_latency_range = None
+
+jacklib.jack_recompute_total_latencies.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_recompute_total_latencies.restype = c_int
+
+jacklib.jack_port_get_latency.argtypes = [POINTER(jack_port_t)]
+jacklib.jack_port_get_latency.restype = jack_nframes_t
+
+jacklib.jack_port_get_total_latency.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_port_get_total_latency.restype = jack_nframes_t
+
+jacklib.jack_recompute_total_latency.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
+jacklib.jack_recompute_total_latency.restype = c_int
+
+def port_set_latency(port, nframes):
+ jacklib.jack_port_set_latency(port, nframes)
+
+def port_get_latency_range(port, mode, range_): # JACK_WEAK_EXPORT
+ if (jacklib.jack_port_get_latency_range):
+ jacklib.jack_port_get_latency_range(port, mode, range_)
+
+def port_set_latency_range(port, mode, range_): # JACK_WEAK_EXPORT
+ if (jacklib.jack_port_set_latency_range):
+ jacklib.jack_port_set_latency_range(port, mode, range_)
def recompute_total_latencies():
- jacklib.recompute_total_latencies.argtypes = [POINTER(jack_client_t)]
- jacklib.recompute_total_latencies.restype = c_int
- return jacklib.recompute_total_latencies()
+ return jacklib.jack_recompute_total_latencies()
def port_get_latency(port):
- jacklib.jack_port_get_latency.argtypes = [POINTER(jack_port_t)]
- jacklib.jack_port_get_latency.restype = jack_nframes_t
return jacklib.jack_port_get_latency(port)
def port_get_total_latency(client, port):
- jacklib.jack_port_get_total_latency.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_port_get_total_latency.restype = jack_nframes_t
return jacklib.jack_port_get_total_latency(client, port)
def recompute_total_latency(client, port):
- jacklib.jack_recompute_total_latency.argtypes = [POINTER(jack_client_t), POINTER(jack_port_t)]
- jacklib.jack_recompute_total_latency.restype = c_int
return jacklib.jack_recompute_total_latency(client, port)
# Port Searching
+jacklib.jack_get_ports.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p, c_ulong]
+jacklib.jack_get_ports.restype = POINTER(c_char_p)
+
+jacklib.jack_port_by_name.argtypes = [POINTER(jack_client_t), c_char_p]
+jacklib.jack_port_by_name.restype = POINTER(jack_port_t)
+
+jacklib.jack_port_by_id.argtypes = [POINTER(jack_client_t), jack_port_id_t]
+jacklib.jack_port_by_id.restype = POINTER(jack_port_t)
+
def get_ports(client, port_name_pattern, type_name_pattern, flags):
- jacklib.jack_get_ports.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p, c_ulong]
- jacklib.jack_get_ports.restype = POINTER(c_char_p)
return jacklib.jack_get_ports(client, port_name_pattern.encode("ascii"), type_name_pattern.encode("ascii"), flags)
def port_by_name(client, port_name):
- jacklib.jack_port_by_name.argtypes = [POINTER(jack_client_t), c_char_p]
- jacklib.jack_port_by_name.restype = POINTER(jack_port_t)
return jacklib.jack_port_by_name(client, port_name.encode("ascii"))
def port_by_id(client, port_id):
- jacklib.jack_port_by_id.argtypes = [POINTER(jack_client_t), jack_port_id_t]
- jacklib.jack_port_by_id.restype = POINTER(jack_port_t)
return jacklib.jack_port_by_id(client, port_id)
# Time Functions
+jacklib.jack_frames_since_cycle_start.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_frames_since_cycle_start.restype = jack_nframes_t
+
+jacklib.jack_frame_time.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_frame_time.restype = jack_nframes_t
+
+jacklib.jack_last_frame_time.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_last_frame_time.restype = jack_nframes_t
+
+jacklib.jack_frames_to_time.argtypes = [POINTER(jack_client_t), jack_nframes_t]
+jacklib.jack_frames_to_time.restype = jack_time_t
+
+jacklib.jack_time_to_frames.argtypes = [POINTER(jack_client_t), jack_time_t]
+jacklib.jack_time_to_frames.restype = jack_nframes_t
+
+jacklib.jack_get_time.argtypes = None
+jacklib.jack_get_time.restype = jack_time_t
+
def frames_since_cycle_start(client):
- jacklib.jack_frames_since_cycle_start.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_frames_since_cycle_start.restype = jack_nframes_t
return jacklib.jack_frames_since_cycle_start(client)
def frame_time(client):
- jacklib.jack_frame_time.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_frame_time.restype = jack_nframes_t
return jacklib.jack_frame_time(client)
def last_frame_time(client):
- jacklib.jack_last_frame_time.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_last_frame_time.restype = jack_nframes_t
return jacklib.jack_last_frame_time(client)
def frames_to_time(client, nframes):
- jacklib.jack_frames_to_time.argtypes = [POINTER(jack_client_t), jack_nframes_t]
- jacklib.jack_frames_to_time.restype = jack_time_t
return jacklib.jack_frames_to_time(client, nframes)
def time_to_frames(client, time):
- jacklib.jack_time_to_frames.argtypes = [POINTER(jack_client_t), jack_time_t]
- jacklib.jack_time_to_frames.restype = jack_nframes_t
return jacklib.jack_time_to_frames(client, time)
def get_time():
- jacklib.jack_get_time.argtypes = None
- jacklib.jack_get_time.restype = jack_time_t
return jacklib.jack_get_time()
@@ -731,167 +866,254 @@ def get_time():
# Misc
+jacklib.jack_free.argtypes = [c_void_p]
+jacklib.jack_free.restype = None
+
def free(ptr):
- jacklib.jack_free.argtypes = [c_void_p]
- jacklib.jack_free.restype = None
return jacklib.jack_free(ptr)
# Transport
+global _sync_callback
+global _timebase_callback
+
+_sync_callback = _timebase_callback = None
+
+jacklib.jack_release_timebase.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_release_timebase.restype = c_int
+
+jacklib.jack_set_sync_callback.argtypes = [POINTER(jack_client_t), JackSyncCallback, c_void_p]
+jacklib.jack_set_sync_callback.restype = c_int
+
+jacklib.jack_set_sync_timeout.argtypes = [POINTER(jack_client_t), jack_time_t]
+jacklib.jack_set_sync_timeout.restype = c_int
+
+jacklib.jack_set_timebase_callback.argtypes = [POINTER(jack_client_t), c_int, JackTimebaseCallback, c_void_p]
+jacklib.jack_set_timebase_callback.restype = c_int
+
+jacklib.jack_transport_locate.argtypes = [POINTER(jack_client_t), jack_nframes_t]
+jacklib.jack_transport_locate.restype = c_int
+
+jacklib.jack_transport_query.argtypes = [POINTER(jack_client_t), POINTER(jack_position_t)]
+jacklib.jack_transport_query.restype = jack_transport_state_t
+
+jacklib.jack_get_current_transport_frame.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_get_current_transport_frame.restype = jack_nframes_t
+
+jacklib.jack_transport_reposition.argtypes = [POINTER(jack_client_t), POINTER(jack_position_t)]
+jacklib.jack_transport_reposition.restype = c_int
+
+jacklib.jack_transport_start.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_transport_start.restype = None
+
+jacklib.jack_transport_stop.argtypes = [POINTER(jack_client_t)]
+jacklib.jack_transport_stop.restype = None
+
+jacklib.jack_get_transport_info.argtypes = [POINTER(jack_client_t), POINTER(jack_transport_info_t)]
+jacklib.jack_get_transport_info.restype = None
+
+jacklib.jack_set_transport_info.argtypes = [POINTER(jack_client_t), POINTER(jack_transport_info_t)]
+jacklib.jack_set_transport_info.restype = None
+
def release_timebase(client):
- jacklib.jack_release_timebase.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_release_timebase.restype = c_int
return jacklib.jack_release_timebase(client)
def set_sync_callback(client, sync_callback, arg):
global _sync_callback
_sync_callback = JackSyncCallback(sync_callback)
- jacklib.jack_set_sync_callback.argtypes = [POINTER(jack_client_t), JackSyncCallback, c_void_p]
- jacklib.jack_set_sync_callback.restype = c_int
return jacklib.jack_set_sync_callback(client, _sync_callback, arg)
def set_sync_timeout(client, timeout):
- jacklib.jack_set_sync_timeout.argtypes = [POINTER(jack_client_t), jack_time_t]
- jacklib.jack_set_sync_timeout.restype = c_int
return jacklib.jack_set_sync_timeout(client, timeout)
def set_timebase_callback(client, conditional, timebase_callback, arg):
global _timebase_callback
_timebase_callback = JackTimebaseCallback(timebase_callback)
- jacklib.jack_set_timebase_callback.argtypes = [POINTER(jack_client_t), c_int, JackTimebaseCallback, c_void_p]
- jacklib.jack_set_timebase_callback.restype = c_int
return jacklib.jack_set_timebase_callback(client, conditional, _timebase_callback, arg)
def transport_locate(client, frame):
- jacklib.jack_transport_locate.argtypes = [POINTER(jack_client_t), jack_nframes_t]
- jacklib.jack_transport_locate.restype = c_int
return jacklib.jack_transport_locate(client, frame)
def transport_query(client, pos):
- jacklib.jack_transport_query.argtypes = [POINTER(jack_client_t), POINTER(jack_position_t)]
- jacklib.jack_transport_query.restype = jack_transport_state_t
return jacklib.jack_transport_query(client, pos)
def get_current_transport_frame(client):
- jacklib.jack_get_current_transport_frame.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_get_current_transport_frame.restype = jack_nframes_t
return jacklib.jack_get_current_transport_frame(client)
def transport_reposition(client, pos):
- jacklib.jack_transport_reposition.argtypes = [POINTER(jack_client_t), POINTER(jack_position_t)]
- jacklib.jack_transport_reposition.restype = c_int
return jacklib.jack_transport_reposition(client, pos)
def transport_start(client):
- jacklib.jack_transport_start.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_transport_start.restype = None
return jacklib.jack_transport_start(client)
def transport_stop(client):
- jacklib.jack_transport_stop.argtypes = [POINTER(jack_client_t)]
- jacklib.jack_transport_stop.restype = None
return jacklib.jack_transport_stop(client)
def get_transport_info(client, tinfo):
- jacklib.jack_get_transport_info.argtypes = [POINTER(jack_client_t), POINTER(jack_transport_info_t)]
- jacklib.jack_get_transport_info.restype = None
return jacklib.jack_get_transport_info(client, tinfo)
def set_transport_info(client, tinfo):
- jacklib.jack_set_transport_info.argtypes = [POINTER(jack_client_t), POINTER(jack_transport_info_t)]
- jacklib.jack_set_transport_info.restype = None
return jacklib.jack_set_transport_info(client, tinfo)
# MIDI
+jacklib.jack_midi_get_event_count.argtypes = [c_void_p]
+jacklib.jack_midi_get_event_count.restype = jack_nframes_t
+
+jacklib.jack_midi_event_get.argtypes = [POINTER(jack_midi_event_t), c_void_p, c_uint32]
+jacklib.jack_midi_event_get.restype = c_int
+
+jacklib.jack_midi_clear_buffer.argtypes = [c_void_p]
+jacklib.jack_midi_clear_buffer.restype = None
+
+jacklib.jack_midi_max_event_size.argtypes = [c_void_p]
+jacklib.jack_midi_max_event_size.restype = c_size_t
+
+jacklib.jack_midi_event_reserve.argtypes = [c_void_p, jack_nframes_t, c_size_t]
+jacklib.jack_midi_event_reserve.restype = POINTER(jack_midi_data_t)
+
+jacklib.jack_midi_event_write.argtypes = [c_void_p, jack_nframes_t, POINTER(jack_midi_data_t), c_size_t]
+jacklib.jack_midi_event_write.restype = c_int
+
+jacklib.jack_midi_get_lost_event_count.argtypes = [c_void_p]
+jacklib.jack_midi_get_lost_event_count.restype = c_uint32
+
def midi_get_event_count(port_buffer):
- jacklib.jack_midi_get_event_count.argtypes = [c_void_p]
- jacklib.jack_midi_get_event_count.restype = jack_nframes_t
return jacklib.jack_midi_get_event_count(port_buffer)
def midi_event_get(event, port_buffer, event_index):
- jacklib.jack_midi_event_get.argtypes = [POINTER(jack_midi_event_t), c_void_p, c_uint32]
- jacklib.jack_midi_event_get.restype = c_int
return jacklib.jack_midi_event_get(event, port_buffer, event_index)
def midi_clear_buffer(port_buffer):
- jacklib.jack_midi_clear_buffer.argtypes = [c_void_p]
- jacklib.jack_midi_clear_buffer.restype = None
return jacklib.jack_midi_clear_buffer(port_buffer)
def midi_max_event_size(port_buffer):
- jacklib.jack_midi_max_event_size.argtypes = [c_void_p]
- jacklib.jack_midi_max_event_size.restype = c_size_t
return jacklib.jack_midi_max_event_size(port_buffer)
def midi_event_reserve(port_buffer, time, data_size):
- jacklib.jack_midi_event_reserve.argtypes = [c_void_p, jack_nframes_t, c_size_t]
- jacklib.jack_midi_event_reserve.restype = POINTER(jack_midi_data_t)
return jacklib.jack_midi_event_reserve(port_buffer, time, data_size)
def midi_event_write(port_buffer, time, data, data_size):
- jacklib.jack_midi_event_write.argtypes = [c_void_p, jack_nframes_t, POINTER(jack_midi_data_t), c_size_t]
- jacklib.jack_midi_event_write.restype = c_int
return jacklib.jack_midi_event_write(port_buffer, time, data, data_size)
def midi_get_lost_event_count(port_buffer):
- jacklib.jack_midi_get_lost_event_count.argtypes = [c_void_p]
- jacklib.jack_midi_get_lost_event_count.restype = c_uint32
return jacklib.jack_midi_get_lost_event_count(port_buffer)
# Session
-def set_session_callback(client, session_callback, arg):
- global _session_callback
- _session_callback = JackSessionCallback(session_callback)
+global _session_callback
+
+_session_callback = None
+
+try: # JACK_WEAK_EXPORT
jacklib.jack_set_session_callback.argtypes = [POINTER(jack_client_t), JackSessionCallback, c_void_p]
jacklib.jack_set_session_callback.restype = c_int
- return jacklib.jack_set_session_callback(client, _session_callback, arg)
+except:
+ jacklib.jack_set_session_callback = None
-def session_reply(client, event):
+try: # JACK_WEAK_EXPORT
jacklib.jack_session_reply.argtypes = [POINTER(jack_client_t), POINTER(jack_session_event_t)]
jacklib.jack_session_reply.restype = c_int
- return jacklib.jack_session_reply(client, event)
+except:
+ jacklib.jack_session_reply = None
-def session_event_free(event):
+try: # JACK_WEAK_EXPORT
jacklib.jack_session_event_free.argtypes = [POINTER(jack_session_event_t)]
- jacklib.jack_session_event_free.restype = c_int
- return jacklib.jack_session_event_free(event)
+ jacklib.jack_session_event_free.restype = None
+except:
+ jacklib.jack_session_event_free = None
-def client_get_uuid(client):
+try: # JACK_WEAK_EXPORT
jacklib.jack_client_get_uuid.argtypes = [POINTER(jack_client_t)]
jacklib.jack_client_get_uuid.restype = c_char_p
- return jacklib.jack_client_get_uuid(client)
+except:
+ jacklib.jack_client_get_uuid = None
-def session_notify(client, target, type_, path):
+try: # JACK_WEAK_EXPORT
jacklib.jack_session_notify.argtypes = [POINTER(jack_client_t), c_char_p, jack_session_event_type_t, c_char_p]
jacklib.jack_session_notify.restype = POINTER(jack_session_command_t)
- return jacklib.jack_session_notify(client, target.encode("ascii"), type_, path.encode("ascii"))
+except:
+ jacklib.jack_session_notify = None
-def session_commands_free(cmds):
+try: # JACK_WEAK_EXPORT
jacklib.jack_session_commands_free.argtypes = [POINTER(jack_session_command_t)]
jacklib.jack_session_commands_free.restype = None
- return jacklib.jack_session_commands_free(cmds)
+except:
+ jacklib.jack_session_commands_free = None
-def get_uuid_for_client_name(client, client_name):
+try: # JACK_WEAK_EXPORT
jacklib.jack_get_uuid_for_client_name.argtypes = [POINTER(jack_client_t), c_char_p]
jacklib.jack_get_uuid_for_client_name.restype = c_char_p
- return jacklib.jack_get_uuid_for_client_name(client, client_name.encode("ascii"))
+except:
+ jacklib.jack_get_uuid_for_client_name = None
-def get_client_name_by_uuid(client, client_uuid):
+try: # JACK_WEAK_EXPORT
jacklib.jack_get_client_name_by_uuid.argtypes = [POINTER(jack_client_t), c_char_p]
jacklib.jack_get_client_name_by_uuid.restype = c_char_p
- return jacklib.jack_get_client_name_by_uuid(client, client_uuid.encode("ascii"))
+except:
+ jacklib.jack_get_client_name_by_uuid = None
-def reserve_client_name(client, name, uuid):
+try: # JACK_WEAK_EXPORT
jacklib.jack_reserve_client_name.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
jacklib.jack_reserve_client_name.restype = c_int
- return jacklib.jack_reserve_client_name(client, name.encode("ascii"), uuid.encode("ascii"))
+except:
+ jacklib.jack_reserve_client_name = None
-def client_has_session_callback(client, client_name):
+try: # JACK_WEAK_EXPORT
jacklib.jack_client_has_session_callback.argtypes = [POINTER(jack_client_t), c_char_p]
jacklib.jack_client_has_session_callback.restype = c_int
- return jacklib.jack_client_has_session_callback(client, client_name.encode("ascii"))
+except:
+ jacklib.jack_client_has_session_callback = None
+
+def set_session_callback(client, session_callback, arg): # JACK_WEAK_EXPORT
+ if (jacklib.jack_set_session_callback):
+ global _session_callback
+ _session_callback = JackSessionCallback(session_callback)
+ return jacklib.jack_set_session_callback(client, _session_callback, arg)
+ return -1
+
+def session_reply(client, event): # JACK_WEAK_EXPORT
+ if (jacklib.jack_session_reply):
+ return jacklib.jack_session_reply(client, event)
+ return -1
+
+def session_event_free(event): # JACK_WEAK_EXPORT
+ if (jacklib.jack_session_event_free):
+ jacklib.jack_session_event_free(event)
+
+def client_get_uuid(client): # JACK_WEAK_EXPORT
+ if (jacklib.jack_client_get_uuid):
+ return jacklib.jack_client_get_uuid(client)
+ return c_char_p()
+
+def session_notify(client, target, type_, path): # JACK_WEAK_EXPORT
+ if (jacklib.jack_session_notify):
+ return jacklib.jack_session_notify(client, target.encode("ascii"), type_, path.encode("ascii"))
+ return jack_session_command_t()
+
+def session_commands_free(cmds): # JACK_WEAK_EXPORT
+ if (jacklib.jack_session_commands_free):
+ jacklib.jack_session_commands_free(cmds)
+
+def get_uuid_for_client_name(client, client_name): # JACK_WEAK_EXPORT
+ if (jacklib.jack_get_uuid_for_client_name):
+ return jacklib.jack_get_uuid_for_client_name(client, client_name.encode("ascii"))
+ return c_char_p()
+
+def get_client_name_by_uuid(client, client_uuid): # JACK_WEAK_EXPORT
+ if (jacklib.jack_get_client_name_by_uuid):
+ return jacklib.jack_get_client_name_by_uuid(client, client_uuid.encode("ascii"))
+ return c_char_p()
+
+def reserve_client_name(client, name, uuid): # JACK_WEAK_EXPORT
+ if (jacklib.jack_reserve_client_name):
+ return jacklib.jack_reserve_client_name(client, name.encode("ascii"), uuid.encode("ascii"))
+ return -1
+
+def client_has_session_callback(client, client_name): # JACK_WEAK_EXPORT
+ if (jacklib.jack_client_has_session_callback):
+ return jacklib.jack_client_has_session_callback(client, client_name.encode("ascii"))
+ return -1
diff --git a/src/jackmeter.py b/src/jackmeter.py
index 3e102f6..62c9282 100755
--- a/src/jackmeter.py
+++ b/src/jackmeter.py
@@ -131,7 +131,7 @@ if __name__ == '__main__':
# JACK initialization
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:
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))))
diff --git a/src/jacksettings.py b/src/jacksettings.py
index 46c2e96..31b8187 100755
--- a/src/jacksettings.py
+++ b/src/jacksettings.py
@@ -86,13 +86,13 @@ def engineHasFeature(feature):
return bool(dbus.String(feature) in feature_list)
def getEngineParameter(parameter, error):
- if (engineHasFeature(parameter) == False):
+ if (not engineHasFeature(parameter)):
return error
else:
return jackctl.GetParameterValue(["engine",parameter])[2]
def setEngineParameter(parameter, value, optional=True):
- if (engineHasFeature(parameter) == False):
+ if (not engineHasFeature(parameter)):
return False
elif (optional):
if (value != jackctl.GetParameterValue(["engine",parameter])[2]):
@@ -110,13 +110,13 @@ def driverHasFeature(feature):
return bool(dbus.String(feature) in feature_list)
def getDriverParameter(parameter, error):
- if (driverHasFeature(parameter) == False):
+ if (not driverHasFeature(parameter)):
return error
else:
return jackctl.GetParameterValue(["driver",parameter])[2]
def setDriverParameter(parameter, value, optional=True):
- if (driverHasFeature(parameter) == False):
+ if (not driverHasFeature(parameter)):
return False
elif (optional):
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.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_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"))
# Disable clock-source if not on Linux
- if (LINUX == False):
+ if (not LINUX):
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()))
setEngineParameter("client-timeout", value, True)
- if (self.obj_server_clock_source.isEnabled() or 1):
+ if (self.obj_server_clock_source.isEnabled()):
value = None
if (self.obj_server_clock_source_system.isChecked()):
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")
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()):
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))
elif (attribute == "output-latency"):
self.obj_driver_output_latency.setValue(int(value))
- elif (attribute == "midi-driver"):
+ elif (attribute in ("midi", "midi-driver")):
value = str(value)
if (value == "none"):
self.obj_driver_midi_driver.setCurrentIndex(0)
@@ -611,8 +614,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW):
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
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_output_latency.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_label.setEnabled(driverHasFeature("wait"))
self.obj_driver_verbose.setEnabled(driverHasFeature("verbose"))
@@ -737,20 +740,21 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW):
if __name__ == '__main__':
# 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
# App initialization
- app = QApplication(sys.argv)
+ app = QApplication(sys_argv)
# Connect to DBus
if (dbus):
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."))
- sys.exit(1)
+ sys_exit(1)
else:
QMessageBox.critical(None, app.translate("JackSettingsW", "Error"), app.translate("JackSettingsW", "DBus is not available, cannot continue."))
- sys.exit(1)
+ sys_exit(1)
# Show GUI
gui = JackSettingsW(None)
@@ -758,4 +762,4 @@ if __name__ == '__main__':
gui.show()
# App-Loop
- sys.exit(app.exec_())
+ sys_exit(app.exec_())
diff --git a/src/logs.py b/src/logs.py
index ee82df5..f626b06 100755
--- a/src/logs.py
+++ b/src/logs.py
@@ -243,22 +243,22 @@ class LogsW(QDialog, ui_logs.Ui_LogsW):
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.tabWidget.removeTab(0-tab_index)
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.tabWidget.removeTab(1-tab_index)
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.tabWidget.removeTab(2-tab_index)
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.tabWidget.removeTab(3-tab_index)
tab_index += 1
diff --git a/src/render.py b/src/render.py
index 5206c4b..6ecd52d 100755
--- a/src/render.py
+++ b/src/render.py
@@ -105,7 +105,7 @@ class RenderW(QDialog, ui_render.Ui_RenderW):
@pyqtSlot()
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."))
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
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.m_last_time = time
diff --git a/src/shared.py b/src/shared.py
index cecb22b..d00749d 100644
--- a/src/shared.py
+++ b/src/shared.py
@@ -38,7 +38,7 @@ else:
LINUX = False
WINDOWS = False
-if (WINDOWS == False):
+if (not WINDOWS):
from signal import signal, SIGINT, SIGTERM, SIGUSR1, SIGUSR2
# Set Version
@@ -56,7 +56,7 @@ HOME = os.getenv("HOME")
if (HOME == None):
qWarning("HOME variable not set")
HOME = "/tmp"
-elif (os.path.exists(HOME) == False):
+elif (not os.path.exists(HOME)):
qWarning("HOME variable set but not valid")
HOME = "/tmp"
@@ -201,15 +201,15 @@ def getIcon(icon, size=16):
return QIcon.fromTheme(icon, QIcon(":/%ix%i/%s.png" % (size, size, icon)))
# 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):
lineEdit.setText(newPath)
return newPath
# 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.setWindowTitle(title)
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("SIGTERM()"), SLOT("close()"))
-def signal_handler(sig=0, frame=0):
+def signal_handler(sig):
global x_gui
if (sig in (SIGINT, SIGTERM)):
x_gui.emit(SIGNAL("SIGTERM()"))
@@ -242,45 +242,45 @@ def signal_handler(sig=0, frame=0):
elif (sig == SIGUSR2):
x_gui.emit(SIGNAL("SIGUSR2()"))
-def showWindow(self):
- if (self.isMaximized()):
- self.showMaximized()
+def showWindow(self_):
+ if (self_.isMaximized()):
+ self_.showMaximized()
else:
- self.showNormal()
+ self_.showNormal()
# Shared Icons
-def setIcons(self, modes):
+def setIcons(self_, 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):
- 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):
- 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):
- 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"))
diff --git a/src/shared_canvas.py b/src/shared_canvas.py
index 4a6c44e..0e989d9 100644
--- a/src/shared_canvas.py
+++ b/src/shared_canvas.py
@@ -24,41 +24,41 @@ from PyQt4.QtGui import QFileDialog, QImage, QPainter, QPrinter, QPrintDialog
import patchcanvas
# Shared Canvas code
-def canvas_arrange(self):
+def canvas_arrange():
patchcanvas.arrange()
-def canvas_refresh(self):
+def canvas_refresh(self_):
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_()):
- painter = QPainter(self.m_export_printer)
+ painter = QPainter(self_.m_export_printer)
painter.setRenderHint(QPainter.Antialiasing)
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)
if (newPath):
- self.scene.clearSelection()
+ self_.scene.clearSelection()
if (newPath.endswith((".jpg", ".jpG", ".jPG", ".JPG", ".JPg", ".Jpg"))):
img_format = "JPG"
elif (newPath.endswith((".png", ".pnG", ".pNG", ".PNG", ".PNg", ".Png"))):
@@ -68,25 +68,25 @@ def canvas_save_image(self):
img_format = "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.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
-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_))
diff --git a/src/shared_jack.py b/src/shared_jack.py
index 781396e..c9874c9 100644
--- a/src/shared_jack.py
+++ b/src/shared_jack.py
@@ -26,12 +26,9 @@ from shared import *
from jacklib_helpers import *
# Have JACK2 ?
-try:
- JACK2 = True
+if (jacklib.JACK2):
version_str = str(jacklib.get_version_string(), encoding="ascii")
print("Using JACK2, version %s" % (version_str))
-except:
- JACK2 = False
# Can Render ?
for iPATH in PATH:
@@ -92,88 +89,88 @@ jack.client = None
# -------------------------------------------------------------
# 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):
failed = bool(jacklib.set_buffer_size(jack.client, buffer_size) != 0)
else:
failed = bool(jacksettings.setBufferSize(buffer_size))
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):
- setSampleRate(self, sample_rate, True)
+ setSampleRate(self_, sample_rate, True)
else:
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
- 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
- jack_sample_rate(self, int(text))
+ jack_sample_rate(self_, int(text))
# -------------------------------------------------------------
# Transport calls
-def setTransportView(self, view):
+def setTransportView(self_, view):
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):
- 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):
- 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:
- 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 (play):
jacklib.transport_start(jack.client)
else:
jacklib.transport_stop(jack.client)
- refreshTransport(self)
+ refreshTransport(self_)
-@pyqtSlot()
-def slot_transportStop(self):
+#@pyqtSlot()
+def slot_transportStop(self_):
if (not jack.client): return
jacklib.transport_stop(jack.client)
jacklib.transport_locate(jack.client, 0)
- refreshTransport(self)
+ refreshTransport(self_)
-@pyqtSlot()
-def slot_transportBackwards(self):
+#@pyqtSlot()
+def slot_transportBackwards():
if (not jack.client): return
new_frame = jacklib.get_current_transport_frame(jack.client)-100000
if (new_frame < 0): new_frame = 0
jacklib.transport_locate(jack.client, new_frame)
-@pyqtSlot()
-def slot_transportForwards(self):
+#@pyqtSlot()
+def slot_transportForwards():
if (not jack.client): return
new_frame = jacklib.get_current_transport_frame(jack.client)+100000
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_bbt = menu.addAction("Beat:Bar:Tick")
act_t_fr = menu.addAction("Frames")
@@ -182,44 +179,44 @@ def slot_transportViewMenu(self):
act_t_bbt.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)
- elif (self.m_selected_transport_view == TRANSPORT_VIEW_BBT):
+ elif (self_.m_selected_transport_view == TRANSPORT_VIEW_BBT):
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_selected = menu.exec_(QCursor().pos())
if (act_selected == act_t_hms):
- setTransportView(self, TRANSPORT_VIEW_HMS)
+ setTransportView(self_, TRANSPORT_VIEW_HMS)
elif (act_selected == act_t_bbt):
- setTransportView(self, TRANSPORT_VIEW_BBT)
+ setTransportView(self_, TRANSPORT_VIEW_BBT)
elif (act_selected == act_t_fr):
- setTransportView(self, TRANSPORT_VIEW_FRAMES)
+ setTransportView(self_, TRANSPORT_VIEW_FRAMES)
# -------------------------------------------------------------
# Refresh GUI stuff
-def refreshDSPLoad(self):
+def refreshDSPLoad(self_):
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
pos = jacklib.jack_position_t()
pos.valid = 0
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
- time = frame / self.m_sample_rate
+ time = frame / self_.m_sample_rate
secs = time % 60
mins = (time / 60) % 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):
bar = pos.bar
beat = pos.beat
@@ -227,83 +224,84 @@ def refreshTransport(self):
if (bar == 0):
beat = 0
tick = 0
- self.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick))
+ self_.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick))
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
frame1 = pos.frame % 1000
frame2 = (pos.frame / 1000) % 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 (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:
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):
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:
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
-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
- self.m_buffer_size = buffer_size
+ self_.m_buffer_size = buffer_size
if (buffer_size):
if (buffer_size == 16):
- self.cb_buffer_size.setCurrentIndex(0)
+ self_.cb_buffer_size.setCurrentIndex(0)
elif (buffer_size == 32):
- self.cb_buffer_size.setCurrentIndex(1)
+ self_.cb_buffer_size.setCurrentIndex(1)
elif (buffer_size == 64):
- self.cb_buffer_size.setCurrentIndex(2)
+ self_.cb_buffer_size.setCurrentIndex(2)
elif (buffer_size == 128):
- self.cb_buffer_size.setCurrentIndex(3)
+ self_.cb_buffer_size.setCurrentIndex(3)
elif (buffer_size == 256):
- self.cb_buffer_size.setCurrentIndex(4)
+ self_.cb_buffer_size.setCurrentIndex(4)
elif (buffer_size == 512):
- self.cb_buffer_size.setCurrentIndex(5)
+ self_.cb_buffer_size.setCurrentIndex(5)
elif (buffer_size == 1024):
- self.cb_buffer_size.setCurrentIndex(6)
+ self_.cb_buffer_size.setCurrentIndex(6)
elif (buffer_size == 2048):
- self.cb_buffer_size.setCurrentIndex(7)
+ self_.cb_buffer_size.setCurrentIndex(7)
elif (buffer_size == 4096):
- self.cb_buffer_size.setCurrentIndex(8)
+ self_.cb_buffer_size.setCurrentIndex(8)
elif (buffer_size == 8192):
- self.cb_buffer_size.setCurrentIndex(9)
+ self_.cb_buffer_size.setCurrentIndex(9)
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):
- for act_bf in self.act_jack_bf_list:
+ for act_bf in self_.act_jack_bf_list:
act_bf.setEnabled(True)
if (act_bf.text().replace("&","") == str(buffer_size)):
- if (act_bf.isChecked() == False):
+ if (not act_bf.isChecked()):
act_bf.setChecked(True)
else:
if (act_bf.isChecked()):
@@ -314,104 +312,104 @@ def setBufferSize(self, buffer_size, forced=False):
#if (self.act_jack_bf_list[i].isChecked()):
#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
if (future):
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)
if (ask == QMessageBox.Ok):
- self.m_next_sample_rate = sample_rate
+ self_.m_next_sample_rate = sample_rate
else:
- self.m_next_sample_rate = 0
+ self_.m_next_sample_rate = 0
# not future
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)):
sample_rate = sample_rates[i]
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 " RT ")
- self.label_realtime.setEnabled(realtime)
+def setRealTime(self_, realtime):
+ self_.label_realtime.setText(" RT " if realtime else " RT ")
+ 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
@pyqtSlot()
-def slot_showJackSettings(self):
- jacksettings.JackSettingsW(self).exec_()
+def slot_showJackSettings(self_):
+ jacksettings.JackSettingsW(self_).exec_()
if (not jack.client):
# Force update of gui widgets
- self.jackStopped()
+ self_.jackStopped()
@pyqtSlot()
-def slot_showLogs(self):
- logs.LogsW(self).show()
+def slot_showLogs(self_):
+ logs.LogsW(self_).show()
@pyqtSlot()
-def slot_showRender(self):
- render.RenderW(self).exec_()
+def slot_showRender(self_):
+ render.RenderW(self_).exec_()
# -------------------------------------------------------------
# Shared Connections
-def setJackConnections(self, modes):
+def setJackConnections(self_, modes):
pass
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):
- 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):
- 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 (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:
- self.act_show_logs.setEnabled(False)
+ self_.act_show_logs.setEnabled(False)
diff --git a/src/shared_settings.py b/src/shared_settings.py
index 8bedb8c..3eca4c5 100644
--- a/src/shared_settings.py
+++ b/src/shared_settings.py
@@ -52,7 +52,7 @@ def setDefaultProjectFolder(folder):
# Settings Dialog
class SettingsW(QDialog, ui_settings_app.Ui_SettingsW):
- def __init__(self, parent, appName, hasGL):
+ def __init__(self, parent, appName, hasOpenGL):
QDialog.__init__(self, parent)
self.setupUi(self)
@@ -84,7 +84,7 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW):
self.settings = self.parent().settings
self.loadSettings()
- if not hasGL:
+ if (not hasOpenGL):
self.cb_canvas_use_opengl.setChecked(False)
self.cb_canvas_use_opengl.setEnabled(False)
diff --git a/src/ui/claudia.ui b/src/ui/claudia.ui
index 908cef7..5f2dc4c 100644
--- a/src/ui/claudia.ui
+++ b/src/ui/claudia.ui
@@ -1416,5 +1416,37 @@
+
+ act_settings_show_toolbar
+ triggered(bool)
+ frame_toolbar
+ setEnabled(bool)
+
+
+ -1
+ -1
+
+
+ 438
+ 52
+
+
+
+
+ act_settings_show_statusbar
+ triggered(bool)
+ frame_statusbar
+ setEnabled(bool)
+
+
+ -1
+ -1
+
+
+ 438
+ 546
+
+
+
diff --git a/src/xycontroller.py b/src/xycontroller.py
index 14a87b8..4884dfc 100755
--- a/src/xycontroller.py
+++ b/src/xycontroller.py
@@ -591,7 +591,7 @@ if __name__ == '__main__':
# Start jack
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:
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))))