Browse Source

Fix Cadence code for the last commits

tags/v0.9.0
falkTX 12 years ago
parent
commit
df72125ae4
2 changed files with 80 additions and 59 deletions
  1. +79
    -58
      src/cadence.py
  2. +1
    -1
      src/claudia_launcher.py

+ 79
- 58
src/cadence.py View File

@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-


# Cadence, JACK utilities # Cadence, JACK utilities
# Copyright (C) 2010-2012 Filipe Coelho <falktx@falktx.com>
# Copyright (C) 2010-2013 Filipe Coelho <falktx@falktx.com>
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -16,20 +16,38 @@
# #
# For a full copy of the GNU General Public License see the COPYING file # For a full copy of the GNU General Public License see the COPYING file


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

from platform import architecture from platform import architecture
from PyQt4.QtCore import QFileSystemWatcher, QThread from PyQt4.QtCore import QFileSystemWatcher, QThread
from PyQt4.QtGui import QApplication, QLabel, QMainWindow, QSizePolicy from PyQt4.QtGui import QApplication, QLabel, QMainWindow, QSizePolicy
from subprocess import getoutput


# ------------------------------------------------------------------------------------------------------------
# Imports (Custom Stuff) # Imports (Custom Stuff)
import ui_cadence
import ui_cadence_tb_jack, ui_cadence_tb_alsa, ui_cadence_tb_a2j, ui_cadence_tb_pa, ui_cadence_rwait

import systray import systray
import ui_cadence
import ui_cadence_tb_jack
import ui_cadence_tb_alsa
import ui_cadence_tb_a2j
import ui_cadence_tb_pa
import ui_cadence_rwait
from shared_cadence import * from shared_cadence import *
from shared_canvasjack import * from shared_canvasjack import *
from shared_settings import * from shared_settings import *


# ------------------------------------------------------------------------------------------------------------
# Safe import getoutput

if sys.version_info >= (3, 0):
from subprocess import getoutput
else:
from commands import getoutput

# ------------------------------------------------------------------------------------------------------------
# Try Import DBus

try: try:
import dbus import dbus
from dbus.mainloop.qt import DBusQtMainLoop from dbus.mainloop.qt import DBusQtMainLoop
@@ -37,6 +55,9 @@ try:
except: except:
haveDBus = False haveDBus = False


# ------------------------------------------------------------------------------------------------------------
# Check for PulseAudio and Wine

havePulseAudio = os.path.exists("/usr/bin/pulseaudio") havePulseAudio = os.path.exists("/usr/bin/pulseaudio")
haveWine = os.path.exists("/usr/bin/regedit") haveWine = os.path.exists("/usr/bin/regedit")


@@ -503,7 +524,7 @@ class ForceRestartThread(QThread):
# Connect to jackdbus # Connect to jackdbus
self.parent().DBusReconnect() self.parent().DBusReconnect()


if not DBus.jack:
if not gDBus.jack:
return return


for x in range(30): for x in range(30):
@@ -517,7 +538,7 @@ class ForceRestartThread(QThread):
self.emit(SIGNAL("progressChanged(int)"), 90) self.emit(SIGNAL("progressChanged(int)"), 90)


# Start it # Start it
DBus.jack.StartServer()
gDBus.jack.StartServer()
self.emit(SIGNAL("progressChanged(int)"), 93) self.emit(SIGNAL("progressChanged(int)"), 93)


# If we made it this far, then JACK is started # If we made it this far, then JACK is started
@@ -533,10 +554,10 @@ class ForceRestartThread(QThread):
self.emit(SIGNAL("progressChanged(int)"), 94) self.emit(SIGNAL("progressChanged(int)"), 94)


# ALSA-MIDI # ALSA-MIDI
if GlobalSettings.value("A2J/AutoStart", True, type=bool) and DBus.a2j and not bool(DBus.a2j.is_started()):
if GlobalSettings.value("A2J/AutoStart", True, type=bool) and gDBus.a2j and not bool(gDBus.a2j.is_started()):
a2jExportHW = GlobalSettings.value("A2J/ExportHW", True, type=bool) a2jExportHW = GlobalSettings.value("A2J/ExportHW", True, type=bool)
DBus.a2j.set_hw_export(a2jExportHW)
DBus.a2j.start()
gDBus.a2j.set_hw_export(a2jExportHW)
gDBus.a2j.start()


