Bugzilla – Bug 1151
DateTime screensaver does not work on SB2
Last modified: 2008-08-18 10:53:01 UTC
When using datetime as the screensaver while the player is _on_, the display updates very infrequently. So the clock appears stopped. Take a look at SqueezeBox2::refresh(). It special cases modes which require frequent updates, but fails to test for the datetime mode while player is on. The quickest fix would be to explicitly test for the datetime mode there. In the slimservice branch, I solved this (and another) problem by allowing each mode to specify their required update interval. They do this by setting a mode param, 'modeUpdateInterval'. If you'd like to bring that fix into the trunk, just assign this bug to me.
the comment on Squeezebox2::refresh indicates the need to move this control to the modes. I think its probably also good to keep common code as much as possible between server and service. I'd say go for it, Dave. we can always reopen or leave open for post 6.0 if this isn't the ideal fix. right now, its something we can at least fix for 6.0 in some way.
Created attachment 372 [details] should fix 1151 This patch allows any mode to set a param, "modeUpdateInterval". Then, while in that mode, $client->update() will be called periodically, at the interval specified by that param. Slim::Buttons::Common looks for the param in pushMode(). If set, it starts the timer which calls the updates. DateTime mode and NowPlaying modes use the new parameter to ensure they are updated every second.
Dean, please check out the attached patch and decide if you want it in 6.0. I can think of one drawback, which is that for pre-SB2 Squeezeboxen, update might be called twice a second instead of just once for now playing and datetime modes.
*** Bug 1124 has been marked as a duplicate of this bug. ***
fixed for next nightly build. Please verify and close the bug or reopen with details. Thanks!