PDA

View Full Version : Display code - new ticker scrolling mode & text playercode - please try



Triode
2005-06-07, 13:50
Hi,

As I mentioned a couple of weeks ago I have been looking at aligning the display code for character based players with the new code
for graphics players. The idea being to align the display logic such that things like different scrolling modes, showBriefly etc
work exactly the same (as far as possible) for all players.

Based on this I have also been looking at adding a new scrolling mode which I have called "ticker" mode as it mirrors the ticker
display on news TV programs etc. Text appears from the right, scrolls across to the left and disappears for ever. I was thinking
that this may be better suited to screensavers such as RSS than the traditional scroll round in a loop code which has to display the
initial text at least twice. It also has a mechanism to provide feedback to of how much text is queued up to display, so a ticker
app can optimise the text it queues up to display.

Anyway I've got to the point where some feedback would be appreciated on the attached patch:

1) For a SB1 and SLIMP3, does the attached patch give any noticable differences in display, scrolling and other animations? [There
are a couple of intentional ones but otherwise should be the same with slightly lower cpu for scrolling.]

2) On a graphics player (SBG, SB2), what do you think of the ticker scrolling mode? This can be demoed using the PlaylistTicker
screensaver. This cycles though the current playlist adding titles to the ticker. It actually goes round in a loop, but the ticker
code does not need this, its just the easiest source of a constant set of new text to put on the ticker I could think of. [ticker
not implemented yet for character display players, but will be assuming people like it...!]

[Specific note on PlaylistTicker screensaver:
On a slow server with fast scrolling you may notice some display jitter the first loop round the playlist. This is because of the
cost of the database access to get the titles - these are cached for subsequent loops. However this is not a feature of the ticker
scrolling itself. You will also notice a strange display when switching into the ticker screensaver. This will be removed in
future. NB screensaver has no UI code - select from the web page]

So what do you think?

Adrian

Triode
2005-06-14, 13:57
Hi,

Well I didn't get much (any) feedback last time, but here's an update - please try to give me feedback on the new ticker mode.

