Author: titmuss
Date: Tue Nov 4 07:26:35 2008
New Revision: 3274
URL: http://svn.slimdevices.com?rev=3274&root=Jive&view=rev
Log:
Bug: N/A
Description:
Added support for 'serv' and 'dsco' slimproto commands to SqueezePlay.
Initial testing against SN. SN needs support adding for SqueezePlay, see bug
9900.
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua?rev=3274&root=Jive&r1=3273&r2=3274&view=diff
==============================================================================
---
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
(original)
+++
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
Tue Nov 4 07:26:35 2008
@@ -70,7 +70,7 @@
end
-
metaState.player:free(metaState.player:getSlimServer())
+
metaState.player:destroy(metaState.player:getSlimServer())
metaState.player = nil
settings.serverName = nil
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua?rev=3274&root=Jive&r1=3273&r2=3274&view=diff
==============================================================================
---
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
(original)
+++
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
Tue Nov 4 07:26:35 2008
@@ -1248,7 +1248,7 @@
if sn_hostname == "www.squeezenetwork.com" then
self.data2.server_address = Udap.packNumber(1, 4)
- elseif sn_hostname == "www.beta.squeezenetwork.com" then
+ elseif sn_hostname == "www.test.squeezenetwork.com" then
self.data2.server_address = Udap.packNumber(1, 4)
-- XXX the above should be this when "serv 2" in all
firmware:
-- self.data2.server_address = Udap.packNumber(2, 4)
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua?rev=3274&root=Jive&r1=3273&r2=3274&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua Tue Nov
4 07:26:35 2008
@@ -277,11 +277,6 @@
}
end,
- body = function(self, packet)
- -- XXXX
- log:warn("TODO")
- end,
-
cont = function(self, packet)
return {
icyMetaInterval = unpackNumber(packet, 5, 4),
@@ -291,16 +286,21 @@
end,
dsco = function(self, packet)
+ return { }
+ end,
+
+ serv = function(self, packet)
+ return {
+ serverip = unpackNumber(packet, 5, 4),
+ }
+ end,
+
+ http = function(self, packet)
-- XXXX
log:warn("TODO")
end,
- serv = function(self, packet)
- -- XXXX
- log:warn("TODO")
- end,
-
- http = function(self, packet)
+ body = function(self, packet)
-- XXXX
log:warn("TODO")
end,
@@ -335,6 +335,25 @@
-- reconnect timer
obj.reconnectTimer = Timer(0, function() _handleTimer(obj) end, true)
+ -- subscriptions
+ obj:subscribe("dsco", function(_, data)
+ log:info("server told us to disconnect")
+ obj:disconnect()
+ end)
+
+ obj:subscribe("serv", function(_, data)
+ local server = data.serverip
+
+ if server == 1 then
+ server = "www.squeezenetwork.com"
+ else
+ server = "www.test.squeezenetwork.com"
+ end
+
+ log:info("server told us to connect to ", server)
+ obj:connect(server)
+ end)
+
return obj
end
@@ -373,7 +392,7 @@
local opcode = string.sub(data, 1, 4)
log:debug("read opcode=", opcode, " #", #data)
- --_hexDump(opcode, data)
+ _hexDump(opcode, data)
-- decode packet
local packet
@@ -416,6 +435,10 @@
self.serverip = serverip
self.reconnect = false
end
+
+ -- Bug 9900
+ -- Don't allow connections to SN yet
+ assert(not string.match(self.serverip, "squeezenetwork.com"))
self.socket = SocketTcp(self.jnt, self.serverip, PORT, "SlimProto")
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua?rev=3274&root=Jive&r1=3273&r2=3274&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua Tue
Nov 4 07:26:35 2008
@@ -56,7 +56,7 @@
end
-function free(self, server)
+function destroy(self, server)
-- close any previous connection
if self.slimproto then
self.slimproto:disconnect()
@@ -69,7 +69,6 @@
end
Player.free(self, server)
-
end
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=3274&root=Jive&r1=3273&r2=3274&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Tue Nov 4
07:26:35 2008
@@ -1234,7 +1234,7 @@
if sn_hostname == "www.squeezenetwork.com" then
data.server_address = Udap.packNumber(1, 4)
- elseif sn_hostname == "www.beta.squeezenetwork.com" then
+ elseif sn_hostname == "www.test.squeezenetwork.com" then
data.server_address = Udap.packNumber(1, 4)
-- XXX the above should be this when "serv 2" in all
firmware:
-- data.server_address = Udap.packNumber(2, 4)
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins