Roku is adding new Scene Graph SDK Components to enable more productivity in creating custom layouts of screens.
In the past, developers have been forced to choose between using screen templates with an optimized implementation designed by Roku or writing “custom” screens using the low-level drawing apis of roScreen. Our new Scene Graph components enable designers to quickly create screens using declarative XML and developers to implement the design with the support of higher level objects, layouts, events, and focus management.
We’re excited to see how quickly you can implement new designs and look forward to your feedback on improvements we could make.
Please send a private message to RokuShawnS with the subject “beta scene graph serial number” and a body containing serial numbers you’d like to receive the beta firmware.
Please respond to this announcement with any questions or feedback regarding our beta scene graph components.
Please, guys … don’t send me questions about the Scene Graph SDK. I have no knowledge of it whatsoever. I’m only facilitating gathering your serial numbers for the public test
I just loaded this up. I went through the sample apps just to take a look. After loading and playing with the “videobanner” one, I went to the home screen on my Roku 3. When I scrolled left and right, it alternates between:
Left: “home” is selected, channels fill up the rest of the screen, no ad is shown.
Right: menu disappears, first channel is selected, and the ad comes on screen from the right (on top of channel icons)
up/down don’t work.
After pressing home a couple of times, it went back to nominal behavior. Haven’t been able to replicate (best kind of bug). SW version 7.0 build 1306.
I am building an item with multiple labels on the same line. There will be dynamic content in the labels, so the width of the labels will be changing based on what the text is, so I have the width set to zero for both. However, when I need the final width of the first label in order to properly place the second label, it is still returning as zero. Is there a way to access the final width of the label in order to determine where the second label should go. I am assuming that this will be done via translation, but I need an x-value to put into the translation.
“adamkaz” wrote:
I just loaded this up. I went through the sample apps just to take a look. After loading and playing with the “videobanner” one, I went to the home screen on my Roku 3. When I scrolled left and right, it alternates between:
Left: “home” is selected, channels fill up the rest of the screen, no ad is shown.
Right: menu disappears, first channel is selected, and the ad comes on screen from the right (on top of channel icons)
up/down don’t work.
After pressing home a couple of times, it went back to nominal behavior. Haven’t been able to replicate (best kind of bug). SW version 7.0 build 1306.
Adam
Had the same thing happen to me once. Replicated it once, then never again.
“RokuKevin” wrote:
Please send a private message to RokuShawnS with the subject “beta scene graph serial number” and a body containing serial numbers you’d like to receive the beta firmware.
Joining a player to scenic-graph-beta, how would that mesh with the S/N being previously added to beta firmware list, Marma-dev authorization etc?
Is it likely i shoot myself in the foot doing this - or would it be wiser to dedicate a virgin player instead?
“renojim” wrote:
Since getting the v7.0 firmware, I’m unable to hit Ctrl-C in the console without it dumping me back to the home screen. Anyone else?
I also get double prompts after a stop which persist: BrightScript Debugger> BrightScript Debugger>
-JT
So, it seems that there are two ports to watch for debugging now. 8085 is the classic port and anything that gets run in your main.brs is going to output there. The scene graph components, otoh seem to be running on 8089. personally I’m just running two telnets to those ports at the same time and ignoring eclipse altogether.
Sub init()
?"CarouselSceneScript:init()"
m.contentRow1 = m.top.findNode("contentRow1")
configureRowList()
m.top.setFocus(true)
end Sub
Sub configureRowList()
content = createObject("RoSGNode", "ContentNode")
content.TITLE = "Test Row"
for x = 1 to 21
thisCon = content.createChild("ContentNode")
thisCon.HDPOSTERURL = "pkg:/locale/default/images/book-covers-" + x.ToStr() + ".jpg"
end for
m.contentRow1.rowItemSize = [[335,463]]
m.contentRow1.content = content
end Sub
I’ve put stops in and stepped through it. It doesn’t throw errors and crashes the box when it goes to draw.
Here is a button sample. You basically need to define an observer for the buttonSelected field:
SimpleButtonScene.xml
<?xml version="1.0" encoding="utf-8" ?>
SimpleButtonScene.brs
function init()
m.button = m.top.findNode("button")
m.button.ObserveField("buttonSelected", "onButtonSelected")
m.button.SetFocus(true)
end function
function onButtonSelected() as void
print "Button Pressed"
end function
A RowList sample is coming soon.
For which players will the scenic graph API/firmware be made publicly available? All model# > 2200 or …
Can you point some notable examples of channels that already use scenical graphing, so we can see its goodness? (e.g. if you ask Marmalade for examples of games made with their SDK, they’d tell you Plants v Zombies, Cut the Rope, some of the Angry Birdses and Tetrises…)
For which players will the scenic graph API/firmware be made publicly available? All model# > 2200 or …
Can you point some notable examples of channels that already use scenical graphing, so we can see its goodness? (e.g. if you ask Marmalade for examples of games made with their SDK, they’d tell you Plants v Zombies, Cut the Rope, some of the Angry Birdses and Tetrises…)
Should be all players other than 3.1 legacy devices.
Not really, but you can get a good idea from the Roku Home Screen and mGo channels.
We just released the beta, for trailblazers to get started blazing trails.
When is the planned general availability of the Scene Graph firmware?
I’d like to use it, but don’t want to have to wait too long for releasing our channel due to lack of GA support.
We are not disclosing the launch date at this time. This Beta is to get feedback on technical issues and improvements that could make the scene graph a better experience for developers when it is launched.