This component is deprecated.

Beginning July 1st, 2017, any new channels using this component will be rejected during certification.

Beginning January 1st, 2018, any updates to existing channels using this component will be rejected during certification.

The Springboard Screen shows detailed information about an individual piece of content and provides options for actions that may be taken on that content.

Supported Interfaces

Supported Events

Description

The detailed description of the content is displayed with poster art for the title. Artwork may be displayed portrait or landscape orientation depending on the ContentType set in the Content Meta-Data.

The caller may add one or more buttons to the screen with actions such as Play, Resume, Purchase or More Info. The script is notified via an event when a button is selected and it is the responsibility of the script writer to handle that event as desired and perform the requested action.


Diagram: roSpringboard video screen


 


Diagram: roSpringboard audio screen, ContentType=audio



Notes:

  • Orientation for artwork is based on ContentType setting and may be portrait or landscape.
  • The audio springboard is capable of adding a progress bar.
  • If the ContentType is audio, the album art dimensions are:

SD: 124 x 112
HD: 188 x 188

  • If the ContentType is episode, the album art dimensions are:

SD: 180 x 122
HD: 264 x 198

  • If the ContentType is any other value, the album art dimensions are:

SD: 112 x 142
HD: 148 x 212

  • Up to 5 user-defined buttons may be displayed. Buttons are displayed in the order they are added and always appear in a fixed region of the screen
  • The description text will be formatted and justified (right and left edges) to fit between the margins. When the maximum length is reached, the text will be clipped and terminated with an ellipsis. The font is variable pitch, so the maximum number of characters is dependent on the text. The spacing is approximately 85 characters per line x 4 lines = 340 characters. The fonts and character spacing for HD and SD are similar, and display approximately the same number of characters, but the relationship is not exactly 1:1.
  • The star rating can show either community StarRating (red) or UserStarRating (yellow). If both values are set, the control will display the UserStarRating. If ratings are not desired, it can be removed by calling SetStaticRatingEnabled(false), providing more space to display actor names.
  • The Length attribute will display a formatted string or show length. If the value is zero, this field will display 0m, if the attribute is not set/missing then this field will not be displayed.


This object is created with no parameters:

  • CreateObject("roSpringboardScreen")

The following example shows the process of creating an roSpringboardScreen, setting up the content meta-data, showing the screen and waiting for an event. This example is simplified for clarity and it's assumed the real-world applications will use techniques like getting data from web services using roUrlTransfer.

Example
Function Main()
	port = CreateObject("roMessagePort")
	springBoard = CreateObject("roSpringboardScreen")
	springBoard.SetBreadcrumbText("[location 1]", "[location2]")
	springBoard.SetMessagePort(port) 
	o = CreateObject("roAssociativeArray")
	o.ContentType = "episode"
	o.Title = "[Title]"
	o.ShortDescriptionLine1 = "[ShortDescriptionLine1]"
	o.ShortDescriptionLine2 = "[ShortDescriptionLine2]"
	o.Description = ""
	For i = 1 To 15 
		o.Description = o.Description + "[Description] "
	End For
	o.SDPosterUrl = ""
	o.HDPosterUrl = ""
	o.Rating = "NR"
	o.StarRating = "75"
	o.ReleaseDate = "[mm/dd/yyyy]"
	o.Length = 5400
	o.Categories = CreateObject("roArray", 10, true) 
	o.Categories.Push("[Category1]")
	o.Categories.Push("[Category2]")
	o.Categories.Push("[Category3]")
	o.Actors = CreateObject("roArray", 10, true)
	o.Actors.Push("[Actor1]")
	o.Actors.Push("[Actor2]")
	o.Actors.Push("[Actor3]")
	o.Director = "[Director]" 
	springBoard.SetContent(o)
	springBoard.Show() 
	While True
		msg = wait(0, port)
		If msg.isScreenClosed() Then
			Return -1
		Elseif msg.isButtonPressed() 
			print "msg: "; msg.GetMessage(); "idx: "; msg.GetIndex()
		Endif
	End While 
End Function
Image: roSpringboardScreen example results


The following screen is displayed when this code is executed:

Attachments:

worddav3570180012b8208f098d035b989f8fa8.png (application/octet-stream)
worddav256ada1e0e0cdc53d79428655ca7702b.png (application/octet-stream)
springboard-audio.png (application/octet-stream)