[Beta] OS 15.3

Announcement: https://blog.roku.com/developer/roku-os-15-3-beta

Full Release Notes: https://developer.roku.com/dev/docs/release-notes#roku-os-153-beta

OS 15.3 Highlights

SceneGraph

Video.captionRenderArea

Video field for rendering captions in specific areas on a screen. Developers can use this function to display captions in custom positions for some preview and other non-full-screen scenarios.

Double Field Types

SceneGraph node fields now properly support the double type!

mynode.addField("largeDecimal", "double", true)

roSGNode AnimatedImage

anim = createObject("roSGNode", "AnimatedImage")
anim.update({ ' bs:disable-line
  translation: [100, 100]
  mimeType: "video/lottie+json"
  control: "loop"
  uri: "pkg:/images/lottie.json"
})

BrightScript

roUtils Type Predicates

  • roUtils now includes isNumber(), isString(), and isFloatingPoint()
  • these predicates work for both boxed and unboxed values

roAssociativeArray.values()

  • returns values within the AA, in key order (lexicographical)

roAnimatedImage

SUPPORT FOR LOTTIE ANIMATIONS ???

:warning: At the time of this writing, roAnimatedImage is not yet added to the SDK documentation.

anim = CreateObject("roAnimatedImage")
anim.SetContent({
  uri: "pkg:/images/spinner.json"
  mimeType: "video/lottie+json"
})

// ... wait for ready event ...
anim.SetTargetState("loop")

// draw to screen
screen.drawObject(0, 0, anim)
1 Like