Your Digital Media Has Never Looked So Good

 
phoang
Topic Author
Posts: 6
Joined: Fri Apr 04, 2014 7:41 am

screensaver?

Fri Apr 25, 2014 2:41 pm

I did a search on the forums and it did bring up forum posts regarding screensaver but the replies in my opinion is not satisfactory.

There's a post last year asking for documentation on screen saver. It still does not exist.

I've looked at the "clock" and "audioapp" sample, and screensaver implementation is non-trivial so I don't understand why there's no documentation on it.

I also tried the "audioapp" sample http://sourceforge.net/projects/rokusdkexamples/files/audioapp.zip/download but it only runs the default "Roku" screensaver.

The app channel I'm trying to write displays a blank screen on screen saver mode.

It would be great if someone could shed some light on this topic. Perhaps a little more details and not just a link to samples.
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9231
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: screensaver?

Fri Apr 25, 2014 6:51 pm

phoang wrote:
screensaver implementation is non-trivial so I don't understand why there's no documentation on it.

It is actually pretty trivial. Just add a RunScreensaver() function to your code, and it will get executed when the screensaver kicks in.

phoang wrote:
The app channel I'm trying to write displays a blank screen on screen saver mode.

Is your channel using the 2D API, by any chance? If so, that would be the problem. The screensaver won't run over a 2D screen, presumably due to memory issues, so you'll get a black screen. I don't know if that's documented, but it definitely should/needs to be. The only way I've found to work around that is to send regular keypresses via ECP to keep the channel alive, and implemented my own screensaver logic. That's definitely a hack, and it prevents the box from going into low power mode, but it's an option...
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
 
EnTerr
** Valued Community Member **
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: screensaver?

Sun Apr 27, 2014 11:37 am

Oh, frak me!
It's been almost 4 years since screen savers were introduced and they still haven't had time to document it?
Four. Years.
To give a perspective, that was before Roku can stream 1080 and the remotes had no "Back" button (nor "Replay", nor "Options"). It might have been before i have ever heard about Roku player but for sure before i got one. And i thought i was the king of procrastination. I humbly bow my head before thee, 六.

TheEndless wrote:
Just add a RunScreensaver() function to your code, and it will get executed when the screensaver kicks in. Is your channel using the 2D API, by any chance? If so, that would be the problem. The screensaver won't run over a 2D screen ...

  1. So, the system-wide screen saver (henceforth "global SS") is used for channels w/o RunScreensaver() and outside of channels?
  2. If i add RunScreensaver() to my channel, that will be used during my channel run instead of the global SS?
  3. Unless i have a roScreen alive, then none of the two SS will be called - instead screen will be blackened.
  4. Adding an appropriate flag to the manifest will make my SS selectable as system-wide SS?
  5. What's the timeout to activate the local SS, is that the global value from Settings?
Last edited by EnTerr on Sun Apr 27, 2014 1:06 pm, edited 1 time in total.
 
User avatar
squirreltown
Posts: 862
Joined: Sun Apr 21, 2013 2:20 pm

Re: screensaver?

Sun Apr 27, 2014 12:16 pm

EnTerr wrote:
[*]So, the system-wide screen saver (henceforth "global SS") is used for channels w/o RunScreensaver() and outside of channels?
[*]If i add RunScreensaver() to my channel, that will be ran instead of the global SS?
[*]Unless i have a roScreen alive, then none of the two SS will be called - instead screen will be blackened.
[*]Adding an appropriate flag to the manifest will make my SS selectable as system-wide SS?
[*]What's the timeout to activate the local SS, is that the global value from Settings?[/list]


Pretty sure it's
1. Yes
2. Yes
3. Yes*
4. Yes
5. Yes.

*This is just embarrassing. Like people who bondo their dents but never paint them. So close to finishing the job and then....Squirrel!
Kinetics Screensavers
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9231
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: screensaver?

Sun Apr 27, 2014 1:09 pm

EnTerr wrote:
Oh, frak me!
It's been almost 4 years since screen savers were introduced and they still haven't had time to document it?

It's documented, to some extent, in the PDF SDK documentation. Looks like it got lost when they moved to the wiki...
Sub RunScreenSaver(Void)
  • Entered when the Roku has hit the configured idle-time. The screensaver to launch is selected by the user on the Screensaver settings page.
  • The Roku box may not start the custom screensaver and will use a default screensaver instead if there is insufficient memory to start a screensaver slideshow
  • roVideoPlayer and roAudioPlayer are not allowed to be run in a screensaver
  • If you have any dialogs with ShowBusyAnimation() enabled, you’ll want to make sure you close and kill the reference before painting a new screen on top of them. Otherwise, your app may lose focus when returning from the screensaver.
