Author: titmuss
Date: Wed Nov 5 14:39:54 2008
New Revision: 3292
URL: http://svn.slimdevices.com?rev=3292&root=Jive&view=rev
Log:
[EMAIL PROTECTED] (orig r3272): bklaas | 2008-11-04 14:32:13 +0000
Bug: n/a
Description: add string for FULLSCREEN checkbox
[EMAIL PROTECTED] (orig r3273): bklaas | 2008-11-04 15:18:16 +0000
Bug: 9884
Description: make play/pause icon correct on track change
[EMAIL PROTECTED] (orig r3274): titmuss | 2008-11-04 15:26:35 +0000
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.
[EMAIL PROTECTED] (orig r3275): titmuss | 2008-11-04 15:30:45 +0000
Bug: 9876
Description:
Add support for power management on jive during audio playback.
[EMAIL PROTECTED] (orig r3276): titmuss | 2008-11-04 15:31:05 +0000
Bug: 9876
Description:
Add support for power management on jive during audio playback.
[EMAIL PROTECTED] (orig r3277): titmuss | 2008-11-04 18:15:41 +0000
Bug: N/A
Description:
Turn off some debug.
[EMAIL PROTECTED] (orig r3278): bklaas | 2008-11-04 22:44:37 +0000
Bug: 9821
Description: allow optional windowStyle param to be sent to setup windows for
setupLanguage and setupWelcome
add setuptitle style to FullscreenSkin (not necessary for default skin, as
squeezeplay_jive's SetupWelcome will not use setuptitle as a style)
use setuptitle style in local setupWelcome windows
[EMAIL PROTECTED] (orig r3280): tom | 2008-11-04 22:48:24 +0000
applet init work - use load+register strategy with loadPriority.lua
[EMAIL PROTECTED] (orig r3281): titmuss | 2008-11-05 14:58:52 +0000
Bug: N/A
Description:
Fix crasher when remote host terminates streaming connection.
[EMAIL PROTECTED] (orig r3282): tom | 2008-11-05 17:08:22 +0000
Bug 9823:
Description:
User settings now in <user home>/.squeezeplay/userpath/ . Will check for old
setting location if new isn't found. This directory is included at the end of
the lua path.
[EMAIL PROTECTED] (orig r3283): titmuss | 2008-11-05 17:55:48 +0000
Bug: N/A
Description:
Correct the elapsed track time. This sometimes could go negative at the start
of a track.
[EMAIL PROTECTED] (orig r3284): tom | 2008-11-05 18:51:27 +0000
Bug 9823:
Description:
User settings now in <user home>/.squeezeplay/userpath/ . Will check for old
setting location if new isn't found. This directory is included at the end of
the lua path. - Move declaration to top
[EMAIL PROTECTED] (orig r3285): bklaas | 2008-11-05 19:25:27 +0000
Bug: 9898
Description: Don't just think faster...BE faster
[EMAIL PROTECTED] (orig r3286): tom | 2008-11-05 20:14:06 +0000
fix compiler error, ssize_t doesn't exist in windows
[EMAIL PROTECTED] (orig r3288): titmuss | 2008-11-05 22:28:52 +0000
Bug: N/A
Description:
Warn, warn, warn and warn again. And bug fixes needed due to the excessive
warnings.
Modified:
7.4/trunk/ (props changed)
7.4/trunk/squeezeplay/src/squeezeplay/configure
7.4/trunk/squeezeplay/src/squeezeplay/configure.in
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectSkin/SelectSkinApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupLanguage/SetupLanguageApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/NetworkThread.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Socket.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_mad.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_vorbis.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c
7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.h
7.4/trunk/squeezeplay/src/squeezeplay/src/common.h
7.4/trunk/squeezeplay/src/squeezeplay/src/jive.c
7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive.h
7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c
7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_font.c
7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_label.c
7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_textinput.c
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/SetupWelcome/SetupWelcomeApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
Propchange: 7.4/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Wed Nov 5 14:39:54 2008
@@ -2,7 +2,7 @@
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/branches/discovery-refactor:2596
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2920
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3269
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3288
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/configure
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/configure?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/configure (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/configure Wed Nov 5 14:39:54 2008
@@ -21429,7 +21429,7 @@
if test x"$GCC" = x"yes"
then
- CFLAGS="$CFLAGS -Wall -Werror"
+ CFLAGS="$CFLAGS -Wall -Wextra -Werror -Wdeclaration-after-statement
-Wpointer-arith -Wcast-align -Wno-unused-parameter"
fi
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/configure.in
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/configure.in?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/configure.in (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/configure.in Wed Nov 5 14:39:54 2008
@@ -129,7 +129,7 @@
dnl Be pedantic when compiling
if test x"$GCC" = x"yes"
then
- CFLAGS="$CFLAGS -Wall -Werror"
+ CFLAGS="$CFLAGS -Wall -Wextra -Werror -Wdeclaration-after-statement
-Wpointer-arith -Wcast-align -Wno-unused-parameter"
fi
Modified:
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
Wed Nov 5 14:39:54 2008
@@ -255,8 +255,8 @@
end
if player:getId() ~= self.player:getId() then
- log:warn("notification was not for this player")
- log:warn("notification: ", player:getId(), "your player: ",
self.player:getId())
+ log:info("notification was not for this player")
+ log:info("notification: ", player:getId(), "your player: ",
self.player:getId())
return false
else
return true
@@ -530,6 +530,16 @@
artwork = self[windowStyle].artwork,
})
+ local playIcon = Button(Icon('play'),
+ function()
+ window:dispatchNewEvent(EVENT_KEY_PRESS,
KEY_PAUSE)
+ return EVENT_CONSUME
+ end
+ )
+ if playerStatus and playerStatus.mode == 'play' then
+ playIcon:setStyle('pause')
+ end
+
self[windowStyle].controlsGroup = Group(components.npcontrols, {
rew = Button(
Icon('rew'),
@@ -538,14 +548,8 @@
return EVENT_CONSUME
end
),
- play = Button(
- Icon('play'),
- function()
-
window:dispatchNewEvent(EVENT_KEY_PRESS, KEY_PAUSE)
- return EVENT_CONSUME
- end
- ),
- fwd = Button(
+ play = playIcon,
+ fwd = Button(
Icon('fwd'),
function()
window:dispatchNewEvent(EVENT_KEY_PRESS, KEY_FWD)
Modified:
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Playback/PlaybackApplet.lua
Wed Nov 5 14:39:54 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.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
Wed Nov 5 14:39:54 2008
@@ -289,9 +289,13 @@
end
-function setupShowSelectPlayer(self, setupNext)
+function setupShowSelectPlayer(self, setupNext, windowStyle)
+
+ if not windowStyle then
+ windowStyle = 'settingstitle'
+ end
-- get list of slimservers
- local window = Window("window", self:string("SELECT_PLAYER"),
'settingstitle')
+ local window = Window("window", self:string("SELECT_PLAYER"),
windowStyle)
window:setAllowScreensaver(false)
local menu = SimpleMenu("albummenu")
Modified:
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectSkin/SelectSkinApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectSkin/SelectSkinApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectSkin/SelectSkinApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectSkin/SelectSkinApplet.lua
Wed Nov 5 14:39:54 2008
@@ -69,7 +69,7 @@
})
end
menu:addItem({
- text = self:string("FULLSCREEN_MODE"),
+ text = self:string("FULLSCREEN"),
icon = Checkbox(
"checkbox",
function(object, isSelected)
Modified:
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupLanguage/SetupLanguageApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupLanguage/SetupLanguageApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupLanguage/SetupLanguageApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupLanguage/SetupLanguageApplet.lua
Wed Nov 5 14:39:54 2008
@@ -46,16 +46,20 @@
oo.class(_M, Applet)
-function setupShowSetupLanguage(self, setupNext)
+function setupShowSetupLanguage(self, setupNext, windowStyle)
local currentLocale = locale:getLocale()
log:info("locale currently is ", currentLocale)
+
+ if not windowStyle then
+ windowStyle = 'settingstitle'
+ end
-- this uses private data/methods from Applet and locale. don't do this
elsewhere,
-- but it's needed for speed here
self.allStrings = locale:loadAllStrings(self._entry.stringsFilepath)
-- setup menu
- local window = Window("window", self:string("CHOOSE_LANGUAGE"),
'settingstitle')
+ local window = Window("window", self:string("CHOOSE_LANGUAGE"),
windowStyle)
window:setAllowScreensaver(false)
local menu = SimpleMenu("menu")
Modified:
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
Wed Nov 5 14:39:54 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.4/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua Wed Nov
5 14:39:54 2008
@@ -18,7 +18,7 @@
--]]
-- stuff we use
-local package, pairs, error, load, loadfile, io, assert = package, pairs,
error, load, loadfile, io, assert
+local package, pairs, error, load, loadfile, io, assert, os = package, pairs,
error, load, loadfile, io, assert, os
local setfenv, getfenv, require, pcall, unpack = setfenv, getfenv, require,
pcall, unpack
local tostring, tonumber, collectgarbage = tostring, tonumber, collectgarbage
@@ -76,9 +76,37 @@
-- this just for the side effect of assigning our jnt local
function __init(self, thejnt)
jnt = thejnt
+ _initUserpathdir()
return oo.rawnew(self, {})
end
+
+function _initUserpathdir()
+ local homedir
+ local home = os.getenv("HOME")
+ if home then
+ homedir = home
+ else
+ local homepath = os.getenv("HOMEPATH")
+ homedir = homepath
+ end
+
+
+ local userdir = homedir .. "/.squeezeplay"
+ _userpathdir = userdir .. "/userpath"
+ _mkdirIfMissing(userdir)
+ _mkdirIfMissing(_userpathdir)
+
+end
+
+function _mkdirIfMissing(dir)
+ if lfs.attributes(dir) == nil then
+ local created, err = lfs.mkdir(dir)
+ if not created then
+ error (string.format ("error creating dir '%s' (%s)",
dir, err))
+ end
+ end
+end
-- _saveApplet
-- creates entries for appletsDb, calculates paths and module names
@@ -98,7 +126,8 @@
metaFilepath = dir .. "/" .. name .. "/" .. name ..
"Meta.lua",
appletFilepath = dir .. "/" .. name .. "/" .. name ..
"Applet.lua",
stringsFilepath = dir .. "/" .. name .. "/" ..
"strings.txt",
- settingsFilepath = dir .. "/" .. name .. "/" ..
"settings.lua",
+ settingsFilepath = _userpathdir .. "/" .. name .. "_"
.. "settings.lua",
+ settingsFilepathLegacy = dir .. "/" .. name .. "/" ..
"settings.lua",
-- lua paths
appletModule = "applets." .. name .. "." .. name ..
"Applet",
@@ -190,19 +219,6 @@
return nil
end
return resOrErr
-end
-
-
--- _loadMetas
--- loads the meta-information of all applets
-local function _loadMetas()
- log:debug("_loadMetas")
-
- for name, entry in pairs(getSortedAppletDb(_appletsDb)) do
- if not entry.metaLoaded then
- _ploadMeta(entry)
- end
- end
end
@@ -282,7 +298,7 @@
end
-local function _pevalMeta(entry)
+local function _pregisterMeta(entry)
if entry.metaLoaded and not entry.metaRegistered then
local ok, resOrErr = pcall(_registerMeta, entry)
if not ok then
@@ -297,15 +313,25 @@
return true
end
-
+-- _loadAndRegisterMetas
+-- loads and registers the meta-information of all applets
+local function _loadAndRegisterMetas()
+ log:debug("_loadAndRegisterMetas")
+
+ for name, entry in pairs(getSortedAppletDb(_appletsDb)) do
+ if not entry.metaLoaded then
+ _ploadMeta(entry)
+ if not entry.metaRegistered then
+ _pregisterMeta(entry)
+ end
+ end
+ end
+
+end
-- _evalMetas
-- evaluates the meta-information of all applets
local function _evalMetas()
log:debug("_evalMetas")
-
- for name, entry in pairs(getSortedAppletDb(_appletsDb)) do
- _pevalMeta(entry)
- end
for name, entry in pairs(getSortedAppletDb(_appletsDb)) do
if entry.metaLoaded and not entry.metaConfigured then
@@ -346,7 +372,7 @@
log:debug("AppletManager:loadApplets")
_findApplets()
- _loadMetas()
+ _loadAndRegisterMetas()
_evalMetas()
end
@@ -565,8 +591,8 @@
local fh = io.open(entry.settingsFilepath)
if fh == nil then
- -- no settings file
- return
+ -- no settings file, look for legacy settings - remove legacy
usage after in two public releases
+ return _loadSettingsLegacy(entry)
end
local f, err = load(function() return fh:read() end)
@@ -584,6 +610,37 @@
end
end
+-- _loadSettingsLegacy - remove legacy usage after in two public releases
+--
+function _loadSettingsLegacy(entry)
+ if entry.settings then
+ -- already loaded
+ return
+ end
+
+ log:debug("_loadSettingsLegacy: ", entry.appletName)
+
+ local fh = io.open(entry.settingsFilepathLegacy)
+ if fh == nil then
+ -- no settings file
+ return
+ end
+
+ local f, err = load(function() return fh:read() end)
+ fh:close()
+
+ if not f then
+ log:error("Error reading ", entry.appletName, " legacy
settings: ", err)
+ else
+ -- evalulate the settings in a sandbox
+ local env = {}
+ setfenv(f, env)
+ f()
+
+ entry.settings = env.settings
+ end
+end
+
-- _getLoadPriority
--
function _getLoadPriority(appletDir)
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua Wed Nov
5 14:39:54 2008
@@ -115,6 +115,24 @@
function _timerCallback(self)
local status = Decode:status()
+ -- cpu power saving
+ local outputFullness = status.outputFull / status.outputSize * 100
+ if status.decodeSize > 0 then
+ if outputFullness < 80 then
+ self.jnt:cpuActive(self)
+ elseif outputFullness > 99 then
+ self.jnt:cpuInactive(self)
+ end
+ end
+
+ -- cpu power saving
+ -- note this won't enter power save for internet streams
+ local decodeFullness = status.decodeFull / status.decodeSize * 100
+ if self.stream and decodeFullness < 80 then
+ self.jnt:networkActive(self)
+ elseif not self.stream or decodeFullness > 99 then
+ self.jnt:networkInactive(self)
+ end
-- enable stream reads when decode buffer is not full
if status.decodeFull < status.decodeSize and self.stream then
@@ -314,7 +332,7 @@
n = self.stream:read(self)
end
- self:_streamDisconnect((n == false) and TCP_CLOSE_FIN or
TCP_CLOSE_LOCAL_RST)
+ self:_streamDisconnect((n == false) and TCP_CLOSE_FIN or
TCP_CLOSE_REMOTE_RST)
end
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/NetworkThread.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/NetworkThread.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/NetworkThread.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/NetworkThread.lua Wed
Nov 5 14:39:54 2008
@@ -29,7 +29,7 @@
-- stuff we use
-local _assert, tostring, table, ipairs, pairs, pcall, select, setmetatable,
type = _assert, tostring, table, ipairs, pairs, pcall, select, setmetatable,
type
+local _assert, next, tostring, table, ipairs, pairs, pcall, select,
setmetatable, type = _assert, next, tostring, table, ipairs, pairs, pcall,
select, setmetatable, type
local io = require("io")
local os = require("os")
@@ -261,32 +261,80 @@
-- Called by the network layer when the network is active
-function networkActive(self)
- if self.activeCount == 0 then
- if self.activeCallback then
- self.activeCallback(true)
- end
- end
-
- self.activeCount = self.activeCount + 1
+function networkActive(self, obj)
+ self.networkActiveCount[obj] = 1
+
+ local isempty = next(self.networkActiveCount)
+
+ if isempty and not self.networkIsActive then
+ if self.networkActiveCallback then
+ self.networkActiveCallback(true)
+ end
+
+ self.networkIsActive = true
+ end
end
-- Called by the network layer when the network is inactive
-function networkInactive(self)
- self.activeCount = self.activeCount - 1
-
- if self.activeCount == 0 then
- if self.activeCallback then
- self.activeCallback(false)
- end
+function networkInactive(self, obj)
+ self.networkActiveCount[obj] = nil
+
+ local isempty = next(self.networkActiveCount)
+
+ if not isempty and self.networkIsActive then
+ if self.networkActiveCallback then
+ self.networkActiveCallback(false)
+ end
+
+ self.networkIsActive = false
end
end
-- Register a network active callback for power management
function registerNetworkActive(self, callback)
- self.activeCallback = callback
+ self.networkActiveCallback = callback
+end
+
+
+-- Called by the network layer when the cpu is active (used for audio
+-- playback)
+function cpuActive(self, obj)
+ self.cpuActiveCount[obj] = 1
+
+ local isempty = next(self.cpuActiveCount)
+
+ if isempty and not self.cpuIsActive then
+ if self.cpuActiveCallback then
+ self.cpuActiveCallback(true)
+ end
+
+ self.cpuIsActive = true
+ end
+end
+
+
+-- Called by the network layer when the cpu is inactive (used for audio
+-- playback)
+function cpuInactive(self, obj)
+ self.cpuActiveCount[obj] = nil
+
+ local isempty = next(self.cpuActiveCount)
+
+ if not isempty and self.cpuIsActive then
+ if self.cpuActiveCallback then
+ self.cpuActiveCallback(false)
+ end
+
+ self.cpuIsActive = false
+ end
+end
+
+
+-- Register a cpu active callback for power management
+function registerCpuActive(self, callback)
+ self.cpuActiveCallback = callback
end
@@ -386,7 +434,11 @@
-- list of objects for notify
subscribers = {},
- activeCount = 0,
+ networkActiveCount = {},
+ networkIsActive = false,
+
+ cpuActiveCount = {},
+ cpuIsActive = false,
})
-- subscriptions are gc weak
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua Wed Nov
5 14:39:54 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
@@ -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.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Socket.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Socket.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Socket.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Socket.lua Wed Nov 5
14:39:54 2008
@@ -116,7 +116,7 @@
function socketActive(self)
if not self.active then
self.active = true
- self.jnt:networkActive()
+ self.jnt:networkActive(self)
end
end
@@ -124,7 +124,7 @@
function socketInactive(self)
if self.active then
self.active = false
- self.jnt:networkInactive()
+ self.jnt:networkInactive(self)
end
end
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua Wed
Nov 5 14:39:54 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.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Wed Nov 5
14:39:54 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)
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c Wed Nov 5
14:39:54 2008
@@ -510,7 +510,8 @@
static int decode_status(lua_State *L) {
size_t size, usedbytes;
u32_t bytesL, bytesH;
-
+ u64_t elapsed, delay;
+
lua_newtable(L);
fifo_lock(&decode_fifo);
@@ -521,8 +522,15 @@
lua_pushinteger(L, decode_fifo.size);
lua_setfield(L, -2, "outputSize");
- lua_pushinteger(L, (u32_t)(((u64_t)(decode_elapsed_samples -
- (decode_audio->delay ? decode_audio->delay() : 0)) *
1000) / current_sample_rate));
+
+ elapsed = decode_elapsed_samples;
+ delay = decode_audio->delay ? decode_audio->delay() : 0;
+ if (elapsed > delay) {
+ elapsed -= delay;
+ }
+ elapsed = (elapsed * 1000) / current_sample_rate;
+
+ lua_pushinteger(L, (u32_t)elapsed);
lua_setfield(L, -2, "elapsed");
/* get jiffies here so they correlate with "elapsed" as closely as
possible */
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c Wed
Nov 5 14:39:54 2008
@@ -376,7 +376,7 @@
fifo_lock(&decode_fifo);
- buf = areas[0].addr + (areas[0].first + offset *
areas[0].step) / 8;
+ buf = ((u8_t *)areas[0].addr) + (areas[0].first +
offset * areas[0].step) / 8;
callback(buf, frames);
fifo_unlock(&decode_fifo);
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c Wed
Nov 5 14:39:54 2008
@@ -70,7 +70,7 @@
struct decode_flac *self = (struct decode_flac *) data;
const FLAC__int32 *lptr, *rptr;
sample_t *sbuf, *sptr;
- int i;
+ unsigned int i;
if (self->error_occurred) {
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_mad.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_mad.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_mad.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_mad.c Wed Nov
5 14:39:54 2008
@@ -45,7 +45,7 @@
MAD_STATE_ERROR,
} state;
- int sample_rate;
+ u32_t sample_rate;
};
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c Wed
Nov 5 14:39:54 2008
@@ -73,6 +73,10 @@
output_started = FALSE;
decode_audio->stop();
+
+ crossfade_started = FALSE;
+ transition_gain_step = 0;
+ decode_elapsed_samples = 0;
}
@@ -237,9 +241,8 @@
transition_samples_in_step = 0;
while (decode_fifo.wptr != ptr) {
- size_t bytes_read, samples_read, wrap, bytes_remaining;
+ size_t s, bytes_read, samples_read, wrap, bytes_remaining;
sample_t *sptr;
- int s;
bytes_read = SAMPLES_TO_BYTES(transition_sample_step -
transition_samples_in_step);
wrap = fifo_bytes_until_wptr_wrap(&decode_fifo);
@@ -278,7 +281,7 @@
* a transition - crossfade or fade in. This method applies gain
* to both the new signal and the one that's already in the fifo.
*/
-static void decode_transition_copy_bytes(sample_t *buffer, int nbytes) {
+static void decode_transition_copy_bytes(sample_t *buffer, size_t nbytes) {
sample_t sample, *sptr;
int nsamples, s;
size_t bytes_read;
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c Wed
Nov 5 14:39:54 2008
@@ -49,8 +49,7 @@
/* fixme: this crudely mixes the samples onto the buffer */
for (i=0; i<MAX_SAMPLES; i++) {
Sint32 *s, *d;
- size_t len;
- int j;
+ size_t j, len;
if (!sample[i]) {
continue;
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_vorbis.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_vorbis.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_vorbis.c
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_vorbis.c Wed
Nov 5 14:39:54 2008
@@ -90,8 +90,8 @@
static bool_t decode_vorbis_callback(void *data) {
struct decode_vorbis *self = (struct decode_vorbis *) data;
vorbis_info *vi;
- size_t nsamples;
- int i, r, buffer_size;
+ size_t i, nsamples;
+ int r, buffer_size;
long bytes;
s16_t *rptr;
sample_t *wptr;
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c Wed Nov 5
14:39:54 2008
@@ -175,8 +175,8 @@
}
-size_t streambuf_feed_fd(int fd) {
- size_t n, size;
+ssize_t streambuf_feed_fd(int fd) {
+ ssize_t n, size;
fifo_lock(&streambuf_fifo);
@@ -484,7 +484,7 @@
u8_t buf[1024];
u8_t *buf_ptr, *body_ptr;
size_t header_len;
- int n;
+ ssize_t n;
/*
* 1: Stream (self)
@@ -521,10 +521,9 @@
return 1;
}
-
/* read buffer, but we must not overflow the stream fifo */
n = streambuf_get_freebytes();
- if (n > sizeof(buf)) {
+ if (n > (ssize_t)sizeof(buf)) {
n = sizeof(buf);
}
@@ -603,7 +602,8 @@
static int stream_writeL(lua_State *L) {
struct stream *stream;
const char *header;
- int n, len;
+ ssize_t n;
+ size_t len;
/*
* 1: Stream (self)
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.h
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.h?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.h (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.h Wed Nov 5
14:39:54 2008
@@ -38,7 +38,7 @@
extern void streambuf_feed(u8_t *buf, size_t size);
-extern size_t streambuf_feed_fd(int fd);
+extern ssize_t streambuf_feed_fd(int fd);
extern int streambuf_readL(lua_State *L);
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/common.h
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/common.h?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/common.h (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/common.h Wed Nov 5 14:39:54 2008
@@ -72,6 +72,7 @@
#define PATH_SEPARATOR_CHAR ';'
#define PATH_SEPARATOR_STR ";"
#define LIBRARY_EXT "dll"
+typedef _W64 int ssize_t;
#endif /* WIN32 */
#ifndef DIR_SEPARATOR_CHAR
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/jive.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/jive.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/jive.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/jive.c Wed Nov 5 14:39:54 2008
@@ -167,8 +167,9 @@
** relative to this executable.
*/
static void paths_setup(lua_State *L, char *app) {
- char *temp, *binpath, *path;
-
+ char *temp, *binpath, *path, *userpath;
+ const char *home;
+
DEBUG_TRACE("Setting up paths");
temp = malloc(PATH_MAX+1);
@@ -184,6 +185,11 @@
path = malloc(PATH_MAX+1);
if (!path) {
l_message("Error", "malloc failure for path");
+ exit(-1);
+ }
+ userpath = malloc(PATH_MAX+1);
+ if (!userpath) {
+ l_message("Error", "malloc failure for userpath");
exit(-1);
}
@@ -206,6 +212,20 @@
DEBUG_TRACE("* Jive binary directory: %s", binpath);
+ home = getenv("HOME");
+ if (home != NULL) {
+ strcpy(userpath, home);
+ } else{
+ const char *homepath = getenv("HOMEPATH");
+ if (homepath != NULL) {
+ strcpy(userpath, homepath);
+ } else {
+ l_message("Error", "No user home directory found,
looking for HOME and HOMEPATH env vars...");
+ exit(-1);
+ }
+ }
+
+ strcat(userpath, "/.squeezeplay/userpath");
// set paths in lua (package.path & package cpath)
lua_getglobal(L, "package");
@@ -239,6 +259,11 @@
luaL_addstring(&b, path);
luaL_addstring(&b, DIR_SEPARATOR_STR "?.lua;");
+ luaL_addstring(&b, userpath);
+ luaL_addstring(&b, DIR_SEPARATOR_STR "?.lua;");
+ luaL_addstring(&b, userpath);
+ luaL_addstring(&b, DIR_SEPARATOR_STR "?" DIR_SEPARATOR_STR
"?.lua;");
+
// set lua path
luaL_pushresult(&b);
@@ -289,6 +314,7 @@
free(temp);
free(binpath);
free(path);
+ free(userpath);
}
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive.h
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive.h?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive.h (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive.h Wed Nov 5 14:39:54 2008
@@ -258,7 +258,7 @@
Uint32 layout;
Uint32 draw;
Uint32 event;
- Uint32 queue;
+ int queue;
Uint32 garbage;
};
@@ -352,7 +352,7 @@
JiveFont *jive_font_ref(JiveFont *font);
void jive_font_free(JiveFont *font);
int jive_font_width(JiveFont *font, const char *str);
-int jive_font_nwidth(JiveFont *font, const char *str, int len);
+int jive_font_nwidth(JiveFont *font, const char *str, size_t len);
int jive_font_height(JiveFont *font);
int jive_font_capheight(JiveFont *font);
int jive_font_ascend(JiveFont *font);
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c Wed Nov 5
14:39:54 2008
@@ -80,7 +80,7 @@
luaL_error(L, "invalid Event");
}
- lua_pushinteger(L, event->type);
+ lua_pushinteger(L, (lua_Integer)event->type);
return 1;
}
@@ -92,7 +92,7 @@
luaL_error(L, "invalid Event");
}
- lua_pushinteger(L, event->ticks);
+ lua_pushinteger(L, (lua_Integer)event->ticks);
return 1;
}
@@ -127,7 +127,7 @@
case JIVE_EVENT_KEY_UP:
case JIVE_EVENT_KEY_PRESS:
case JIVE_EVENT_KEY_HOLD:
- lua_pushinteger(L, event->u.key.code);
+ lua_pushinteger(L, (lua_Integer)event->u.key.code);
return 1;
default:
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_font.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_font.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_font.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_font.c Wed Nov 5
14:39:54 2008
@@ -107,7 +107,7 @@
return font->width(font, str);
}
-int jive_font_nwidth(JiveFont *font, const char *str, int len) {
+int jive_font_nwidth(JiveFont *font, const char *str, size_t len) {
int w;
char *tmp;
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_label.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_label.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_label.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_label.c Wed Nov 5
14:39:54 2008
@@ -66,8 +66,7 @@
int jiveL_label_skin(lua_State *L) {
LabelWidget *peer;
JiveTile *bg_tile;
- size_t num_format;
- int i;
+ size_t i, num_format;
/* stack is:
* 1: widget
@@ -122,7 +121,7 @@
Uint16 width, height, offset;
int max_width = 0;
int total_height = 0;
- int num_lines = 0;
+ size_t num_lines = 0;
const char *str, *ptr;
peer = jive_getpeer(L, 1, &labelPeerMeta);
@@ -221,7 +220,7 @@
int jiveL_label_layout(lua_State *L) {
LabelWidget *peer;
Uint16 y;
- int i;
+ size_t i;
/* stack is:
* 1: widget
@@ -327,7 +326,7 @@
int jiveL_label_draw(lua_State *L) {
- int i;
+ size_t i;
/* stack is:
* 1: widget
@@ -431,7 +430,7 @@
static void jive_label_gc_lines(LabelWidget *peer) {
- int i;
+ size_t i;
if (!peer->num_lines) {
return;
@@ -460,7 +459,7 @@
static void jive_label_gc_formats(LabelWidget *peer) {
- int i;
+ size_t i;
jive_label_gc_format(&peer->base);
for (i=0; i<peer->num_format; i++) {
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_textinput.c
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_textinput.c?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_textinput.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_textinput.c Wed Nov 5
14:39:54 2008
@@ -124,8 +124,7 @@
bool drawLayer = luaL_optinteger(L, 3, JIVE_LAYER_ALL) & peer->w.layer;
const char *text;
- size_t text_len;
- int cursor;
+ size_t cursor, text_len;
int indent;
SDL_Rect old_clip, new_clip;
Uint16 text_h, text_x, text_y, text_cy, text_w, cursor_x, cursor_w,
cursor_h;
Modified:
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
Wed Nov 5 14:39:54 2008
@@ -784,6 +784,18 @@
s.minititle.icon.padding = { 0, 0, 8, 0 }
s.minititle.icon.align = 'right'
+
+ -- Based on s.title, this is for setup title style
+ s.setuptitle =
+ _uses(s.minititle, {
+ order = { 'back', 'text', 'nowplaying', 'icon'
},
+ nowplaying = { img = false },
+ icon = {
+ img = Surface:loadImage(imgpath ..
"Icons/Mini/icon_settings.png")
+ }
+ })
+
+
-- Based on s.title, this is for internetradio title style
s.internetradiotitle =
_uses(s.minititle, {
@@ -831,6 +843,7 @@
img = Surface:loadImage(imgpath ..
"Icons/Mini/icon_settings.png")
}
})
+
-- Based on s.title, this is for newmusic title style
s.newmusictitle =
Modified:
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/SetupWelcome/SetupWelcomeApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/SetupWelcome/SetupWelcomeApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/SetupWelcome/SetupWelcomeApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/SetupWelcome/SetupWelcomeApplet.lua
Wed Nov 5 14:39:54 2008
@@ -50,7 +50,7 @@
local jiveMain = jiveMain
-local welcomeTitleStyle = 'settingstitle'
+local welcomeTitleStyle = 'setuptitle'
local disableHomeKeyDuringSetup
local freeAppletWhenEscapingSetup
@@ -70,7 +70,7 @@
}
jiveMain:addItem(returnToSetup)
- self._topWindow = appletManager:callService("setupShowSetupLanguage",
function() self:step2() end)
+ self._topWindow = appletManager:callService("setupShowSetupLanguage",
function() self:step2() end, 'setuptitle')
disableHomeKeyDuringSetup =
Framework:addListener(EVENT_KEY_PRESS,
@@ -104,7 +104,7 @@
end
function step3(self)
- return appletManager:callService("setupShowSelectPlayer", function()
self:step4() end)
+ return appletManager:callService("setupShowSelectPlayer", function()
self:step4() end, 'setuptitle')
end
function step4(self)
Modified:
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
Wed Nov 5 14:39:54 2008
@@ -290,6 +290,7 @@
self.popup:setAllowScreensaver(false)
self.popup:setAlwaysOnTop(true)
self.popup:setAutoHide(false)
+ self.popup:setTransparency(false)
-- no way to exit this popup
self.upgradeListener =
Modified:
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL:
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=3292&root=Jive&r1=3291&r2=3292&view=diff
==============================================================================
---
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
(original)
+++
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
Wed Nov 5 14:39:54 2008
@@ -148,6 +148,10 @@
-- register network active function
jnt:registerNetworkActive(function(active)
self:_wlanPowerSave(active)
+ end)
+
+ jnt:registerCpuActive(function(active)
+ self:_cpuPowerOverride(active)
end)
iconbar.iconWireless:addTimer(5000, -- every 5 seconds
@@ -584,7 +588,7 @@
if self.acpower then
-- charging
- self:_setCPUSpeed(true)
+ self:_cpuPowerSave(true)
if self.audioVolume ~= nil then
log:info("Restore effect volume ", self.audioVolume)
@@ -616,7 +620,7 @@
-- battery
if state == "active" then
- self:_setCPUSpeed(true)
+ self:_cpuPowerSave(true)
self:setBrightness()
if self.audioVolume ~= nil then
@@ -628,7 +632,7 @@
interval = settings.dimmedTimeout
elseif state == "locked" then
- self:_setCPUSpeed(true)
+ self:_cpuPowerSave(true)
self:setBrightness()
if self.audioVolume ~= nil then
@@ -641,14 +645,14 @@
interval = settings.dimmedTimeout
elseif state == "dimmed" then
- self:_setCPUSpeed(true)
+ self:_cpuPowerSave(true)
self:_setBrightness(true, 8, 0)
interval = settings.sleepTimeout
else
self:_setBrightness(true, 0, 0)
- self:_setCPUSpeed(false)
+ self:_cpuPowerSave(false)
if not self.audioVolume then
self.audioVolume = Sample:getEffectVolume()
@@ -696,7 +700,7 @@
self.lockedTimer = Timer(5000,
function()
self:_setBrightness(true, 0, 0)
- self:_setCPUSpeed(false)
+ self:_cpuPowerSave(false)
end,
true)
@@ -981,6 +985,20 @@
end
+function _cpuPowerSave(self, active)
+ self.cpuActive = active
+
+ self:_setCPUSpeed(self.cpuActive or self.cpuOverride)
+end
+
+
+function _cpuPowerOverride(self, active)
+ self.cpuOverride = active
+
+ self:_setCPUSpeed(self.cpuActive or self.cpuOverride)
+end
+
+
function _setCPUSpeed(self, fast)
local filename = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
@@ -1023,14 +1041,12 @@
-- disable PS mode when on ac power, or the network and device or
-- both active. when battery powered only disable PS mode when the
-- user is actively using the device.
- if self.acpower or (self.networkActive and self.powerState == "active")
then
+ if self.acpower or self.networkActive then
self.wireless:powerSave(false)
self._wlanPowerSaveTimer:stop()
else
self._wlanPowerSaveTimer:start()
end
-
- self.networkActive = active
end
@@ -1132,7 +1148,7 @@
self.suspendPopup = popup
-- make sure the cpu is fast when we resume
- self:_setCPUSpeed(true)
+ self:_cpuPowerSave(true)
-- enable frame updates
Framework:setUpdateScreen(true)
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins