Fix jack reactivate
Proxies to all interfaces need to be cleared on object deactivation git-svn-id: svn+ssh://svn.marcochapeau.org/laditools/trunk@172 bfe161da-02ef-4cea-8c43-ae261ea21ac6
This commit is contained in:
parent
8a7b33bad9
commit
f4b61be07e
2
laditray
2
laditray
|
@ -79,7 +79,7 @@ class laditray (gtk.StatusIcon, laditools.manager):
|
|||
self.set_tooltip ("JACK is sick")
|
||||
self.set_diagnose_text(repr(e))
|
||||
self.set_from_pixbuf (self.stopped_pixbuf)
|
||||
self.clear_jack_controller()
|
||||
self.clear_jack_proxies()
|
||||
# Take a look at the processes we've started so we don't get any zombies
|
||||
for i in self.proc_list:
|
||||
i.poll ()
|
||||
|
|
|
@ -22,9 +22,11 @@ service_name = name_base + '.service'
|
|||
|
||||
class jack_controller:
|
||||
def __init__(self):
|
||||
#print "creating jack controller proxy object"
|
||||
self.bus = dbus.SessionBus()
|
||||
self.controller = self.bus.get_object(service_name, "/org/jackaudio/Controller")
|
||||
self.iface = dbus.Interface(self.controller, controller_interface_name)
|
||||
#print(self.controller)
|
||||
|
||||
def is_availalbe(self):
|
||||
try:
|
||||
|
|
|
@ -62,20 +62,23 @@ class manager:
|
|||
|
||||
def get_jack_controller(self):
|
||||
if not self.proxy_jack_controller:
|
||||
#print "creating jack proxy"
|
||||
self.proxy_jack_controller = jack_controller()
|
||||
return self.proxy_jack_controller
|
||||
|
||||
def is_jack_controller_available(self):
|
||||
return self.proxy_jack_controller != None
|
||||
|
||||
def clear_jack_controller(self):
|
||||
self.proxy_jack_controller = None
|
||||
|
||||
def get_jack_configure(self):
|
||||
if not self.proxy_jack_configure:
|
||||
self.proxy_jack_configure = jack_configure()
|
||||
return self.proxy_jack_configure
|
||||
|
||||
def clear_jack_proxies(self):
|
||||
#print "clearing jack proxies"
|
||||
self.proxy_jack_controller = None
|
||||
self.proxy_jack_configure = None
|
||||
|
||||
def jack_is_available(self):
|
||||
proxy = self.get_jack_controller()
|
||||
return proxy and proxy.is_availalbe()
|
||||
|
@ -95,27 +98,33 @@ class manager:
|
|||
|
||||
def jack_reactivate(self):
|
||||
self.get_jack_controller().kill()
|
||||
self.clear_jack_controller()
|
||||
self.clear_jack_proxies()
|
||||
|
||||
def jack_reset_xruns(self):
|
||||
self.get_jack_controller().reset_xruns()
|
||||
|
||||
def jack_is_started(self):
|
||||
#print "jack_is_started"
|
||||
return self.get_jack_controller().is_started()
|
||||
|
||||
def jack_is_realtime(self):
|
||||
#print "jack_is_realtime"
|
||||
return self.get_jack_controller().is_realtime()
|
||||
|
||||
def jack_get_load(self):
|
||||
#print "jack_get_load"
|
||||
return self.get_jack_controller().get_load()
|
||||
|
||||
def jack_get_xruns(self):
|
||||
#print "jack_get_xruns"
|
||||
return self.get_jack_controller().get_xruns()
|
||||
|
||||
def jack_get_sample_rate(self):
|
||||
#print "jack_get_sample_rate"
|
||||
return self.get_jack_controller().get_sample_rate()
|
||||
|
||||
def jack_get_latency(self):
|
||||
#print "jack_get_latency"
|
||||
return self.get_jack_controller().get_latency()
|
||||
|
||||
def get_a2j_controller(self):
|
||||
|
|
13
wmjackctl
13
wmjackctl
|
@ -92,10 +92,13 @@ class wmjackctl (wmoo.Application, laditools.manager):
|
|||
line0 += " "
|
||||
|
||||
if self.a2j_is_available():
|
||||
if self.a2j_is_started():
|
||||
line0 += ' A'
|
||||
else:
|
||||
line0 += ' a'
|
||||
try:
|
||||
if self.a2j_is_started():
|
||||
line0 += ' A'
|
||||
else:
|
||||
line0 += ' a'
|
||||
except:
|
||||
pass
|
||||
|
||||
self.set_line(0, line0)
|
||||
self.set_line(1, "started")
|
||||
|
@ -139,7 +142,7 @@ class wmjackctl (wmoo.Application, laditools.manager):
|
|||
self.clear_line(3)
|
||||
self.clear_line(4)
|
||||
self.clear_line(5)
|
||||
self.clear_jack_controller()
|
||||
self.clear_jack_proxies()
|
||||
|
||||
self.put_lines (self.lines)
|
||||
wmoo.Application.update (self)
|
||||
|
|
Loading…
Reference in New Issue