Sub RunScreenSaverSettings(Void)
  • Entered when the user selects “custom settings” on the Screensaver settings page and the application is configured as the system screensaver.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
 
EnTerr
** Valued Community Member **
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: screensaver?

Sun Apr 27, 2014 2:04 pm

squirreltown wrote:
Pretty sure it's
1. Yes
2. Yes
3. Yes*
4. Yes
5. Yes.

*This is just embarrassing. Like people who bondo their dents but never paint them. So close to finishing the job and then....Squirrel!

There ya go, we just wrote 50% of the documentation. What i find embarrassing is that for years RokuCo cannot find a person to answer the more difficult technical questions and fix documentation. And yet, if i look on LinkedIn, i can find at least couple of "Developer Support Manager at Roku*" . What are they managing, i wonder - and who are they supporting, if not us the developers? Sounds like a case of "Too many chiefs and not enough braves**"! If they are so busy, why don't they authorize some respected community members (TheEndless comes to mind) to make changes to the documentation while they are busy doing... well, whatever they are menagerie-ing.

(*) no, that's not RokuPatrick nor RokuJoel, nor one "very discerning individual"
(**) 50% pun intended.

PS. any relation between Roku and Squirrel Town?!
 
User avatar
RokuJoel
Posts: 1758
Joined: Mon Nov 14, 2011 5:22 pm

Re: screensaver?

Mon Apr 28, 2014 11:06 am

Developer Support Manager, we do have at least three people with the same title, that would be, in org chart order top down:

-----------------RokuRobB------------------
-----RokuKevin-----|----RokuChris ------

Rob and Kevin are the Docs folks, however their primary role is developer support of channels like Hulu+, Fox, Amazon etc.
Chris does a lot of in-house development for those partners.

My role is as the developer support lead for the rest of our development community, plus I occasionally am tasked with creating screensavers and holiday channels. I'm not directly involved with documentation writing other than to forward documentation issues that developers turn up on the forums to Rob & Kevin.

Myself and Danny Ng are responsible for processing and publishing all your channels as well as developer support. But not Docs. Rob has initiated a project in which I am involved to reorganize and update all the docs.

The relationship between Roku and "Squirreltown" is that he signed the developer agreement, has published a channel, and posts on our forums.

Which more difficult technical issues do you feel haven't been answered? Let me know and I'll attempt to answer them or find someone who can.

In some cases the answer may be "we are not going to answer that question at this time" as some things may be in regard to trade secrets or product releases that may be in the works.

- Joel
 
EnTerr
** Valued Community Member **
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: screensaver?

Mon Apr 28, 2014 12:51 pm

RokuJoel wrote:
Developer Support Manager, we do have at least three people with the same title, that would be, in org chart order top down:
-----------------RokuRobB------------------
-----RokuKevin-----|----RokuChris ------
Rob and Kevin are the Docs folks, however their primary role is developer support of channels like Hulu+, Fox, Amazon etc.
Chris does a lot of in-house development for those partners.
Thank you for shedding light on how things work. I thought it was a good thing when RokuPatrick opened the Dev.blog with introducing the team at the time. Surprising there are only a few devs on the "using Roku" side, considering company is hundreds of people. If there is too much (over)work, mgmt might consider adding extra help.

My role is as the developer support lead for the rest of our development community, plus I occasionally am tasked with creating screensavers and holiday channels. I'm not directly involved with documentation writing other than to forward documentation issues that developers turn up on the forums to Rob & Kevin. Myself and Danny Ng are responsible for processing and publishing all your channels as well as developer support. But not Docs. Rob has initiated a project in which I am involved to reorganize and update all the docs.
RokuRobB and RokuKevin should be so kind to come to the forum and address the documentation issues brought here. Like this screen saver doco that has been missing for at least a year (trusting TheEndless, it is somewhere in the old PDFs). It is a gaffe when something like that - repeatedly asked since - has not been noticed and fixed. Some of my questions below are also doc ones. I get the gut feeling they are saying "this is under my level, talking to the plebs".

The relationship between Roku and "Squirreltown" is that he signed the developer agreement, has published a channel, and posts on our forums.
Oh, that was a joke to something Squirreltown said - if you see the thread above - namely "*This is just embarrassing. Like people who bondo their dents but never paint them. So close to finishing the job and then....Squirrel!" - was wondering if nickname relates.