self.emit(SIGNAL("progressChanged(int)"), 96) self.emit(SIGNAL("progressChanged(int)"), 96)


@@ -590,7 +611,7 @@ class ToolBarJackDialog(QDialog, ui_cadence_tb_jack.Ui_Dialog):
if GlobalSettings.value("JACK/AutoLoadLadishStudio", False, type=bool): if GlobalSettings.value("JACK/AutoLoadLadishStudio", False, type=bool):
self.rb_ladish.setChecked(True) self.rb_ladish.setChecked(True)
self.m_ladishLoaded = True self.m_ladishLoaded = True
elif "org.ladish" in DBus.bus.list_names():
elif "org.ladish" in gDBus.bus.list_names():
self.m_ladishLoaded = True self.m_ladishLoaded = True
else: else:
self.rb_ladish.setEnabled(False) self.rb_ladish.setEnabled(False)
@@ -603,10 +624,10 @@ class ToolBarJackDialog(QDialog, ui_cadence_tb_jack.Ui_Dialog):
self.connect(self.rb_ladish, SIGNAL("clicked()"), SLOT("slot_maybeFillStudioNames()")) self.connect(self.rb_ladish, SIGNAL("clicked()"), SLOT("slot_maybeFillStudioNames()"))


def fillStudioNames(self): def fillStudioNames(self):
DBus.ladish_control = DBus.bus.get_object("org.ladish", "/org/ladish/Control")
gDBus.ladish_control = gDBus.bus.get_object("org.ladish", "/org/ladish/Control")


ladishStudioName = dbus.String(GlobalSettings.value("JACK/LadishStudioName", "", type=str)) ladishStudioName = dbus.String(GlobalSettings.value("JACK/LadishStudioName", "", type=str))
ladishStudioListDump = DBus.ladish_control.GetStudioList()
ladishStudioListDump = gDBus.ladish_control.GetStudioList()


if len(ladishStudioListDump) == 0: if len(ladishStudioListDump) == 0:
self.rb_ladish.setEnabled(False) self.rb_ladish.setEnabled(False)
@@ -733,7 +754,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.m_curGovCPUs = [] self.m_curGovCPUs = []


try: try:
fBus = dbus.SystemBus(mainloop=DBus.loop)
fBus = dbus.SystemBus(mainloop=gDBus.loop)
fProxy = fBus.get_object("com.ubuntu.IndicatorCpufreqSelector", "/Selector", introspect=False) fProxy = fBus.get_object("com.ubuntu.IndicatorCpufreqSelector", "/Selector", introspect=False)
haveFreqSelector = True haveFreqSelector = True
except: except:
@@ -1138,28 +1159,28 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.DBusReconnect() self.DBusReconnect()


if haveDBus: if haveDBus:
DBus.bus.add_signal_receiver(self.DBusSignalReceiver, destination_keyword='dest', path_keyword='path',
gDBus.bus.add_signal_receiver(self.DBusSignalReceiver, destination_keyword='dest', path_keyword='path',
member_keyword='member', interface_keyword='interface', sender_keyword='sender', ) member_keyword='member', interface_keyword='interface', sender_keyword='sender', )


def DBusReconnect(self): def DBusReconnect(self):
if haveDBus: if haveDBus:
try: try:
DBus.jack = DBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
DBus.patchbay = dbus.Interface(DBus.jack, "org.jackaudio.JackPatchbay")
jacksettings.initBus(DBus.bus)
gDBus.jack = gDBus.bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
gDBus.patchbay = dbus.Interface(gDBus.jack, "org.jackaudio.JackPatchbay")
jacksettings.initBus(gDBus.bus)
except: except:
DBus.jack = None
DBus.patchbay = None
gDBus.jack = None
gDBus.patchbay = None