This time I've included a quick modification to RssNews.pm to use the ticker scrolling mode. This should demonstrate what it does
and give you chance to feedback....!
(this is only a minor mod I'd like to discuss with Dave [or other maintainer] how change Rss to make better use of ticker mode)

Patch includes:
- new ticker scrolling mode for both graphics and character based players [text scroll across screen from right edge and off screen
to left]
- major rewrite of character player display code to align with graphics players and give common capabilities [including merging much
of previous graphics code into Player.pm]

I've also include my demo playlist ticker - please comment on whether this is worth developing properly as I was only using it as a
test harness for the display code.

Feedback from those with character based players that everything still works would also be appreciated. [Should do the same with
one difference - lets see if you find it!]

Adrian

fcm4711
2005-06-16, 14:14
Hi Adrian

Well, since I haven't used the RSS ticker until now, I cannot tell if there is a difference.

I applied your patch to the current version (trunk 3412) and hooked up three players (SB2, SBG, SLIMP3). All of them are playing MP3s and have RSS ticker as screensaver. I'm running on SuSE Linux and so far it looks pretty nice.

The only thing I have to report is an occasional freeze of scrolling on SB2. I haven't found out what provokes it, but pressing the size button on the remote resolves the freezing.

Question: I use (in my ShadowPlay plugin) $client->update(), but this call now fails since update() is now a function of Player.pm. What do I need to call to refresh a client's display once?

Felix

fcm4711
2005-06-16, 14:40
Hi again

It seems I can call $client->update() for SLIMP3 and SBG, but not for SB2.
I get the following error: Undefined subroutine &Slim::Player::SqueezeboxG::update called at ...

Felix

Triode
2005-06-17, 10:26
Felix,

Hum - update is a method on client which should mean just having it in Player.pm should work fine as Squeezbox2 should inherited all
these methods as appropriate.

I have been using update in plugins, (and slimserver does it in many places - some of which I would like to remove). Could you give
me some more details or remind me where to find your plugin.

Adrian
----- Original Message -----
From: "fcm4711" <fcm4711.1qqo4z (AT) no-mx (DOT) forums.slimdevices.com>
To: <developers (AT) lists (DOT) slimdevices.com>
Sent: Thursday, June 16, 2005 10:40 PM
Subject: [Developers] Re: Display code - new ticker scrolling mode & textplayercode - please try


>
> Hi again
>
> It seems I can call $client->update() for SLIMP3 and SBG, but not for
> SB2.
> I get the following error: Undefined subroutine
> &Slim::Player::SqueezeboxG::update called at ...
>
> Felix
>
>
> --
> fcm4711
>

Triode
2005-06-18, 07:16
Felix,

Just looked at your screensaver, I think the offending line is:
line 360: my $update = Slim::Utils::Timers::pendingTimers( $remotePlayer,\&Slim::Player::SqueezeboxG::update);

This would need to be changed with my patch as update is moved.

However I am not certain what this line is doing? I don't see you setting a timer for update, so are you trying to make sure other
timers for update are fired. If so I have probably changed these in the patch too... These are used now for showBriefly, but not
for other animations.

If you just want to stop any future animation, a call to $client->killAnimation() would probably be better.

Adrian

----- Original Message -----
From: "fcm4711" <fcm4711.1qqo4z (AT) no-mx (DOT) forums.slimdevices.com>
To: <developers (AT) lists (DOT) slimdevices.com>
Sent: Thursday, June 16, 2005 10:40 PM
Subject: [Developers] Re: Display code - new ticker scrolling mode & textplayercode - please try


>
> Hi again
>
> It seems I can call $client->update() for SLIMP3 and SBG, but not for
> SB2.
> I get the following error: Undefined subroutine
> &Slim::Player::SqueezeboxG::update called at ...
>
> Felix
>
>
> --
> fcm4711
>

fcm4711
2005-06-19, 14:34
Hi Adrian

Thanks. The code was used to get a remote players display when it was in showBriefly mode.

I posted a new version of ShadowPlay on my website that uses the new renderCache which makes it much easier to get a remote players display and doesn't require to have a special case for showBriefly.

Thanks again
Felix

Triode
2005-06-19, 14:38
Hi,

Here's the latest version of this patch. I think this is getting close to the point where it could be committed - so please provide
feedback - especially "it works".
As it makes major changes to the display code for all players, I'd like to get some consensus that it is OK before committing..

Major changes from previous patch:
- RssNews plugin screensaver bits rewritten to make better use of the ticker scrolling mode - individual news items are queued to
the ticker rather than a set of items from one source.
- new client pref to set the default scroll mode [on client display web page] - allows uses to disable scrolling text or enable
"scrollonce" mode for a specific player

Please let me know if RssNews screensaver does something odd - I think I have reimplemented the same logic as before, but had to
change it a bit to make better use of the ticker.

Internal changes:
- tweeks to ticker scrolling
- scrollonce mode now suppresses new scrolls if update is called again (e.g. when a mode has modeUpdateInterval set)
- removal of easteregg IR code as the animation is no longer supported

Hopefully this covers the requests in bugs 1657 and bug 1676 and should also cover the remaining issues with bug 1154.

Adrian

[I note that RssNews still blocks the user interface until a response is received from the server or it times out - I don't think
I've made this any worse, but think this could be moved to the asych http sometime?]

kdf
2005-06-19, 15:29
works here. even the old slimp3 is happily ticking off rss feed.
-kdf

fcm4711
2005-06-19, 15:58
Hi Adrian

I just applied the latest patch to revision 3444 and it looks good. SlimServer running on Linux with SLIMP3, SBG and SB2 all ticking rss feed.

Good night
Felix

Dan Sully
2005-06-19, 16:00
* fcm4711 shaped the electrons to say...

>I just applied the latest patch to revision 3444 and it looks good.
>SlimServer running on Linux with SLIMP3, SBG and SB2 all ticking rss feed.

Looks good here as well - SB2

-D
--
They're techno trousers, ex-NASA, fantastic for walkies!

dean
2005-06-19, 21:46
Let's get it in the trunk so we can mess with it in the next nightly!

On Jun 19, 2005, at 4:00 PM, Dan Sully wrote:

> * fcm4711 shaped the electrons to say...
>
>
>> I just applied the latest patch to revision 3444 and it looks good.
>> SlimServer running on Linux with SLIMP3, SBG and SB2 all ticking
>> rss feed.
>>
>
> Looks good here as well - SB2
>
> -D
> --
> They're techno trousers, ex-NASA, fantastic for walkies!
>

Triode
2005-06-20, 15:17
> Let's get it in the trunk so we can mess with it in the next nightly!
Its in!

This patch removes the need for Slim/Display/VFD/Animation.pm and I also don't think anything is using Slim/Display/Animation.pm
should these be removed?

(Looks to me that Slim/Display/Animation.pm was retained for backwards compatibilty, but seeing as all plugins have had to be
updated for 6.0, my thinking was that this is not needed?)

Adrian