Which more difficult technical issues do you feel haven't been answered? Let me know and I'll attempt to answer them or find someone who can. In some cases the answer may be "we are not going to answer that question at this time" as some things may be in regard to trade secrets or product releases that may be in the works.
I thought about that and sure - it is understandable some responses might be "answer denied, we consider this proprietary information/trade secret - at this time". Or "we consider it unimportant to fix" or "can you explain to me the significance of this?".

Here are some unanswered questions of mine from this year (10, because the phpBB thing told me that's max URLs per msg :) )
 
User avatar
georgejecook
Posts: 86
Joined: Thu Apr 05, 2018 2:17 pm

Re: screensaver?

Thu Jun 07, 2018 7:23 am

I was drawn here by your hilariously titled `objfun = no fun`.

Are you on the slack group? It's got about 60 people and a some of roku's engineers roku regularly chime in.

https://join.slack.com/t/rokudevelopers/shared_invite/enQtMzU5Njc5ODM5MzAyLWE2MTIxMWQ5Nzg0Y2E3ODgzYTk4NmQxMDg2YjRjYjdiMzM5ZDU4ZTc0YmM1ZmU0Mzc5MzI3ODU3MmUxOTdlNTE
George Cook
https://linkedin.com/in/georgejecook/
Roku developers slack group (http://tiny.cc/nrdf0y) : georgejecook

Contact me on roku developer slack group, or via pm to discuss consultancy/work opportunities/rooibos unit testing framework
 
User avatar
enter0
Posts: 21
Joined: Thu May 17, 2018 8:39 am

Re: screensaver?

Thu Jun 07, 2018 8:26 am

georgejecook wrote:
I was drawn here by your hilariously titled `objfun = no fun`.

Are you on the slack group? It's got about 60 people and a some of roku's engineers roku regularly chime in.

https://join.slack.com/t/rokudevelopers/shared_invite/enQtMzU5Njc5ODM5MzAyLWE2MTIxMWQ5Nzg0Y2E3ODgzYTk4NmQxMDg2YjRjYjdiMzM5ZDU4ZTc0YmM1ZmU0Mzc5MzI3ODU3MmUxOTdlNTE

FYI, this Slack invite is no longer active/valid.
 
PetreToma
Posts: 2
Joined: Mon Jun 11, 2018 12:55 am

Re: screensaver?

Mon Jun 11, 2018 1:35 am

Hi

I made a channel and I want to use a private screensaver (made by me also for that channel). But all the time is use Roku home screensaver, how can I discover what i do wrong.

I have two project with a channel and with a screensaver with this two manifests:

Channel manifest:

title=AppPreviewScreensaver
major_version=1
minor_version=1
build_version=1
mm_icon_focus_hd=pkg:/images/icon_focus_hd.png
mm_icon_focus_sd=pkg:/images/icon_focus_sd.png
splash_screen_fhd=pkg:/images/splash_fhd.png
splash_screen_hd=pkg:/images/splash_hd.png
splash_screen_sd=pkg:/images/splash_sd.png
splash_color=#000000
splash_min_time=1500
ui_resolutions=fhd
confirm_partner_button=1
last_updated=22.05.2018

I made a screensaver (a different channel) with this manifest:

version one:
screensaver_title=AppPreviewScreensaver
major_version=1
minor_version=1
build_version=1
screensaver_private=1

version two:
screensaver_title=AppPreviewScreensaver
title=AppPreviewScreensaver
major_version=1
minor_version=1
build_version=1
screensaver_private=1

I need to map the screensaver to the channel somewhere inside of the code?
I need to move the screensaver to main channel project ? And add extra function RunScreensaver.

Thanks for your help
 
User avatar
squirreltown
Posts: 862
Joined: Sun Apr 21, 2013 2:20 pm

Re: screensaver?

Mon Jun 11, 2018 8:16 am

PetreToma wrote:
Hi

I made a channel and I want to use a private screensaver (made by me also for that channel). But all the time is use Roku home screensaver, how can I discover what i do wrong.

I need to move the screensaver to main channel project ? And add extra function RunScreensaver.

Yes, you should have a RunScreensaver() function in your channel that launches your screensaver. If it is a SceneGraph channel it should create a new scene for the screensaver component.
This - screensaver_private=1  - determines whether your screensaver will appear in the Roku's screensaver list, so it can be set as a system-wide screensaver, or not.
Kinetics Screensavers

Who is online

Users browsing this forum: No registered users and 2 guests