try: try:
DBus.a2j = dbus.Interface(DBus.bus.get_object("org.gna.home.a2jmidid", "/"), "org.gna.home.a2jmidid.control")
gDBus.a2j = dbus.Interface(gDBus.bus.get_object("org.gna.home.a2jmidid", "/"), "org.gna.home.a2jmidid.control")
except: except:
DBus.a2j = None
gDBus.a2j = None


if DBus.jack:
if DBus.jack.IsStarted():
if gDBus.jack:
if gDBus.jack.IsStarted():
# Check for pulseaudio in jack graph # Check for pulseaudio in jack graph
version, groups, conns = DBus.patchbay.GetGraph(0)
version, groups, conns = gDBus.patchbay.GetGraph(0)


for group_id, group_name, ports in groups: for group_id, group_name, ports in groups:
if group_name == "alsa2jack": if group_name == "alsa2jack":
@@ -1189,8 +1210,8 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.b_jack_switchmaster.setEnabled(False) self.b_jack_switchmaster.setEnabled(False)
self.groupBox_bridges.setEnabled(False) self.groupBox_bridges.setEnabled(False)


if DBus.a2j:
if DBus.a2j.is_started():
if gDBus.a2j:
if gDBus.a2j.is_started():
self.a2jStarted() self.a2jStarted()
else: else:
self.a2jStopped() self.a2jStopped()
@@ -1221,7 +1242,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.emit(SIGNAL("DBusJackServerStoppedCallback()")) self.emit(SIGNAL("DBusJackServerStoppedCallback()"))


elif kwds['interface'] == "org.jackaudio.JackPatchbay": elif kwds['interface'] == "org.jackaudio.JackPatchbay":
if DBus.patchbay and kwds['path'] == DBus.patchbay.object_path:
if gDBus.patchbay and kwds['path'] == gDBus.patchbay.object_path:
if DEBUG: print("org.jackaudio.JackPatchbay,", kwds['member']) if DEBUG: print("org.jackaudio.JackPatchbay,", kwds['member'])
if kwds['member'] == "ClientAppeared": if kwds['member'] == "ClientAppeared":
self.emit(SIGNAL("DBusJackClientAppearedCallback(int, QString)"), args[iJackClientId], args[iJackClientName]) self.emit(SIGNAL("DBusJackClientAppearedCallback(int, QString)"), args[iJackClientId], args[iJackClientName])
@@ -1236,9 +1257,9 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.emit(SIGNAL("DBusA2JBridgeStoppedCallback()")) self.emit(SIGNAL("DBusA2JBridgeStoppedCallback()"))


def jackStarted(self): def jackStarted(self):
self.m_last_dsp_load = DBus.jack.GetLoad()
self.m_last_xruns = DBus.jack.GetXruns()
self.m_last_buffer_size = DBus.jack.GetBufferSize()
self.m_last_dsp_load = gDBus.jack.GetLoad()
self.m_last_xruns = gDBus.jack.GetXruns()
self.m_last_buffer_size = gDBus.jack.GetBufferSize()


self.b_jack_start.setEnabled(False) self.b_jack_start.setEnabled(False)
self.b_jack_stop.setEnabled(True) self.b_jack_stop.setEnabled(True)
@@ -1249,7 +1270,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.label_jack_status.setText("Started") self.label_jack_status.setText("Started")
self.label_jack_status_ico.setPixmap(self.pix_apply) self.label_jack_status_ico.setPixmap(self.pix_apply)


