Bugzilla – Bug 1054
Ability to set number of repeats per RSS channel
Last modified: 2011-11-06 23:23:56 UTC
The RSS feed plugin allows you to set then number of items per channel but it does not seem to have the abilty to set/limit the number or repeats or time per channel before it moves on to the next one. Currently it seems to be ~6x but it actually appears to be based on time per channel. Adjustment would be good in either case and but IMHO setting the number of repeats would be better than a timer. You could actully get fancy and have both and the ability to select either or even fancier, the greater or lesser of the two. Something like repeat 2x but for for not more than 30 seconds or repeat 1x for at least 10 seconds. Probably getting to complicated though :-).
I agree these settings wuld be nice. But right now there is no clean way to do it exactly. Because of the way we do the scrolling animation, the server has no way of knowing how long the scrolling takes. Its a function of the player model, font size, and not just the number of characters displayed but the combined width of those characters. If you watch the screensaver you'll notice that it jumps to the next feed before it reaches the end of the scroll, because even though I tried, I couldn't get the timing exactly right. But if you're willing to edit the perl code, you can easily control some aspects of this. The file to look at is Plugins/RssNews.pm. These lines near the very top of the file... # how long to scroll news before switching channels. my $screensaver_sec_per_channel = 0; # if 0, we use sec_per_letter instead my $screensaver_sec_per_letter = (1/6); # about 6 letters per second my $screensaver_sec_per_letter_double = (1/4); # When extra large fonts shown so for instance if you wanted to double the time before switching channels, change 1/6 to 1/3, and 1/4 to 1/2. But as you point out its still based on time, not number of scrolls. However if you always use the same player model and font, you can find numbers that come really close. We could expose these values in the html config, but I frankly I don't think its a clean enough solution. I'd rather wait until theres a way to know exactly when the scrolling has completed. Although I can't say how soon (if ever) that might be.
While I could easily play with the perl that would mean installing it since I use the compiled service under XP. I think I will wait until a better solution comes out since it is not a critical bug. However, I don't understand why the server doesn't know how many times it repeats the same scroll. How does scroll pause work? Also since it is based on time I don't quite understand how any hacking can change it reliably since the RSS feed are all diffent lengths. Oh also, since this seems to be more of an enhancement request, I'll reopen it as such so it doesn't get lost.
it is true that there is a scrollPause, but plugins have no access to that detail in the server. It is also implemented differently depending on player style, so that really isn't something that the rest of the server can be aware of, let alone a plugin. its possible in the future that the scrolling will even be done in hardware on the Squeezebox2, thus making it even more complicated. one possible solution would be to have the plugin set some animation parameters in order to control the timing, but that may not be a very good user experience either. I can just imagine a very long slashdot post flying by in order to fit withing a fixed time limit :) one idea for the record, could be to have a simple 'tick' sent out from any given animation once per cycle. This could then be counted. This is still not trivial and certainly lies beneath a large list of higher priorities. However, this can now sit her for the time when someone comes along who might be looking for inspiration.
Marking items that aren't going to be addressed immediately in 6.1 as future. Please update if this is in error or the bug has already been addressed.
Daryl, Is this still relavent with 6.1 and 6.2 RSS - these use a new scrolling mechanism and hence don't repeat in the same way.
Unassigned bugs cannot have a priority.