Cleanup
[klaudia.git] / src / klaudia.py
blob0a688af8b0b655ec550c36f1c2538fccc0a56499
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
4 # Imports
5 import dbus, os, signal, sys
6 from PyQt4.QtGui import QApplication, QMessageBox
7 from w_klaudia import KlaudiaMainW, DBus
9 #--------------- main ------------------
10 if __name__ == '__main__':
12 # App initialization
13 app = QApplication(sys.argv)
14 app.setApplicationName("Klaudia")
15 app.setApplicationVersion("0.6")
16 app.setOrganizationName("falkTX")
18 if (not os.path.exists(os.getenv("HOME")+"/.klaudia")):
19 os.mkdir(os.getenv("HOME")+"/.klaudia")
21 # Do not close on SIGUSR1
22 signal.signal(signal.SIGUSR1, signal.SIG_IGN)
24 # Connect to DBus
25 DBus.loopBus = dbus.SessionBus()
27 try:
28 DBus.jackBus = DBus.loopBus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
29 except:
30 QMessageBox.critical(None, app.tr("Error"), app.tr("jackdbus is not available!\n"
31 "Klaudia cannot start."))
32 sys.exit(-1)
34 if ("org.ladish" in DBus.loopBus.list_names()):
35 DBus.controlBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Control")
36 DBus.studioBus = DBus.loopBus.get_object("org.ladish", "/org/ladish/Studio")
37 DBus.appBus = dbus.Interface(DBus.studioBus, 'org.ladish.AppSupervisor')
38 else:
39 DBus.controlBus = None
40 DBus.studioBus = None
41 DBus.appBus = None
43 # Show GUI
44 gui = KlaudiaMainW()
45 gui.show()
47 # Close Properly
48 sys.exit(app.exec_())