if DBus.jack.IsRealtime():
if gDBus.jack.IsRealtime():
self.label_jack_realtime.setText("Yes") self.label_jack_realtime.setText("Yes")
self.label_jack_realtime_ico.setPixmap(self.pix_apply) self.label_jack_realtime_ico.setPixmap(self.pix_apply)
else: else:
@@ -1259,12 +1280,12 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.label_jack_dsp.setText("%.2f%%" % self.m_last_dsp_load) self.label_jack_dsp.setText("%.2f%%" % self.m_last_dsp_load)
self.label_jack_xruns.setText(str(self.m_last_xruns)) self.label_jack_xruns.setText(str(self.m_last_xruns))
self.label_jack_bfsize.setText("%i samples" % self.m_last_buffer_size) self.label_jack_bfsize.setText("%i samples" % self.m_last_buffer_size)
self.label_jack_srate.setText("%i Hz" % DBus.jack.GetSampleRate())
self.label_jack_latency.setText("%.1f ms" % DBus.jack.GetLatency())
self.label_jack_srate.setText("%i Hz" % gDBus.jack.GetSampleRate())
self.label_jack_latency.setText("%.1f ms" % gDBus.jack.GetLatency())


self.m_timer500 = self.startTimer(500) self.m_timer500 = self.startTimer(500)


if DBus.a2j and not DBus.a2j.is_started():
if gDBus.a2j and not gDBus.a2j.is_started():
self.b_a2j_start.setEnabled(True) self.b_a2j_start.setEnabled(True)
self.systray.setActionEnabled("a2j_start", True) self.systray.setActionEnabled("a2j_start", True)


@@ -1297,7 +1318,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.label_jack_srate.setText("---") self.label_jack_srate.setText("---")
self.label_jack_latency.setText("---") self.label_jack_latency.setText("---")


if DBus.a2j:
if gDBus.a2j:
self.b_a2j_start.setEnabled(False) self.b_a2j_start.setEnabled(False)
self.systray.setActionEnabled("a2j_start", False) self.systray.setActionEnabled("a2j_start", False)


@@ -1319,7 +1340,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.label_bridge_a2j.setText(self.tr("ALSA MIDI Bridge is running")) self.label_bridge_a2j.setText(self.tr("ALSA MIDI Bridge is running"))


def a2jStopped(self): def a2jStopped(self):
jackRunning = bool(DBus.jack and DBus.jack.IsStarted())
jackRunning = bool(gDBus.jack and gDBus.jack.IsStarted())
self.b_a2j_start.setEnabled(jackRunning) self.b_a2j_start.setEnabled(jackRunning)
self.b_a2j_stop.setEnabled(False) self.b_a2j_stop.setEnabled(False)
self.b_a2j_export_hw.setEnabled(True) self.b_a2j_export_hw.setEnabled(True)
@@ -1352,7 +1373,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.systray.setActionEnabled("alsa_stop", True) self.systray.setActionEnabled("alsa_stop", True)
self.label_bridge_alsa.setText(self.tr("Using Cadence snd-aloop daemon, started")) self.label_bridge_alsa.setText(self.tr("Using Cadence snd-aloop daemon, started"))
else: else:
jackRunning = bool(DBus.jack and DBus.jack.IsStarted())
jackRunning = bool(gDBus.jack and gDBus.jack.IsStarted())
self.b_alsa_start.setEnabled(jackRunning) self.b_alsa_start.setEnabled(jackRunning)
self.b_alsa_stop.setEnabled(False) self.b_alsa_stop.setEnabled(False)
self.systray.setActionEnabled("alsa_start", jackRunning) self.systray.setActionEnabled("alsa_start", jackRunning)
@@ -1406,14 +1427,14 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.systray.setActionEnabled("pulse_stop", True) self.systray.setActionEnabled("pulse_stop", True)
self.label_bridge_pulse.setText(self.tr("PulseAudio is started and bridged to JACK")) self.label_bridge_pulse.setText(self.tr("PulseAudio is started and bridged to JACK"))
else: else:
jackRunning = bool(DBus.jack and DBus.jack.IsStarted())
jackRunning = bool(gDBus.jack and gDBus.jack.IsStarted())
self.b_pulse_start.setEnabled(jackRunning) self.b_pulse_start.setEnabled(jackRunning)
self.b_pulse_stop.setEnabled(False) self.b_pulse_stop.setEnabled(False)
self.systray.setActionEnabled("pulse_start", jackRunning) self.systray.setActionEnabled("pulse_start", jackRunning)
self.systray.setActionEnabled("pulse_stop", False) self.systray.setActionEnabled("pulse_stop", False)
self.label_bridge_pulse.setText(self.tr("PulseAudio is started but not bridged")) self.label_bridge_pulse.setText(self.tr("PulseAudio is started but not bridged"))
else: else:
jackRunning = bool(DBus.jack and DBus.jack.IsStarted())
jackRunning = bool(gDBus.jack and gDBus.jack.IsStarted())
self.b_pulse_start.setEnabled(jackRunning) self.b_pulse_start.setEnabled(jackRunning)
self.b_pulse_stop.setEnabled(False) self.b_pulse_stop.setEnabled(False)
self.systray.setActionEnabled("pulse_start", jackRunning) self.systray.setActionEnabled("pulse_start", jackRunning)
@@ -1501,20 +1522,20 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
def slot_JackServerStart(self): def slot_JackServerStart(self):
self.saveSettings() self.saveSettings()
try: try:
DBus.jack.StartServer()
gDBus.jack.StartServer()
except: except:
QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to start JACK, please check the logs for more information.")) QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to start JACK, please check the logs for more information."))


@pyqtSlot() @pyqtSlot()
def slot_JackServerStop(self): def slot_JackServerStop(self):
try: try:
DBus.jack.StopServer()
gDBus.jack.StopServer()
except: except:
QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to stop JACK, please check the logs for more information.")) QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to stop JACK, please check the logs for more information."))


@pyqtSlot() @pyqtSlot()
def slot_JackServerForceRestart(self): def slot_JackServerForceRestart(self):
if DBus.jack.IsStarted():
if gDBus.jack.IsStarted():
ask = CustomMessageBox(self, QMessageBox.Warning, self.tr("Warning"), ask = CustomMessageBox(self, QMessageBox.Warning, self.tr("Warning"),
self.tr("This will force kill all JACK applications!<br>Make sure to save your projects before continue."), self.tr("This will force kill all JACK applications!<br>Make sure to save your projects before continue."),
self.tr("Are you sure you want to force the restart of JACK?")) self.tr("Are you sure you want to force the restart of JACK?"))
@@ -1538,7 +1559,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
@pyqtSlot() @pyqtSlot()
def slot_JackServerSwitchMaster(self): def slot_JackServerSwitchMaster(self):
try: try:
DBus.jack.SwitchMaster()
gDBus.jack.SwitchMaster()
except: except:
QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to switch JACK master, please check the logs for more information.")) QMessageBox.warning(self, self.tr("Warning"), self.tr("Failed to switch JACK master, please check the logs for more information."))
return return
@@ -1551,8 +1572,8 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):


@pyqtSlot() @pyqtSlot()
def slot_JackClearXruns(self): def slot_JackClearXruns(self):
if DBus.jack:
DBus.jack.ResetXruns()
if gDBus.jack:
gDBus.jack.ResetXruns()


@pyqtSlot() @pyqtSlot()
def slot_AlsaBridgeStart(self): def slot_AlsaBridgeStart(self):
@@ -1620,20 +1641,20 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):


@pyqtSlot() @pyqtSlot()
def slot_A2JBridgeStart(self): def slot_A2JBridgeStart(self):
DBus.a2j.start()
gDBus.a2j.start()


@pyqtSlot() @pyqtSlot()
def slot_A2JBridgeStop(self): def slot_A2JBridgeStop(self):
DBus.a2j.stop()
gDBus.a2j.stop()


@pyqtSlot() @pyqtSlot()
def slot_A2JBridgeExportHW(self): def slot_A2JBridgeExportHW(self):
ask = QMessageBox.question(self, self.tr("ALSA MIDI Hardware Export"), self.tr("Enable Hardware Export on the ALSA MIDI Bridge?"), QMessageBox.Yes|QMessageBox.No|QMessageBox.Cancel, QMessageBox.Yes) ask = QMessageBox.question(self, self.tr("ALSA MIDI Hardware Export"), self.tr("Enable Hardware Export on the ALSA MIDI Bridge?"), QMessageBox.Yes|QMessageBox.No|QMessageBox.Cancel, QMessageBox.Yes)


if ask == QMessageBox.Yes: if ask == QMessageBox.Yes:
DBus.a2j.set_hw_export(True)
gDBus.a2j.set_hw_export(True)
elif ask == QMessageBox.No: elif ask == QMessageBox.No:
DBus.a2j.set_hw_export(False)
gDBus.a2j.set_hw_export(False)


@pyqtSlot() @pyqtSlot()
def slot_A2JBridgeOptions(self): def slot_A2JBridgeOptions(self):
@@ -1664,7 +1685,7 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):


@pyqtSlot(str) @pyqtSlot(str)
def slot_changeGovernorMode(self, newMode): def slot_changeGovernorMode(self, newMode):
bus = dbus.SystemBus(mainloop=DBus.loop)
bus = dbus.SystemBus(mainloop=gDBus.loop)
#proxy = bus.get_object("org.cadence.CpufreqSelector", "/Selector", introspect=False) #proxy = bus.get_object("org.cadence.CpufreqSelector", "/Selector", introspect=False)
#print(proxy.hello()) #print(proxy.hello())
proxy = bus.get_object("com.ubuntu.IndicatorCpufreqSelector", "/Selector", introspect=False) proxy = bus.get_object("com.ubuntu.IndicatorCpufreqSelector", "/Selector", introspect=False)
@@ -2156,9 +2177,9 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):


def timerEvent(self, event): def timerEvent(self, event):
if event.timerId() == self.m_timer500: if event.timerId() == self.m_timer500:
if DBus.jack and self.m_last_dsp_load != None:
next_dsp_load = DBus.jack.GetLoad()
next_xruns = DBus.jack.GetXruns()
if gDBus.jack and self.m_last_dsp_load != None:
next_dsp_load = gDBus.jack.GetLoad()
next_xruns = gDBus.jack.GetXruns()
needUpdateTip = False needUpdateTip = False


if self.m_last_dsp_load != next_dsp_load: if self.m_last_dsp_load != next_dsp_load:
@@ -2175,13 +2196,13 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
self.updateSystrayTooltip() self.updateSystrayTooltip()


elif event.timerId() == self.m_timer2000: elif event.timerId() == self.m_timer2000:
if DBus.jack and self.m_last_buffer_size != None:
next_buffer_size = DBus.jack.GetBufferSize()
if gDBus.jack and self.m_last_buffer_size != None:
next_buffer_size = gDBus.jack.GetBufferSize()


if self.m_last_buffer_size != next_buffer_size: if self.m_last_buffer_size != next_buffer_size:
self.m_last_buffer_size = next_buffer_size self.m_last_buffer_size = next_buffer_size
self.label_jack_bfsize.setText("%i samples" % self.m_last_buffer_size) self.label_jack_bfsize.setText("%i samples" % self.m_last_buffer_size)
self.label_jack_latency.setText("%.1f ms" % DBus.jack.GetLatency())
self.label_jack_latency.setText("%.1f ms" % gDBus.jack.GetLatency())


else: else:
self.update() self.update()
@@ -2202,8 +2223,8 @@ if __name__ == '__main__':
app.setWindowIcon(QIcon(":/scalable/cadence.svg")) app.setWindowIcon(QIcon(":/scalable/cadence.svg"))


if haveDBus: if haveDBus:
DBus.loop = DBusQtMainLoop(set_as_default=True)
DBus.bus = dbus.SessionBus(mainloop=DBus.loop)
gDBus.loop = DBusQtMainLoop(set_as_default=True)
gDBus.bus = dbus.SessionBus(mainloop=gDBus.loop)


initSystemChecks() initSystemChecks()




+ 1
- 1
src/claudia_launcher.py View File

@@ -31,7 +31,7 @@ import ui_claudia_launcher
from shared import * from shared import *


# ------------------------------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------------------------------
# Safe Imports getoutput
# Safe import getoutput


if sys.version_info >= (3, 0): if sys.version_info >= (3, 0):
from subprocess import getoutput from subprocess import getoutput


Loading…
Cancel
Save