Author: titmuss
Date: Wed Jun 11 08:33:15 2008
New Revision: 2556
URL: http://svn.slimdevices.com?rev=2556&root=Jive&view=rev
Log:
Bug: 7873
Description:
Added service api:
AppletMeta:registerService(service) - register a service provided by this
applet.
AppletManager:hasService(service) - returns true if the service is available.
AppletManager:callService(service, ...) - call a service with optional args.
Bug: 6683
Description:
Removed SlimDiscovery and SlimServers code, replaced with SqueezeDiscovery.
This is a
re-write with improved connection logic. Checkpoint for work in progress.
Added:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
Removed:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimDiscovery/
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServers.lua
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.am
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.in
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceMeta.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/InfoBrowser/InfoBrowserApplet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupNetTest/SetupNetTestApplet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/Applet.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/utils/log.lua
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.am
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.am?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
--- 7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.am
(original)
+++ 7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.am Wed
Jun 11 08:33:15 2008
@@ -155,7 +155,6 @@
dist_luaslim_DATA = \
share/jive/slim/Player.lua \
share/jive/slim/SlimServer.lua \
- share/jive/slim/SlimServers.lua \
share/jive/slim/ArtworkCache.lua
luautildir = $(pkgdatadir)/jive/utils
@@ -192,10 +191,10 @@
share/applets/SlimBrowser/Scanner.lua \
share/applets/SlimBrowser/Volume.lua
-applets_slimdiscoverydir = $(pkgdatadir)/applets/SlimDiscovery
-dist_applets_slimdiscovery_DATA = \
- share/applets/SlimDiscovery/SlimDiscoveryApplet.lua \
- share/applets/SlimDiscovery/SlimDiscoveryMeta.lua
+applets_squeezediscoverydir = $(pkgdatadir)/applets/SqueezeDiscovery
+dist_applets_squeezediscovery_DATA = \
+ share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua \
+ share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
applets_flickrdir = $(pkgdatadir)/applets/Flickr
dist_applets_flickr_DATA = \
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.in
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.in?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
--- 7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.in
(original)
+++ 7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/Makefile.in Wed
Jun 11 08:33:15 2008
@@ -63,7 +63,7 @@
$(dist_applets_setupwallpaper_DATA) \
$(dist_applets_setupwallpaper_wallpaper_DATA) \
$(dist_applets_slimbrowser_DATA) \
- $(dist_applets_slimdiscovery_DATA) \
+ $(dist_applets_squeezediscovery_DATA) \
$(dist_applets_squeezenetworkpin_DATA) $(dist_jive_DATA) \
$(dist_jiveui_DATA) $(dist_luanet_DATA) $(dist_luaslim_DATA) \
$(dist_luautil_DATA) $(srcdir)/Makefile.am \
@@ -119,7 +119,7 @@
"$(DESTDIR)$(applets_setupwallpaperdir)" \
"$(DESTDIR)$(applets_setupwallpaper_wallpaperdir)" \
"$(DESTDIR)$(applets_slimbrowserdir)" \
- "$(DESTDIR)$(applets_slimdiscoverydir)" \
+ "$(DESTDIR)$(applets_squeezediscoverydir)" \
"$(DESTDIR)$(applets_squeezenetworkpindir)" \
"$(DESTDIR)$(jivedir)" "$(DESTDIR)$(jiveuidir)" \
"$(DESTDIR)$(luanetdir)" "$(DESTDIR)$(luaslimdir)" \
@@ -179,7 +179,7 @@
dist_applets_setupwallpaperDATA_INSTALL = $(INSTALL_DATA)
dist_applets_setupwallpaper_wallpaperDATA_INSTALL = $(INSTALL_DATA)
dist_applets_slimbrowserDATA_INSTALL = $(INSTALL_DATA)
-dist_applets_slimdiscoveryDATA_INSTALL = $(INSTALL_DATA)
+dist_applets_squeezediscoveryDATA_INSTALL = $(INSTALL_DATA)
dist_applets_squeezenetworkpinDATA_INSTALL = $(INSTALL_DATA)
dist_jiveDATA_INSTALL = $(INSTALL_DATA)
dist_jiveuiDATA_INSTALL = $(INSTALL_DATA)
@@ -208,7 +208,7 @@
$(dist_applets_setupwallpaper_DATA) \
$(dist_applets_setupwallpaper_wallpaper_DATA) \
$(dist_applets_slimbrowser_DATA) \
- $(dist_applets_slimdiscovery_DATA) \
+ $(dist_applets_squeezediscovery_DATA) \
$(dist_applets_squeezenetworkpin_DATA) $(dist_jive_DATA) \
$(dist_jiveui_DATA) $(dist_luanet_DATA) $(dist_luaslim_DATA) \
$(dist_luautil_DATA)
@@ -454,7 +454,6 @@
dist_luaslim_DATA = \
share/jive/slim/Player.lua \
share/jive/slim/SlimServer.lua \
- share/jive/slim/SlimServers.lua \
share/jive/slim/ArtworkCache.lua
luautildir = $(pkgdatadir)/jive/utils
@@ -490,10 +489,10 @@
share/applets/SlimBrowser/Scanner.lua \
share/applets/SlimBrowser/Volume.lua
-applets_slimdiscoverydir = $(pkgdatadir)/applets/SlimDiscovery
-dist_applets_slimdiscovery_DATA = \
- share/applets/SlimDiscovery/SlimDiscoveryApplet.lua \
- share/applets/SlimDiscovery/SlimDiscoveryMeta.lua
+applets_squeezediscoverydir = $(pkgdatadir)/applets/SqueezeDiscovery
+dist_applets_squeezediscovery_DATA = \
+ share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua \
+ share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
applets_flickrdir = $(pkgdatadir)/applets/Flickr
dist_applets_flickr_DATA = \
@@ -1652,22 +1651,22 @@
echo " rm -f '$(DESTDIR)$(applets_slimbrowserdir)/$$f'"; \
rm -f "$(DESTDIR)$(applets_slimbrowserdir)/$$f"; \
done
-install-dist_applets_slimdiscoveryDATA: $(dist_applets_slimdiscovery_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(applets_slimdiscoverydir)" || $(mkdir_p)
"$(DESTDIR)$(applets_slimdiscoverydir)"
- @list='$(dist_applets_slimdiscovery_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(dist_applets_slimdiscoveryDATA_INSTALL) '$$d$$p'
'$(DESTDIR)$(applets_slimdiscoverydir)/$$f'"; \
- $(dist_applets_slimdiscoveryDATA_INSTALL) "$$d$$p"
"$(DESTDIR)$(applets_slimdiscoverydir)/$$f"; \
- done
-
-uninstall-dist_applets_slimdiscoveryDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(dist_applets_slimdiscovery_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(applets_slimdiscoverydir)/$$f'"; \
- rm -f "$(DESTDIR)$(applets_slimdiscoverydir)/$$f"; \
+install-dist_applets_squeezediscoveryDATA:
$(dist_applets_squeezediscovery_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(applets_squeezediscoverydir)" || $(mkdir_p)
"$(DESTDIR)$(applets_squeezediscoverydir)"
+ @list='$(dist_applets_squeezediscovery_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dist_applets_squeezediscoveryDATA_INSTALL) '$$d$$p'
'$(DESTDIR)$(applets_squeezediscoverydir)/$$f'"; \
+ $(dist_applets_squeezediscoveryDATA_INSTALL) "$$d$$p"
"$(DESTDIR)$(applets_squeezediscoverydir)/$$f"; \
+ done
+
+uninstall-dist_applets_squeezediscoveryDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_applets_squeezediscovery_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(applets_squeezediscoverydir)/$$f'"; \
+ rm -f "$(DESTDIR)$(applets_squeezediscoverydir)/$$f"; \
done
install-dist_applets_squeezenetworkpinDATA:
$(dist_applets_squeezenetworkpin_DATA)
@$(NORMAL_INSTALL)
@@ -1823,7 +1822,7 @@
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/config $(distdir)/share/applets/ChooseMusicSource
$(distdir)/share/applets/Clock $(distdir)/share/applets/CustomizeHomeMenu
$(distdir)/share/applets/DefaultSkin
$(distdir)/share/applets/DefaultSkin/images $(distdir)/share/applets/Flickr
$(distdir)/share/applets/HttpAuth $(distdir)/share/applets/InfoBrowser
$(distdir)/share/applets/LogSettings $(distdir)/share/applets/MacroPlay
$(distdir)/share/applets/NowPlaying $(distdir)/share/applets/NowPlaying/images
$(distdir)/share/applets/ScreenSavers $(distdir)/share/applets/Screenshot
$(distdir)/share/applets/SelectPlayer
$(distdir)/share/applets/SetupAppletInstaller
$(distdir)/share/applets/SetupDateTime $(distdir)/share/applets/SetupLanguage
$(distdir)/share/applets/SetupNetTest
$(distdir)/share/applets/SetupSoundEffects
$(distdir)/share/applets/SetupSoundEffects/sounds
$(distdir)/share/applets/SetupSqueezebox
$(distdir)/share/applets/SetupWallpaper
$(distdir)/share/applets/SetupWallpaper/wallpaper $(distdi!
r)/share/applets/SlimBrowser $(distdir)/share/applets/SlimDiscovery
$(distdir)/share/applets/SqueezeNetworkPIN $(distdir)/share/jive
$(distdir)/share/jive/net $(distdir)/share/jive/slim $(distdir)/share/jive/ui
$(distdir)/share/jive/utils $(distdir)/src
+ $(mkdir_p) $(distdir)/config $(distdir)/share/applets/ChooseMusicSource
$(distdir)/share/applets/Clock $(distdir)/share/applets/CustomizeHomeMenu
$(distdir)/share/applets/DefaultSkin
$(distdir)/share/applets/DefaultSkin/images $(distdir)/share/applets/Flickr
$(distdir)/share/applets/HttpAuth $(distdir)/share/applets/InfoBrowser
$(distdir)/share/applets/LogSettings $(distdir)/share/applets/MacroPlay
$(distdir)/share/applets/NowPlaying $(distdir)/share/applets/NowPlaying/images
$(distdir)/share/applets/ScreenSavers $(distdir)/share/applets/Screenshot
$(distdir)/share/applets/SelectPlayer
$(distdir)/share/applets/SetupAppletInstaller
$(distdir)/share/applets/SetupDateTime $(distdir)/share/applets/SetupLanguage
$(distdir)/share/applets/SetupNetTest
$(distdir)/share/applets/SetupSoundEffects
$(distdir)/share/applets/SetupSoundEffects/sounds
$(distdir)/share/applets/SetupSqueezebox
$(distdir)/share/applets/SetupWallpaper
$(distdir)/share/applets/SetupWallpaper/wallpaper $(distdi!
r)/share/applets/SlimBrowser $(distdir)/share/applets/SqueezeDiscovery
$(distdir)/share/applets/SqueezeNetworkPIN $(distdir)/share/jive
$(distdir)/share/jive/net $(distdir)/share/jive/slim $(distdir)/share/jive/ui
$(distdir)/share/jive/utils $(distdir)/src
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -1952,7 +1951,7 @@
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testdir)"
"$(DESTDIR)$(applets_choosemusicsourcedir)" "$(DESTDIR)$(applets_clockdir)"
"$(DESTDIR)$(applets_customizehomemenudir)"
"$(DESTDIR)$(applets_defaultskindir)"
"$(DESTDIR)$(applets_defaultskin_imagesdir)" "$(DESTDIR)$(applets_flickrdir)"
"$(DESTDIR)$(applets_httpauthdir)" "$(DESTDIR)$(applets_infobrowserdir)"
"$(DESTDIR)$(applets_logdir)" "$(DESTDIR)$(applets_macroplaydir)"
"$(DESTDIR)$(applets_nowplayingdir)"
"$(DESTDIR)$(applets_nowplaying_imagesdir)"
"$(DESTDIR)$(applets_screensaversdir)" "$(DESTDIR)$(applets_screenshotdir)"
"$(DESTDIR)$(applets_selectplayerdir)"
"$(DESTDIR)$(applets_setupSqueezeboxdir)"
"$(DESTDIR)$(applets_setupappletinstallerdir)"
"$(DESTDIR)$(applets_setupdatetimedir)" "$(DESTDIR)$(applets_setuplanguagedir)"
"$(DESTDIR)$(applets_setupnettestdir)"
"$(DESTDIR)$(applets_setupsoundeffectsdir)"
"$(DESTDIR)$(applets_setupsoundeffects_soundsdir)"
"$(DESTDIR)$(applets_setupwallpaperdir)" "$(DESTDIR)$(app!
lets_setupwallpaper_wallpaperdir)" "$(DESTDIR)$(applets_slimbrowserdir)"
"$(DESTDIR)$(applets_slimdiscoverydir)"
"$(DESTDIR)$(applets_squeezenetworkpindir)" "$(DESTDIR)$(jivedir)"
"$(DESTDIR)$(jiveuidir)" "$(DESTDIR)$(luanetdir)" "$(DESTDIR)$(luaslimdir)"
"$(DESTDIR)$(luautildir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testdir)"
"$(DESTDIR)$(applets_choosemusicsourcedir)" "$(DESTDIR)$(applets_clockdir)"
"$(DESTDIR)$(applets_customizehomemenudir)"
"$(DESTDIR)$(applets_defaultskindir)"
"$(DESTDIR)$(applets_defaultskin_imagesdir)" "$(DESTDIR)$(applets_flickrdir)"
"$(DESTDIR)$(applets_httpauthdir)" "$(DESTDIR)$(applets_infobrowserdir)"
"$(DESTDIR)$(applets_logdir)" "$(DESTDIR)$(applets_macroplaydir)"
"$(DESTDIR)$(applets_nowplayingdir)"
"$(DESTDIR)$(applets_nowplaying_imagesdir)"
"$(DESTDIR)$(applets_screensaversdir)" "$(DESTDIR)$(applets_screenshotdir)"
"$(DESTDIR)$(applets_selectplayerdir)"
"$(DESTDIR)$(applets_setupSqueezeboxdir)"
"$(DESTDIR)$(applets_setupappletinstallerdir)"
"$(DESTDIR)$(applets_setupdatetimedir)" "$(DESTDIR)$(applets_setuplanguagedir)"
"$(DESTDIR)$(applets_setupnettestdir)"
"$(DESTDIR)$(applets_setupsoundeffectsdir)"
"$(DESTDIR)$(applets_setupsoundeffects_soundsdir)"
"$(DESTDIR)$(applets_setupwallpaperdir)" "$(DESTDIR)$(app!
lets_setupwallpaper_wallpaperdir)" "$(DESTDIR)$(applets_slimbrowserdir)"
"$(DESTDIR)$(applets_squeezediscoverydir)"
"$(DESTDIR)$(applets_squeezenetworkpindir)" "$(DESTDIR)$(jivedir)"
"$(DESTDIR)$(jiveuidir)" "$(DESTDIR)$(luanetdir)" "$(DESTDIR)$(luaslimdir)"
"$(DESTDIR)$(luautildir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -2028,7 +2027,7 @@
install-dist_applets_setupwallpaperDATA \
install-dist_applets_setupwallpaper_wallpaperDATA \
install-dist_applets_slimbrowserDATA \
- install-dist_applets_slimdiscoveryDATA \
+ install-dist_applets_squeezediscoveryDATA \
install-dist_applets_squeezenetworkpinDATA \
install-dist_jiveDATA install-dist_jiveuiDATA \
install-dist_luanetDATA install-dist_luaslimDATA \
@@ -2088,7 +2087,7 @@
uninstall-dist_applets_setupwallpaperDATA \
uninstall-dist_applets_setupwallpaper_wallpaperDATA \
uninstall-dist_applets_slimbrowserDATA \
- uninstall-dist_applets_slimdiscoveryDATA \
+ uninstall-dist_applets_squeezediscoveryDATA \
uninstall-dist_applets_squeezenetworkpinDATA \
uninstall-dist_jiveDATA uninstall-dist_jiveuiDATA \
uninstall-dist_luanetDATA uninstall-dist_luaslimDATA \
@@ -2128,7 +2127,7 @@
install-dist_applets_setupwallpaperDATA \
install-dist_applets_setupwallpaper_wallpaperDATA \
install-dist_applets_slimbrowserDATA \
- install-dist_applets_slimdiscoveryDATA \
+ install-dist_applets_squeezediscoveryDATA \
install-dist_applets_squeezenetworkpinDATA \
install-dist_jiveDATA install-dist_jiveuiDATA \
install-dist_luanetDATA install-dist_luaslimDATA \
@@ -2164,7 +2163,7 @@
uninstall-dist_applets_setupwallpaperDATA \
uninstall-dist_applets_setupwallpaper_wallpaperDATA \
uninstall-dist_applets_slimbrowserDATA \
- uninstall-dist_applets_slimdiscoveryDATA \
+ uninstall-dist_applets_squeezediscoveryDATA \
uninstall-dist_applets_squeezenetworkpinDATA \
uninstall-dist_jiveDATA uninstall-dist_jiveuiDATA \
uninstall-dist_luanetDATA uninstall-dist_luaslimDATA \
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
Wed Jun 11 08:33:15 2008
@@ -28,7 +28,6 @@
local table = require("jive.utils.table")
local Applet = require("jive.Applet")
-local SlimServers = require("jive.slim.SlimServers")
local Framework = require("jive.ui.Framework")
local Checkbox = require("jive.ui.Checkbox")
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceMeta.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceMeta.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceMeta.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceMeta.lua
Wed Jun 11 08:33:15 2008
@@ -42,8 +42,8 @@
function registerApplet(self)
-- set the poll list for discovery of slimservers based on our settings
- if AppletManager:hasService("setPollList") then
- AppletManager:callService("setPollList",
self:getSettings().poll)
+ if appletManager:hasService("setPollList") then
+ appletManager:callService("setPollList",
self:getSettings().poll)
jiveMain:addItem(self:menuItem('appletSlimservers', 'settings',
"SLIMSERVER_SERVERS", function(applet, ...) applet:settingsShow(...) end, 60))
end
end
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/InfoBrowser/InfoBrowserApplet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/InfoBrowser/InfoBrowserApplet.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/InfoBrowser/InfoBrowserApplet.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/InfoBrowser/InfoBrowserApplet.lua
Wed Jun 11 08:33:15 2008
@@ -19,7 +19,6 @@
local string = require("string")
local Applet = require("jive.Applet")
-local SlimServers = require("jive.slim.SlimServers")
local AppletManager = require("jive.AppletManager")
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
Wed Jun 11 08:33:15 2008
@@ -255,7 +255,7 @@
function _isThisPlayer(self, player)
if not self.player and not self.player:getId() then
- self.player = AppletManager:callService("getCurrentPlayer")
+ self.player = appletManager:callService("getCurrentPlayer")
end
if player.id ~= self.player:getId() then
@@ -562,7 +562,7 @@
log:debug("CREATING UI FOR NOWPLAYING")
self[windowStyle].window = _createUI(self)
- self.player = AppletManager:callService("getCurrentPlayer")
+ self.player = appletManager:callService("getCurrentPlayer")
local transitionOn
if transition then
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupNetTest/SetupNetTestApplet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupNetTest/SetupNetTestApplet.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupNetTest/SetupNetTestApplet.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupNetTest/SetupNetTestApplet.lua
Wed Jun 11 08:33:15 2008
@@ -19,7 +19,6 @@
local string = require("string")
local Applet = require("jive.Applet")
-local SlimServers = require("jive.slim.SlimServers")
local AppletManager = require("jive.AppletManager")
Added:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua?rev=2556&root=Jive&view=auto
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
(added)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
Wed Jun 11 08:33:15 2008
@@ -1,0 +1,421 @@
+
+
+--[[
+
+
+disconnected: no connections to any servers, and no scanning.
+
+searching: we are not connected to a player, in this state we connect
+ to all SCs and SN to discover players.
+
+connected: we are connected to a player, only a connection to our
+ SC (or SN) is maintained. udp scanning is still performed in the
+ background to update the SqueezeCentre list.
+
+probing: we are connected to a player, but we must probe all SC/SN
+ update our internal state. this is used for example in the choose
+ player screen.
+
+
+--]]
+
+
+local pairs = pairs
+
+
+-- stuff we use
+local oo = require("loop.simple")
+local string = require("string")
+local table = require("jive.utils.table")
+
+local Applet = require("jive.Applet")
+
+local Framework = require("jive.ui.Framework")
+local Timer = require("jive.ui.Timer")
+
+local SocketUdp = require("jive.net.SocketUdp")
+
+local Player = require("jive.slim.Player")
+local SlimServer = require("jive.slim.SlimServer")
+
+local log = require("jive.utils.log").logger("applets.setup")
+
+local jnt = jnt
+local jiveMain = jiveMain
+local appletManager = appletManager
+
+
+module(...)
+oo.class(_M, Applet)
+
+
+-- constants
+local PORT = 3483 -- port used to discover SqueezeCentres
+local DISCOVERY_TIMEOUT = 120000 -- timeout (in milliseconds) before removing
SqueezeCentres and Players
+local DISCOVERY_PERIOD = 10000 -- discovery period
+
+
+
+-- a ltn12 source that crafts a datagram suitable to discover SqueezeCentres
+local function _slimDiscoverySource()
+ return table.concat {
+ "e",
-- new discovery packet
+ 'IPAD', string.char(0x00),
-- request IP address of server
+ 'NAME', string.char(0x00),
-- request Name of server
+ 'JSON', string.char(0x00),
-- request JSONRPC port
+ 'JVID', string.char(0x06, 0x12, 0x34, 0x56, 0x78, 0x12, 0x34),
-- My ID - FIXME mac of no use!
+ }
+end
+
+
+-- processes a udp datagram,
+local function _slimDiscoverySink(self, chunk, err)
+ log:debug("_processUdp()")
+
+ if not chunk or not chunk.data then
+ log:error("bad udp packet?")
+ return
+ end
+
+ if chunk.data:sub(1,1) ~= 'E' then
+ return
+ end
+
+ local name, ip, port = nil, chunk.ip, nil
+
+ local ptr = 2
+ while (ptr <= chunk.data:len() - 5) do
+ local t = chunk.data:sub(ptr, ptr + 3)
+ local l = string.byte(chunk.data:sub(ptr + 4, ptr + 4))
+ local v = chunk.data:sub(ptr + 5, ptr + 4 + l)
+ ptr = ptr + 5 + l
+
+ if t and l and v then
+ if t == 'NAME' then name = v
+ elseif t == 'IPAD' then ip = v
+ elseif t == 'JSON' then port = v
+ end
+ end
+ end
+
+ if name and ip and port then
+ local server = SlimServer(jnt, ip, port, name)
+
+ if self.state == 'searching'
+ or self.state == 'probing' then
+
+ -- connect to server when searching or probing
+ server:connect()
+ end
+ end
+end
+
+
+-- removes old servers
+local function _squeezeCentreCleanup(self)
+ local now = Framework:getTicks()
+
+ local activeServer = self.currentPlayer and
self.currentPlayer:getSlimServer()
+
+ for i, server in SlimServer.iterate() do
+ if not server:isConnected() and
+ activeServer ~= server and
+ now - server:getLastSeen() > DISCOVERY_TIMEOUT then
+
+ log:info("Removing server ", server:getName())
+ server:free()
+ end
+ end
+
+ -- XXXX debug
+ self:_debug()
+end
+
+
+
+-- init
+-- Initializes the applet
+function __init(self, ...)
+
+ -- init superclass
+ local obj = oo.rawnew(self, Applet(...))
+
+ -- default poll list, udp broadcast
+ obj.poll = { [ "255.255.255.255" ] = "255.255.255.255" }
+
+ -- slim discovery socket
+ obj.socket = SocketUdp(jnt,
+ function(...) _slimDiscoverySink(obj, ...) end)
+
+ -- discovery timer
+ obj.timer = Timer(DISCOVERY_PERIOD,
+ function() obj:_discover() end)
+
+ -- initial state
+ obj.currentPlayer = false
+ obj.state = 'searching'
+
+ -- start discovering
+ -- FIXME we need a slight delay here to allow the settings to be loaded
+ -- really the settings should be loaded before the applets start.
+ obj.timer:restart(2000)
+
+ -- subscribe to the jnt so that we get network/server notifications
+ jnt:subscribe(obj)
+
+ return obj
+end
+
+
+function _discover(self)
+ log:warn("#### DISCOVER")
+
+ -- Broadcast SqueezeCentre discovery
+ for i, address in pairs(self.poll) do
+ log:debug("sending to address ", address)
+ self.socket:send(_slimDiscoverySource, address, PORT)
+ end
+
+ -- Special case Squeezenetwork
+ if jnt:getUUID() then
+---- XXXX
+---- SlimServer(jnt, jnt:getSNHostname(), 9000, "SqueezeNetwork")
+ end
+
+ -- Remove SqueezeCenters that have not been seen for a while
+ _squeezeCentreCleanup(self)
+
+
+ if self.state == 'probing' and
+ Framework:getTicks() > self.probeUntil then
+
+ if self.currentPlayer and self.currentPlayer:getSlimServer()
then
+ self:_setState('connected')
+ else
+ self:_setState('searching')
+ end
+ end
+
+
+ self.timer:restart(DISCOVERY_PERIOD)
+end
+
+
+function _setState(self, state)
+ if self.state == state then
+ return -- no change
+ end
+
+ -- restart discovery if we were disconnected
+ if self.state == 'disconnected' then
+ self.timer:restart(0)
+ end
+
+ self.state = state
+
+ if state == 'disconnected' then
+ self.timer:stop()
+ self:_disconnect()
+
+ elseif state == 'searching' then
+ self.timer:restart(0)
+ self:_connect()
+
+ elseif state == 'connected' then
+ self:_idleDisconnect()
+
+ elseif state == 'probing' then
+ self.probeUntil = Framework:getTicks() + 60000
+ self.timer:restart(0)
+ self:_connect()
+
+ else
+ log:error("unknown state=", state)
+ end
+
+ -- XXXX debug
+ self:_debug()
+end
+
+
+function _debug(self)
+ log:warn("state=", self.state)
+ log:warn("currentPlayer=", self.currentPlayer)
+ if self.currentPlayer then
+ log:warn("activeServer=", self.currentPlayer:getSlimServer())
+ end
+ for i, server in SlimServer.iterate() do
+ log:warn(" server=", server:getName(), " connected=",
server:isConnected())
+ end
+end
+
+
+-- connect to all servers
+function _connect(self)
+ for i, server in SlimServer:iterate() do
+ server:connect()
+ end
+end
+
+
+-- disconnect from all servers
+function _disconnect(self)
+ for i, server in SlimServer:iterate() do
+ server:disconnect()
+ end
+end
+
+
+-- disconnect from idle servers
+function _idleDisconnect(self)
+ local activeServer = self.currentPlayer and
self.currentPlayer:getSlimServer()
+
+ for i, server in SlimServer:iterate() do
+ if server ~= activeServer then
+ server:disconnect()
+ else
+ server:connect()
+ end
+ end
+end
+
+
+-- restart discovery if the player is disconnect from SqueezeCentre
+function notify_playerDelete(self, player)
+ log:info("playerDelete")
+
+ -- start discovery looking for the player
+ self:_setState('searching')
+end
+
+
+-- restart discovery if SqueezeCentre disconnects
+function notify_serverDisconnected(self, slimserver)
+ log:info("serverDisconnected")
+
+ if not self.currentPlayer or self.currentPlayer:getSlimServer() ~=
slimserver then
+ return
+ end
+
+ -- start discovery looking for the player
+ self:_setState('searching')
+end
+
+
+-- restart discovery on new network connection
+function notify_networkConnected(self)
+ log:info("networkConnected")
+
+ if not self.currentPlayer or not self.currentPlayer:getSlimServer() then
+ -- force re-connection to all servers
+ self:_disconnect()
+ self:_connect()
+ else
+ -- force re-connection to the current player
+ self.currentPlayer:getSlimServer():disconnect()
+ self.currentPlayer:getSlimServer():connect()
+ end
+end
+
+
+
+function getCurrentPlayer(self)
+ return self.currentPlayer
+end
+
+
+function setCurrentPlayer(self, player)
+ if self.currentPlayer == player then
+ return -- no change
+ end
+
+ -- update player
+ log:info("selected player: ", player)
+ self.currentPlayer = player
+ jnt:notify("playerCurrent", player)
+
+ -- restart discovery when we have no player
+ if self.currentPlayer and self.currentPlayer:getSlimServer() then
+ self:_setState('connected')
+ else
+ self:_setState('searching')
+ end
+end
+
+
+function discoverPlayers(self)
+ self:_setState("probing")
+end
+
+
+function connectPlayer(self)
+ if self.currentPlayer and self.currentPlayer:getSlimServer() then
+ self:_setState("connected")
+ else
+ self:_setState("searching")
+ end
+end
+
+
+function disconnectPlayer(self)
+ self:_setState("disconnected")
+end
+
+
+function iteratePlayers(self)
+ return Player:iterate()
+end
+
+
+function iterateSqueezeCenters(self)
+ return SlimServer:iterate()
+end
+
+
+function countConnectedPlayers(self)
+ local count = 0
+ for i, player in Player:iterate() do
+ if player:isConnected() then
+ count = count + 1
+ end
+ end
+
+ return count
+end
+
+
+function countPlayers(self)
+ local count = 0
+ for i, player in Player:iterate() do
+ count = count + 1
+ end
+
+ return count
+end
+
+
+function getPollList(self)
+ return self.poll
+end
+
+
+function setPollList(self, poll)
+ self.poll = poll
+
+ -- get going with the new poll list
+ self:discoverPlayers()
+end
+
+
+
+--[[
+
+=head1 LICENSE
+
+Copyright 2007 Logitech. All Rights Reserved.
+
+This file is subject to the Logitech Public Source License Version 1.0. Please
see the LICENCE file for details.
+
+=cut
+--]]
+
Added:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua?rev=2556&root=Jive&view=auto
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
(added)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
Wed Jun 11 08:33:15 2008
@@ -1,0 +1,118 @@
+
+--[[
+=head1 NAME
+
+applets.SqueezeDiscovery.SqueezeDiscoveryMeta - SqueezeDiscovery meta-info
+
+=head1 DESCRIPTION
+
+See L<applets.SqueezeDiscovery.SqueezeDiscoveryApplet>.
+
+=head1 FUNCTIONS
+
+See L<jive.AppletMeta> for a description of standard applet meta functions.
+
+=cut
+--]]
+
+local oo = require("loop.simple")
+
+local AppletMeta = require("jive.AppletMeta")
+
+local debug = require("jive.utils.debug")
+local log = require("jive.utils.log").logger("applets.setup")
+
+local appletManager = appletManager
+local jnt = jnt
+
+
+module(...)
+oo.class(_M, AppletMeta)
+
+
+function jiveVersion(meta)
+ return 1, 1
+end
+
+
+function defaultSettings(meta)
+ return {
+ currentPlayer = false
+ }
+end
+
+
+function registerApplet(meta)
+ local settings = meta:getSettings()
+
+
+ meta:registerService("getCurrentPlayer")
+ meta:registerService("setCurrentPlayer")
+
+ meta:registerService("discoverPlayers")
+
+ meta:registerService("connectPlayer")
+ meta:registerService("disconnectPlayer")
+
+ meta:registerService("iteratePlayers")
+ meta:registerService("iterateSqueezeCenters")
+ meta:registerService("countConnectedPlayers")
+ meta:registerService("countPlayers")
+
+ meta:registerService("getPollList")
+ meta:registerService("setPollList")
+
+
+ -- SqueezeDiscovery is a resident Applet
+ local slimDiscovery = appletManager:loadApplet("SqueezeDiscovery")
+
+ -- With the MP firmware when SqueezeNetwork is selected a dummy player
with an ff mac
+ -- address is selected, and then a firmware update starts. When this
mac address is seen
+ -- after the upgrade we need to push the choose player and
squeezenetwork pin menus
+ if settings.currentPlayer == "ff:ff:ff:ff:ff:ff" then
+ log:info("SqueezeNetwork dummy player found")
+
+ -- change to a non-existant player to prevent browser connecting
+ settings.currentPlayer = "ff:ff:ff:ff:ff:fe"
+
+ -- wait until SN is connected so we know the PIN
+ local monitor = {
+ notify_playerNew =
+ function(self, player)
+ if player:getId() ~=
"ff:ff:ff:ff:ff:ff" then
+ return
+ end
+
+ -- unsubscribe monitor from future
events
+ jnt:unsubscribe(self)
+
+ -- push Choose Player menu
+ local selectPlayer =
appletManager:loadApplet("SelectPlayer")
+ if selectPlayer then
+
selectPlayer:setupShow(function() end)
+ end
+
+ -- push Active Squeezenetwork
+ local snPin =
appletManager:loadApplet("SqueezeNetworkPIN")
+ if snPin then
+ snPin:forcePin(player)
+ end
+ end
+ }
+
+ jnt:subscribe(monitor)
+ end
+end
+
+
+--[[
+
+=head1 LICENSE
+
+Copyright 2007 Logitech. All Rights Reserved.
+
+This file is subject to the Logitech Public Source License Version 1.0. Please
see the LICENCE file for details.
+
+=cut
+--]]
+
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/Applet.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/Applet.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/Applet.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/Applet.lua
Wed Jun 11 08:33:15 2008
@@ -144,6 +144,11 @@
end
+function registerService(self, service, closure)
+ AppletManager:registerService(self._entry.name, service, closure)
+end
+
+
--[[
=head1 LICENSE
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
Wed Jun 11 08:33:15 2008
@@ -53,6 +53,9 @@
-- loop detection
local _sentinel = function () end
+
+-- applet services
+local _services = {}
-- _init
@@ -571,6 +574,39 @@
end
+function registerService(self, appletName, service)
+ log:warn("#### registerService appletName=", appletName, " service=",
service)
+
+ _services[service] = appletName
+
+end
+
+
+function hasService(self, service)
+ log:warn("#### hasService service=", service)
+
+ return _services[service] ~= nil
+end
+
+
+function callService(self, service, ...)
+ log:warn("#### callService service=", service)
+
+ local _appletName = _services[service]
+
+ if not _appletName then
+ return
+ end
+
+ local _applet = self:loadApplet(_appletName)
+ if not _applet then
+ return
+ end
+
+ return _applet[service](_applet, ...)
+end
+
+
--[[
=head1 LICENSE
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
Wed Jun 11 08:33:15 2008
@@ -121,6 +121,11 @@
end
+function registerService(self, service)
+ appletManager:registerService(self._entry.appletName, service)
+end
+
+
--[[
=head1 LICENSE
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
Wed Jun 11 08:33:15 2008
@@ -73,6 +73,12 @@
-- list of players index by id.
local players = {}
setmetatable(players, { __mode = 'v' })
+
+
+-- class function to iterate over all players
+function iterate(class)
+ return pairs(players)
+end
-- _getSink
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua
Wed Jun 11 08:33:15 2008
@@ -74,6 +74,12 @@
local credentials = {}
+-- class function to iterate over all SqueezeCentres
+function iterate(class)
+ return pairs(servers)
+end
+
+
-- _getSink
-- returns a sink
local function _getSink(self, name)
@@ -103,6 +109,8 @@
-- log:info(event)
local data = event.data
+
+ debug.dump(data, 3)
-- check we have a result
if not data then
@@ -236,10 +244,14 @@
local id = self:idFor(ip, port, name)
local obj = servers[id]
if obj then
- obj:connect(obj)
+ log:warn("UPDATE SERVER")
+ obj:updateFromUdp(ip, port, name)
+ -- XXXX
+ -- obj:connect(obj)
return obj
end
+ log:warn("NEW SERVER")
local obj = oo.rawnew(self, {
@@ -314,9 +326,12 @@
)
-- long term connection to the server
- obj:connect(obj)
+ -- XXXX
+ ----obj:connect(obj)
-- notify we're here by caller in SlimServers
+ -- XXXX
+ jnt:notify('serverNew', server)
-- task to fetch artwork while browsing
obj.artworkFetchTask = Task("artwork", obj, processArtworkQueue)
@@ -337,6 +352,8 @@
log:debug(self, ":free()")
-- notify we're gone by caller in SlimServers
+ -- XXXX
+ self.jnt:notify("serverDelete", server)
-- clear cache
self.artworkCache:free()
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/utils/log.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/utils/log.lua?rev=2556&root=Jive&r1=2555&r2=2556&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/utils/log.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/utils/log.lua
Wed Jun 11 08:33:15 2008
@@ -190,7 +190,7 @@
["jive.main"] = jiveLogger(logging.INFO),
["jive.heap"] = jiveLogger(logging.INFO),
- ["slimserver"] = jiveLogger(logging.INFO),
+ ["slimserver"] = jiveLogger(logging.DEBUG),
["slimserver.cache"] = jiveLogger(logging.INFO),
["player"] = jiveLogger(logging.INFO),
["player.browse"] = jiveLogger(logging.INFO),
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins