Author: titmuss
Date: Tue Oct 21 14:57:04 2008
New Revision: 3177
URL: http://svn.slimdevices.com?rev=3177&root=Jive&view=rev
Log:
Bug: N/A
Description:
Missing file.
Added:
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
Added: 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=3177&root=Jive&view=auto
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
(added)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua Tue
Oct 21 14:57:04 2008
@@ -1,0 +1,130 @@
+--[[
+
+Player instance for local playback.
+
+--]]
+
+local assert = assert
+
+local oo = require("loop.simple")
+
+local Player = require("jive.slim.Player")
+
+local SlimProto = require("jive.net.SlimProto")
+local Playback = require("jive.audio.Playback")
+
+local debug = require("jive.utils.debug")
+local log = require("jive.utils.log").logger("player")
+
+
+-- can be overridden by hardware specific classes
+local DEVICE_MODEL = "SqueezePlay"
+
+
+module(...)
+oo.class(_M, Player)
+
+
+local device2id = {
+ ["Controller"] = 9,
+ ["SqueezePlay"] = 12,
+}
+
+function __init(self, jnt, id, uuid)
+ local obj = oo.rawnew(self, Player(jnt, id))
+
+ local deviceid = device2id[DEVICE_MODEL]
+ assert(deviceid)
+
+ obj.slimproto = SlimProto(jnt, {
+ opcode = "HELO",
+ deviceID = deviceid,
+ revision = 0,
+ mac = id,
+ uuid = uuid,
+ })
+ obj.playback = Playback(jnt, obj.slimproto)
+
+log:warn("******** ", DEVICE_MODEL, " ", deviceid, " ", obj.slimproto)
+
+ -- initialize with default values
+ obj:updateInit(nil, {
+ name = DEVICE_MODEL,
+ model = DEVICE_MODEL,
+ })
+
+ return obj
+end
+
+
+function free(self, server)
+ -- close any previous connection
+ if self.slimproto then
+ self.slimproto:disconnect()
+ self.slimproto = nil
+ end
+
+ if self.playback then
+ self.playback:free()
+ self.playback = nil
+ end
+
+ Player.free(self, server)
+
+end
+
+
+function updateInit(self, server, init)
+ Player.updateInit(self, squeezeCenter, init)
+
+ if server then
+ self:connectToServer(server)
+ end
+end
+
+
+function needsNetworkConfig(self)
+ return false
+end
+
+
+function needsMusicSource(self)
+ return not self.slimproto:isConnected()
+end
+
+
+function canConnectToServer(self)
+ return true
+end
+
+
+function connectToServer(self, server)
+ -- close any previous connection
+ self.slimproto:disconnect()
+
+ -- make sure the server we are connecting to is awake
+ server:wakeOnLan()
+
+ if server then
+ local serverip = server:getIpPort()
+ self.slimproto:connect(serverip)
+ end
+end
+
+
+function __tostring(self)
+ return "LocalPlayer {" .. self:getName() .. "}"
+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
+--]]
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins