Author: dmeyer
Date: Sat Feb 25 20:48:34 2006
New Revision: 7941
Added:
trunk/dbox/src/ui/dbox.py
- copied, changed from r7939, /trunk/dbox/src/ui/lcd.py
Removed:
trunk/dbox/src/ui/lcd.py
Log:
rename to dbox.py and make it tollerant when the dbox is not there
Copied: trunk/dbox/src/ui/dbox.py (from r7939, /trunk/dbox/src/ui/lcd.py)
==============================================================================
--- /trunk/dbox/src/ui/lcd.py (original)
+++ trunk/dbox/src/ui/dbox.py Sat Feb 25 20:48:34 2006
@@ -15,18 +15,33 @@
def __init__(self):
plugin.Plugin.__init__(self)
self.dbox = 'dbox'
- self._send(lock=1)
self.info = None
self.item = None
+ self.connected = False
EventHandler(self.eventhandler).register()
- Timer(self.status).start(0.1)
+ Timer(self.status).start(1)
kaa.notifier.signals['shutdown'].connect(self.shutdown)
+ self.check_startup()
+
- def update(self):
- pass
-
-
+ @kaa.notifier.execute_in_thread('dbox')
+ def check_startup(self, delayed=False):
+ try:
+ if delayed:
+ self._send()
+ print 'found dbox'
+ kaa.notifier.OneShotTimer(self.check_startup).start(3)
+ else:
+ self._send(lock=1)
+ self.connected = True
+ print 'connected'
+ except:
+ kaa.notifier.OneShotTimer(self.check_startup, True).start(1)
+
def status(self):
+ if not self.connected:
+ return True
+
if self.item:
name = self.item.name
info1 = info2 = ''
@@ -52,17 +67,24 @@
@kaa.notifier.execute_in_thread('dbox')
def update(self, name, info1, info2, pos, t):
- self.info = name, info1, info2, pos, t
- self._send(clear=1, rect='0,50,75,60,1,0', font=1, size=13,
- text=name, xpos=1, ypos=12)
- if info1:
- self._send(text=info1, xpos=1, ypos=25, size=11, font=0)
- if info2:
- self._send(text=info2, xpos=1, ypos=35, size=11, font=0)
-
- self._send(rect='2,52,%s,58,1,1' % pos, text=t, font=1, size=14,
- xpos=80, ypos=62, update=1)
-
+ if not self.connected:
+ return
+ try:
+ self.info = name, info1, info2, pos, t
+ self._send(clear=1, rect='0,50,75,60,1,0', font=1, size=13,
+ text=name, xpos=1, ypos=12)
+ if info1:
+ self._send(text=info1, xpos=1, ypos=25, size=11, font=0)
+ if info2:
+ self._send(text=info2, xpos=1, ypos=35, size=11, font=0)
+
+ self._send(rect='2,52,%s,58,1,1' % pos, text=t, font=1, size=14,
+ xpos=80, ypos=62, update=1)
+ except:
+ print 'lost dbox, trying to reconnect'
+ self.connected = False
+ kaa.notifier.OneShotTimer(self.check_startup, True).start(1)
+
def eventhandler(self, event):
if event == PLAY_START and event.arg and isinstance(event.arg,
MediaItem):
@@ -78,4 +100,5 @@
def shutdown(self):
- self._send(lock=0)
+ if self.connected:
+ self._send(lock=0)
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog