Index: src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua =================================================================== --- src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua (revision 7831) +++ src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua Mon Oct 12 18:22:21 CDT 2009 @@ -135,6 +135,10 @@ jiveMain:removeItemById("switchToSn") end +--service method +function addSwitchToSnMenuItem(self) + self:_addSwitchToSnMenuItem(self) +end function _addSwitchToSnMenuItem(self) log:debug("_addSwitchToSnMenuItem") Index: src/squeezeplay/share/applets/SlimMenus/SlimMenusMeta.lua =================================================================== --- src/squeezeplay/share/applets/SlimMenus/SlimMenusMeta.lua (revision 7548) +++ src/squeezeplay/share/applets/SlimMenus/SlimMenusMeta.lua Mon Oct 12 16:37:21 CDT 2009 @@ -19,6 +19,7 @@ self:registerService('goHome') self:registerService('hideConnectingToPlayer') self:registerService('warnOnAnyNetworkFailure') + self:registerService('addSwitchToSnMenuItem') -- add a menu item for myMusic jiveMain:addItem(self:menuItem('myMusicSelector', 'home', 'MENUS_MY_MUSIC', function(applet, ...) applet:myMusicSelector(...) end, 2, nil, "hm_myMusicSelector")) Index: src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua =================================================================== --- src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua (revision 7575) +++ src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua Mon Oct 12 16:55:39 CDT 2009 @@ -72,7 +72,7 @@ -- service to select server for a player. Note a current player must exist before calling this method -- if specificServer is set to false, then offer a list even if only one server exists. If specificServer, if only on server exists, -- it will automatically be selected. -function selectMusicSource(self, playerConnectedCallback, titleStyle, includedServers, specificServer, serverForRetry, ignoreServerConnected, confirmOnChange) +function selectMusicSource(self, playerConnectedCallback, titleStyle, includedServers, specificServer, serverForRetry, ignoreServerConnected, confirmOnChange, offerSn) if includedServers then self.includedServers = includedServers @@ -95,6 +95,7 @@ self.serverList = {} self.ignoreServerConnected = ignoreServerConnected self.confirmOnChange = confirmOnChange + self.offerSn = offerSn if specificServer then log:debug("selecting specific server ", specificServer) @@ -243,7 +244,7 @@ end end - if server and server:isSqueezeNetwork() then + if server and server:isSqueezeNetwork() and not self.offerSn then log:debug("Exclude SN") return end Index: src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua =================================================================== --- src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua (revision 7765) +++ src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua Mon Oct 12 18:22:22 CDT 2009 @@ -478,10 +478,12 @@ end -- udap setup needed? - if player:needsMusicSource() and not self.setupNext then + if player:needsMusicSource() and not self.setupMode then log:info("selectMusicSource") --todo review this with new SlimMenus changes - appletManager:callService("selectMusicSource") + --until server is connected, we offer sn switch since the user should be allowed to choose SC or SN in this limbo state + appletManager:callService("addSwitchToSnMenuItem") + appletManager:callService("selectMusicSource", nil, nil, nil, nil, nil, nil, nil, true) return false end