Author: fmueller
Date: Mon Mar 1 08:43:28 2010
New Revision: 8607
URL: http://svn.slimdevices.com/jive?rev=8607&view=rev
Log:
Bug: 15660
Description: Show message if TinySC goes down unexpectedly.
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Meta.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/strings.txt
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua?rev=8607&r1=8606&r2=8607&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
Mon Mar 1 08:43:28 2010
@@ -282,6 +282,10 @@
end
if action == 'stop' then
+
+ -- Guardian timer is in Fab4 applet to be resident
+ appletManager:callService("SCGuardianTimer", action)
+
-- don't use shell script, we might be out of memory
if self:serverRunning() then
@@ -300,6 +304,9 @@
else
os.execute("/etc/init.d/squeezecenter " .. action);
+
+ -- Guardian timer is in Fab4 applet to be resident
+ appletManager:callService("SCGuardianTimer", action)
end
end
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt?rev=8607&r1=8606&r2=8607&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
Mon Mar 1 08:43:28 2010
@@ -1511,9 +1511,3 @@
RU ÐÐ¾Ñ Ð¼ÑзÑка
SV Min musik
-SERVER_HAS_BEEN_STOPPED
- EN Local music service stopped
-
-SERVER_HAS_BEEN_STOPPED_INFO
- EN Local music service has been stopped due to a problem.
-
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua?rev=8607&r1=8606&r2=8607&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Applet.lua
Mon Mar 1 08:43:28 2010
@@ -42,9 +42,12 @@
local EVENT_IR_DOWN = jive.ui.EVENT_IR_DOWN
local EVENT_IR_REPEAT = jive.ui.EVENT_IR_REPEAT
+local EVENT_WINDOW_INACTIVE = jive.ui.EVENT_WINDOW_INACTIVE
+
local jnt = jnt
local iconbar = iconbar
local jiveMain = jiveMain
+local appletManager = appletManager
local settings = nil
-- hack around global scope to allow bsp c code to call back to applet
@@ -747,6 +750,83 @@
end
+-- Moved here from SqueezeCenter applet since SC applet is not resident
+-- but we need scGuardTimer to survive
+function SCGuardianTimer(self, action)
+
+ if (action == 'start') or (action == 'restart') then
+ log:debug("SC guard timer - start")
+
+ if self.scGuardTimer then
+ self.scGuardTimer:stop()
+ self.scGuardTimer = nil
+ end
+
+ self.scGuardTimer = Timer( 5000, -- Check every 5
seconds if still running
+ function()
+ -- don't use shell script, we might be out of
memory
+ local running =
appletManager:callService("isBuiltInSCRunning")
+
+ log:debug("SC guard timer - check SC running:
", running)
+
+ if not running then
+ log:warn("SC guard timer - SC got
killed!!!")
+ self.scGuardTimer:stop()
+ self.scGuardTimer = nil
+ self:_showSCHasBeenStoppedMessage()
+ end
+ end,
+ false
+ )
+ self.scGuardTimer:start()
+
+ elseif (action == 'stop') or (action == 'rescan') then
+ log:debug("SC guard timer - stop")
+
+ if self.scGuardTimer then
+ self.scGuardTimer:stop()
+ self.scGuardTimer = nil
+ end
+ end
+end
+
+
+-- Moved here from SqueezeCenter applet since SC applet is not resident
+-- but we need scGuardTimer to survive
+function _showSCHasBeenStoppedMessage(self)
+ local window = Window("text_list",
self:string("SERVER_HAS_BEEN_STOPPED"))
+ window:setAllowScreensaver(false)
+ window:setButtonAction("rbutton", nil)
+
+ local menu = SimpleMenu("menu")
+
+ menu:addItem({
+ text = self:string("OK"),
+ style = 'item',
+ sound = "WINDOWSHOW",
+ callback = function ()
+ window:hide()
+ end
+ })
+
+ menu:setHeaderWidget( Textarea("help_text",
self:string("SERVER_HAS_BEEN_STOPPED_INFO")))
+
+ window:addWidget(menu)
+
+ -- Remove ourselfs if we are not on top anymore, i.e. another window
gets activated
+ window:addListener( EVENT_WINDOW_INACTIVE,
+ function()
+ log:debug("Message window removed as we aren't active
anymore.")
+ window:hide()
+ return EVENT_UNUSED
+ end
+ )
+
+ window:show()
+ return window
+end
+
+
function free(self)
log:error("free should never be called for this resident applet")
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Meta.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Meta.lua?rev=8607&r1=8606&r2=8607&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Meta.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/SqueezeboxFab4Meta.lua
Mon Mar 1 08:43:28 2010
@@ -93,6 +93,7 @@
meta:registerService("reboot")
meta:registerService("wasLastShutdownUnclean")
meta:registerService("addUeventListener")
+ meta:registerService("SCGuardianTimer")
end
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/strings.txt
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/strings.txt?rev=8607&r1=8606&r2=8607&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/strings.txt
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeboxFab4/strings.txt
Mon Mar 1 08:43:28 2010
@@ -198,3 +198,10 @@
RU ÐÑполÑзÑйÑе колеÑико длÑ
ÑегÑлиÑовки ÑÑкоÑÑи.
SV Justera ljusstyrkan med rullningshjulet.
+SERVER_HAS_BEEN_STOPPED
+ EN Local music service stopped
+
+SERVER_HAS_BEEN_STOPPED_INFO
+ EN Local music service has been stopped due to a problem.
+
+
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins