brighterscript 0.66.0-alpha.4 → 0.66.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +1 -0
- package/dist/LanguageServer.js +8 -5
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +3 -8
- package/dist/Program.js +3 -51
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.js +14 -2
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +1 -13
- package/dist/Scope.js +10 -65
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +12 -10
- package/dist/SymbolTable.js +33 -24
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/creators.js +5 -3
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +3 -1
- package/dist/astUtils/reflection.js +12 -1
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +2 -1
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +39 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +305 -3
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1369 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +9 -4
- package/dist/bscPlugin/hover/HoverProcessor.js +64 -67
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +107 -4
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +18 -15
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +10 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +85 -42
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +276 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +7 -2
- package/dist/diagnosticUtils.js +43 -15
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +10 -8
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +3 -20
- package/dist/files/BrsFile.js +7 -355
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +2 -248
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +1 -6
- package/dist/files/XmlFile.js +0 -13
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +0 -36
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/interfaces.d.ts +8 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +12 -0
- package/dist/lexer/Lexer.js +27 -2
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +40 -0
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +4 -0
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +4 -0
- package/dist/lexer/TokenKind.js +10 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +8 -1
- package/dist/parser/AstNode.js +16 -0
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +16 -1
- package/dist/parser/Expression.js +43 -1
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +7 -0
- package/dist/parser/Parser.js +46 -6
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +327 -3
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +1 -1
- package/dist/parser/Statement.d.ts +16 -3
- package/dist/parser/Statement.js +53 -15
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/Parser.spec.js +2 -1
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +16 -8
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +8 -4
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -4
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +13 -13
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +0 -33
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +1 -257
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +6 -3
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +26 -13
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/roku-types/data.json +158 -137
- package/dist/roku-types/index.d.ts +3 -38
- package/dist/types/ArrayType.d.ts +3 -1
- package/dist/types/ArrayType.js +42 -6
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +21 -2
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.d.ts +0 -3
- package/dist/types/BooleanType.js +5 -6
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +6 -2
- package/dist/types/BscType.js +20 -4
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.d.ts +15 -0
- package/dist/types/BuiltInInterfaceAdder.js +93 -0
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js +109 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
- package/dist/types/ClassType.d.ts +4 -0
- package/dist/types/ClassType.js +25 -1
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +1 -4
- package/dist/types/DoubleType.js +5 -6
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.js +2 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/EnumType.d.ts +1 -3
- package/dist/types/EnumType.js +6 -5
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/FloatType.d.ts +1 -4
- package/dist/types/FloatType.js +5 -6
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.js +5 -1
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +1 -4
- package/dist/types/IntegerType.js +5 -6
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InterfaceType.js +2 -1
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +1 -1
- package/dist/types/InvalidType.js +5 -1
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +1 -4
- package/dist/types/LongIntegerType.js +5 -6
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.js +2 -0
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +12 -0
- package/dist/types/ReferenceType.js +69 -12
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/ReferenceType.spec.js +15 -0
- package/dist/types/ReferenceType.spec.js.map +1 -1
- package/dist/types/StringType.d.ts +1 -4
- package/dist/types/StringType.js +4 -5
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/TypedFunctionType.js +9 -2
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UnionType.d.ts +2 -0
- package/dist/types/UnionType.js +22 -1
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/UnionType.spec.js +43 -17
- package/dist/types/UnionType.spec.js.map +1 -1
- package/dist/types/VoidType.d.ts +1 -1
- package/dist/types/VoidType.js +5 -1
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +1 -0
- package/dist/types/helpers.js +18 -3
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +10 -1
- package/dist/util.js +77 -1
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedDate": "
|
|
2
|
+
"generatedDate": "2023-07-27T11:52:31.001Z",
|
|
3
3
|
"nodes": {
|
|
4
4
|
"animation": {
|
|
5
5
|
"description": "Extends [**AnimationBase**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/animationbase.md\n\nThe Animation node class provides animations of renderable nodes, by applying interpolator functions to the values in specified renderable node fields. For an animation to take effect, an Animation node definition must include a child field interpolator node ([FloatFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/floatfieldinterpolator.md\"FloatFieldInterpolator\"), [Vector2DFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/vector2dfieldinterpolator.md\"Vector2DFieldInterpolator\"), [ColorFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/colorfieldinterpolator.md\"ColorFieldInterpolator\")) definition for each renderable node field that is animated.\n\nThe Animation node class provides a simple linear interpolator function, where the animation takes place smoothly and simply from beginning to end. The Animation node class also provides several more complex interpolator functions to allow custom animation effects. For example, you can move a graphic image around the screen at differing speeds and curved trajectories at different times in the animation by specifying the appropriate function in the easeFunction field (quadratic and exponential are two examples of functions that can be specified). The interpolator functions are divided into two parts: the beginning of the animation (ease-in), and the end of the animation (ease-out). You can apply a specified interpolator function to either or both ease-in and ease-out, or specify no function for either or both (which is the linear function). You can also change the portion of the animation that is ease-in and ease-out to arbitrary fractional values for a quadratic interpolator function applied to both ease-in and ease-out.",
|
|
@@ -607,7 +607,7 @@
|
|
|
607
607
|
"url": "https://developer.roku.com/docs/references/scenegraph/media-playback-nodes/audio.md"
|
|
608
608
|
},
|
|
609
609
|
"busyspinner": {
|
|
610
|
-
"description": "Extends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\n\nThe BusySpinner node class is a simple widget that displays a continuously rotating bitmap. Since the BusySpinner node class uses an internal Poster node instance, the busy spinner bitmap can be specified by setting the internal Poster node uri field.\n\n[SimpleBusySpinner
|
|
610
|
+
"description": "Extends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\n\nThe BusySpinner node class is a simple widget that displays a continuously rotating bitmap. Since the BusySpinner node class uses an internal Poster node instance, the busy spinner bitmap can be specified by setting the internal Poster node uri field.\n\n[SimpleBusySpinner](https://github.com/rokudev/samples/tree/master/ux%20components/widgets) is a sample channel that demonstrates usage of the BusySpinner.\n\n> Not all Roku Player hardware versions support arbitrary rotations. In particular, some hardware versions only support 90 degree rotation increments. In those cases, the icon will step through 90 degree, 180 degree, 270 degree and back to 0 degree rotations, rather than spin smoothly.",
|
|
611
611
|
"events": [],
|
|
612
612
|
"extends": {
|
|
613
613
|
"name": "Group",
|
|
@@ -1283,7 +1283,7 @@
|
|
|
1283
1283
|
},
|
|
1284
1284
|
"dynamickeyboardbase": {
|
|
1285
1285
|
"availableSince": "9.4",
|
|
1286
|
-
"description": "_Available since Roku OS 9.4_\n\nExtends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\n> Channels must use Roku voice keyboards for [email](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard.md, [PIN](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-pinpad.md, [password](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard.md entry to pass [certification](/docs/developer-program/certification/certification.md#4-channel-operation).\n\nThe DynamicKeyboardBase is an abstract class that provides the functionality for dynamic voice-enabled keyboards. It combines [**DynamicKeyGrid**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-key-grid.md and [**VoiceTextEditBox**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md nodes to provide a single node that supports text entry in multiple languages and voice entry in English.\n\n* The [**DynamicKeyGrid**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-key-grid.md provides keyboard functionality. The layout of the keyboard is based on a JSON-formatted Key Definition File.\n \n The classes derived from DynamicKeyboardBase (DynamicKeyboard, DynamicPinPad, and DynamicMiniKeyboard) have built-in Key Definition Files. For example, the DynamicKeyboard node uses a Key Definition File that matches the key layout of the [legacy Keyboard node](https://developer.roku.com/docs/references/scenegraph/widget-nodes/keyboard.md.\n \n The [**DynamicCustomKeyboard** node](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-custom-keyboard.md enables developers to define a custom Key Definition File in order to configure the key layout. In the Key Definition File, the developer specifies the keys in each section and row of the keyboard. The keys support the characters in the Basic Latin, Latin 1 Supplement, Latin Extended-A, and Latin Extended-B blocks. This provides support for most Western European languages, including English, French, German, Italian, Portuguese, and Spanish.\n \n\n* The [**VoiceTextEditBox**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md displays the text that has been entered or spoken. This node supports multiple voice entry modes for entering email addresses, passwords, street addresses, and PINs. This node currently supports voice entry in English
|
|
1286
|
+
"description": "_Available since Roku OS 9.4_\n\nExtends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\n> Channels must use Roku voice keyboards for [email](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard.md, [PIN](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-pinpad.md, [password](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard.md entry to pass [certification](/docs/developer-program/certification/certification.md#4-channel-operation).\n\nThe DynamicKeyboardBase is an abstract class that provides the functionality for dynamic voice-enabled keyboards. It combines [**DynamicKeyGrid**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-key-grid.md and [**VoiceTextEditBox**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md nodes to provide a single node that supports text entry in multiple languages and voice entry in English and Spanish.\n\n* The [**DynamicKeyGrid**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-key-grid.md provides keyboard functionality. The layout of the keyboard is based on a JSON-formatted Key Definition File.\n \n The classes derived from DynamicKeyboardBase (DynamicKeyboard, DynamicPinPad, and DynamicMiniKeyboard) have built-in Key Definition Files. For example, the DynamicKeyboard node uses a Key Definition File that matches the key layout of the [legacy Keyboard node](https://developer.roku.com/docs/references/scenegraph/widget-nodes/keyboard.md.\n \n The [**DynamicCustomKeyboard** node](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-custom-keyboard.md enables developers to define a custom Key Definition File in order to configure the key layout. In the Key Definition File, the developer specifies the keys in each section and row of the keyboard. The keys support the characters in the Basic Latin, Latin 1 Supplement, Latin Extended-A, and Latin Extended-B blocks. This provides support for most Western European languages, including English, French, German, Italian, Portuguese, and Spanish.\n \n\n* The [**VoiceTextEditBox**](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md displays the text that has been entered or spoken. This node supports multiple voice entry modes for entering email addresses, passwords, street addresses, and PINs. This node currently supports voice entry in English and Spanish.\n\n> Developers should upgrade the [legacy keyboards](https://developer.roku.com/docs/references/scenegraph/widget-nodes/keyboard.md in their channels to dynamic voice-enabled keyboards in order to leverage the following benefits:\n> \n> * **Faster on-device sign-ups and sign-ins.** Enable customers to use voice entry to provide their information when subscribing to channels and logging in.\n> \n> * **Localized in-channel search**: Enable customers to search for content in their native language.\n> \n> * **Localized customer information entry**: Enable customers to enter their personal information in their native language.\n>",
|
|
1287
1287
|
"events": [],
|
|
1288
1288
|
"extends": {
|
|
1289
1289
|
"name": "Group",
|
|
@@ -1332,7 +1332,7 @@
|
|
|
1332
1332
|
},
|
|
1333
1333
|
"dynamickeygrid": {
|
|
1334
1334
|
"availableSince": "9.4",
|
|
1335
|
-
"description": "_Available since Roku OS 9.4_\n\nExtends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\nThe **DynamicKeyGrid** node implements a grid of keys that are defined and organized in a [Key Definition File](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-
|
|
1335
|
+
"description": "_Available since Roku OS 9.4_\n\nExtends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\nThe **DynamicKeyGrid** node implements a grid of keys that are defined and organized in a [Key Definition File](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-definition-file.md. It is typically used in a subclass of the [DynamicKeyboardBase](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md node (DynamicKeyboard, DynamicPinPad, and DynamicMiniKeyboard) to display the string of characters entered via text or voice entry. It may also be used as an individual node.",
|
|
1336
1336
|
"events": [],
|
|
1337
1337
|
"extends": {
|
|
1338
1338
|
"name": "Group",
|
|
@@ -1377,7 +1377,7 @@
|
|
|
1377
1377
|
{
|
|
1378
1378
|
"accessPermission": "READ_WRITE",
|
|
1379
1379
|
"default": "\"\"",
|
|
1380
|
-
"description": "Specifies the \\[Key Definition File\\](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-
|
|
1380
|
+
"description": "Specifies the \\[Key Definition File\\](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-definition-file.md to use to define the key layout metadata.",
|
|
1381
1381
|
"name": "keyDefinitionUri",
|
|
1382
1382
|
"type": "uri"
|
|
1383
1383
|
},
|
|
@@ -1711,13 +1711,13 @@
|
|
|
1711
1711
|
"name": "InfoPane",
|
|
1712
1712
|
"url": "https://developer.roku.com/docs/references/scenegraph/label-nodes/info-pane.md"
|
|
1713
1713
|
},
|
|
1714
|
-
"key
|
|
1714
|
+
"key definition file": {
|
|
1715
1715
|
"description": "The Key Definition File is a JSON-formatted file that specifies the layout of a keyboard. The Key Definition Files for the classes derived from **DynamicKeyboardBase** (**DynamicKeyboard**, **DynamicPinPad**, and **DynamicMiniKeyboard**) are built-in and cannot be modified because the keyboard layout for these nodes is fixed. Conversely, the **DynamicCustomKeyboard** node requires developers to create the Key Definition File in order to implement a custom keyboard layout.\n\nThe Key Definition File is a single JSON object with the following six hierarchal objects (listed in order from the top to the bottom of the hierarchy):\n\n1. [KeyLayout](#keylayout)\n2. [Section](#section)\n3. [Grid](#grid)\n4. [Row](#row)\n5. [Key](#key)\n6. [KeySuggestions](#keysuggestions)\n\nProperties can be set at any level of the hierarchy and are used to determine the default values for the subparts at lower levels in the hierarchy. For example, setting the **keyboardHeight** property at the **KeyLayout** level will specify the default height of each **Row** in each **Grid** in each **Section** of the grid used. If a **Grid** specifies a **gridHeight** property, it is set as the default for each **Row** in that **Grid**. In both cases, if any **Row** in the **Grid** specifies a **rowHeight** property, that height will be used as the default for each **Key** in that **Row**.",
|
|
1716
1716
|
"events": [],
|
|
1717
1717
|
"fields": [],
|
|
1718
1718
|
"interfaces": [],
|
|
1719
|
-
"name": "Key
|
|
1720
|
-
"url": "https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-
|
|
1719
|
+
"name": "Key Definition File",
|
|
1720
|
+
"url": "https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/key-definition-file.md"
|
|
1721
1721
|
},
|
|
1722
1722
|
"keyboard": {
|
|
1723
1723
|
"description": "Extends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\nThe Keyboard node class allows a user to enter a string of alphanumeric characters. The string entered is displayed in a [TextEditBox](https://developer.roku.com/docs/references/scenegraph/widget-nodes/texteditbox.md\"TextEditBox\") node that is part of the Keyboard node.\n\nThe Keyboard node must have the key focus in order to work properly. By default, a Keyboard node toggles between uppercase and lowercase letters when the Options remote key is pressed, to speed the entry of mixed-case strings by the user. It is important not to override this behavior, particularly if a Keyboard node is used as an internal node for a [KeyboardDialog](https://developer.roku.com/docs/references/scenegraph/dialog-nodes/keyboarddialog.md\"KeyboardDialog\") node.\n\nThe default appearance of a Keyboard node is very transparent, allowing the keyboard to pick up most of its color from what is rendered underneath it. The appearance can be customized by changing the keyboardBitmapUri and other fields.",
|
|
@@ -1816,13 +1816,6 @@
|
|
|
1816
1816
|
"url": "https://developer.roku.com/docs/references/scenegraph/label-nodes/label-base.md"
|
|
1817
1817
|
},
|
|
1818
1818
|
"fields": [
|
|
1819
|
-
{
|
|
1820
|
-
"accessPermission": "READ_WRITE",
|
|
1821
|
-
"default": "false",
|
|
1822
|
-
"description": "If the height field value is greater than zero, used to determine whether or not the last line of visible text is displayed if it would be clipped vertically",
|
|
1823
|
-
"name": "displayPartialLines",
|
|
1824
|
-
"type": "Boolean"
|
|
1825
|
-
},
|
|
1826
1819
|
{
|
|
1827
1820
|
"accessPermission": "READ_WRITE",
|
|
1828
1821
|
"default": "false",
|
|
@@ -1865,6 +1858,13 @@
|
|
|
1865
1858
|
"name": "color",
|
|
1866
1859
|
"type": "color"
|
|
1867
1860
|
},
|
|
1861
|
+
{
|
|
1862
|
+
"accessPermission": "READ_WRITE",
|
|
1863
|
+
"default": "false",
|
|
1864
|
+
"description": "If the height field value is greater than zero, used to determine whether or not the last line of visible text is displayed if it would be clipped vertically.",
|
|
1865
|
+
"name": "displayPartialLines",
|
|
1866
|
+
"type": "Boolean"
|
|
1867
|
+
},
|
|
1868
1868
|
{
|
|
1869
1869
|
"accessPermission": "READ_WRITE",
|
|
1870
1870
|
"default": "",
|
|
@@ -2302,7 +2302,7 @@
|
|
|
2302
2302
|
"url": "https://developer.roku.com/docs/references/scenegraph/sliding-panels-nodes/listpanel.md"
|
|
2303
2303
|
},
|
|
2304
2304
|
"markupgrid": {
|
|
2305
|
-
"description": "Extends [**ArrayGrid**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/arraygrid.md\n\nThe MarkupGrid node class is a is a generic grid class that can be used to display a set of items arranged into a 2D grid. The contents of each grid item is an instance of an XML component specified by the `itemComponentName` field. An instance of the XML component is used to display the data for each item in the grid data model. The appearance of the grid item as it enters/exits the grid focus position can be customized using scripting. [SimpleMarkupList
|
|
2305
|
+
"description": "Extends [**ArrayGrid**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/arraygrid.md\n\nThe MarkupGrid node class is a is a generic grid class that can be used to display a set of items arranged into a 2D grid. The contents of each grid item is an instance of an XML component specified by the `itemComponentName` field. An instance of the XML component is used to display the data for each item in the grid data model. The appearance of the grid item as it enters/exits the grid focus position can be customized using scripting. [SimpleMarkupList](https://github.com/rokudev/samples/blob/master/ux%20components/lists%20and%20grids/SimpleMarkupList) is a sample channel containing a MarkupGrid where each item is an instance of an XML component. See the section [MarkupGrid XML component](https://developer.roku.com/docs/references/scenegraph/list-and-grid-nodes/markupgrid.mdmarkupgrid-xml-component) for details.\n\nThe number of columns in the MarkupGrid node is fixed and the number of rows varies as needed to display all of the items in the grid data model. The items in the grid fill each row from left to right, then top to bottom. For example, if the grid data contains 8 items and the number of columns is set to 3, then items 1, 2 and 3 will be in the first row. Items 4, 5 and 6 will be in the second row. The third row will contain items 7 and 8 in the leftmost two columns and blank space in the right column.\n\nThe layout of rows and columns in the grid is very flexible. Possible layouts include:\n\n* a simple layout with all items in the grid having the same size\n* a layout with the items in some rows having varying heights and/or the items in some columns having varying widths\n* a layout with varying width rows and columns and items that occupy one or more rows and columns\n\nThe grid items can be organized into sections that are demarcated by labelled horizontal divider lines between the sections.",
|
|
2306
2306
|
"events": [],
|
|
2307
2307
|
"extends": {
|
|
2308
2308
|
"name": "ArrayGrid",
|
|
@@ -2532,7 +2532,7 @@
|
|
|
2532
2532
|
"url": "https://developer.roku.com/docs/references/scenegraph/list-and-grid-nodes/markupgrid.md"
|
|
2533
2533
|
},
|
|
2534
2534
|
"markuplist": {
|
|
2535
|
-
"description": "Extends [**ArrayGrid**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/arraygrid.md\n\nThe MarkupList node class is a generic list class that can be used to display a list of items.\n\nThe contents of each list item is an instance of an XML component specified by the `itemComponentName` field value. An instance of the XML component is used to display the data for each item in the list data model. The appearance of the list item as it enters/exits the list focus position can be customized using BrightScript.\n\n[SimpleMarkupList
|
|
2535
|
+
"description": "Extends [**ArrayGrid**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/arraygrid.md\n\nThe MarkupList node class is a generic list class that can be used to display a list of items.\n\nThe contents of each list item is an instance of an XML component specified by the `itemComponentName` field value. An instance of the XML component is used to display the data for each item in the list data model. The appearance of the list item as it enters/exits the list focus position can be customized using BrightScript.\n\n[SimpleMarkupList](https://github.com/rokudev/samples/tree/master/ux%20components/lists%20and%20grids) is a sample channel containing a MarkupList where each item is an instance of an XML component. See the [MarkupList XML component](#markuplist-xml-component) section for details.\n\n**Example**\n\nThe following example displays the use of the MarkupList node.\n\n",
|
|
2536
2536
|
"events": [],
|
|
2537
2537
|
"extends": {
|
|
2538
2538
|
"name": "ArrayGrid",
|
|
@@ -4094,27 +4094,6 @@
|
|
|
4094
4094
|
"name": "RowList",
|
|
4095
4095
|
"url": "https://developer.roku.com/docs/references/scenegraph/list-and-grid-nodes/rowlist.md"
|
|
4096
4096
|
},
|
|
4097
|
-
"rsgpalette": {
|
|
4098
|
-
"availableSince": "9.4",
|
|
4099
|
-
"description": "_Available since Roku OS 9.4_\n\nExtends [Node](https://developer.roku.com/docs/references/scenegraph/node.md\n\nThe **RSGPalette** node allows developers to specify a named set of color values that can be shared among nodes that support RSGPalette colors.\n\nNodes that support RSGPalette colors include a **palette** field, which can be set to an **RSGPalette** node to override the default colors used by the node. The specific palette values used by those nodes are defined in each node's documentation.\n\nIf a node that supports a palette does not set its **palette** filed, the RSGPalette is inherited from ancestor nodes in the scene graph. Specifically, the node looks up the scene graph until it finds a **PaletteGroup** node with its **palette** field set. This may be found in the **Scene** itself.\n\nIf no node in the scene graph has its **palette** field set, the keyboard uses the default palette (gray background/white text).\n\nCurrently, the **RSGPalette** node is typically used in channels that customize the colors of the dynamic keyboard nodes. In this case, the channel assigns the RSGPalette node to the **palette** field of the [DynamicKeyboardBase](https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md\"DynamicKeyboardBase\") node and lets the keyboard's **DynamicKeyGrid** and **VoiceTextEditBox** inherit that RSGPalette.\n\n> The colors in the RSGPalette do not cascade. If a child node overrides its parent's RSGPalette node, that RSGPalette should specify values for all the colors used by the node. Unspecified values will use the system default colors.",
|
|
4100
|
-
"events": [],
|
|
4101
|
-
"extends": {
|
|
4102
|
-
"name": "Node",
|
|
4103
|
-
"url": "https://developer.roku.com/docs/references/scenegraph/node.md"
|
|
4104
|
-
},
|
|
4105
|
-
"fields": [
|
|
4106
|
-
{
|
|
4107
|
-
"accessPermission": "READ_WRITE",
|
|
4108
|
-
"default": "not specified",
|
|
4109
|
-
"description": "Specifies an associative array of color name/color key-value pairs. For example: \\`\\`\\` { PrimaryTextColor: 0x111111FF, FocusColor: 0x0000FFFF } \\`\\`\\` .",
|
|
4110
|
-
"name": "colors",
|
|
4111
|
-
"type": "associative array"
|
|
4112
|
-
}
|
|
4113
|
-
],
|
|
4114
|
-
"interfaces": [],
|
|
4115
|
-
"name": "RSGPalette",
|
|
4116
|
-
"url": "https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/rsg-palette.md"
|
|
4117
|
-
},
|
|
4118
4097
|
"scene": {
|
|
4119
4098
|
"description": "Extends [**Group**](https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md\"**Group**\")\n\nThe **Scene** node class serves as the root of a SceneGraph node tree. Every **roSGScreen** object must have a **Scene** node, or a node that derives from the **Scene** node class as its root, including an XML markup component that extends the Scene node class or subclass. That node must be created using the **roSGScreen** createScene() function, with an argument that is a string of the name of the **Scene** node object created. For example:\n\n```\nscreen = CreateObject(\"roSGScreen\")\nscene = screen.CreateScene(\"Scene\")\n```\n\nWhile it is technically possible to have more than one scene per channel, we recommend you only have one **roSGScreen** and one **Scene** node. Child nodes of the scene can be treated as different \"scenes\" where you can then implement transitions between them.",
|
|
4120
4099
|
"events": [],
|
|
@@ -4133,7 +4112,7 @@
|
|
|
4133
4112
|
{
|
|
4134
4113
|
"accessPermission": "READ_WRITE",
|
|
4135
4114
|
"default": "0x000000FF",
|
|
4136
|
-
"description": "Specifies a background color for the scene. This color is only used if the backgroundURI field is set to an empty string. For example: scene.backgroundColor=\"0xEB1010FF\" scene.backgroundUri = \"\"",
|
|
4115
|
+
"description": "Loads an image using the provided background URI as-is and does not apply any scaling whatsoever when \"limitBackgroundToUIResolution\" is false. Specifies a background color for the scene. This color is only used if the backgroundURI field is set to an empty string. For example: scene.backgroundColor=\"0xEB1010FF\" scene.backgroundUri = \"\"",
|
|
4137
4116
|
"name": "backgroundColor",
|
|
4138
4117
|
"type": "color"
|
|
4139
4118
|
},
|
|
@@ -4158,6 +4137,13 @@
|
|
|
4158
4137
|
"name": "dialog",
|
|
4159
4138
|
"type": "Node"
|
|
4160
4139
|
},
|
|
4140
|
+
{
|
|
4141
|
+
"accessPermission": "READ_WRITE",
|
|
4142
|
+
"default": "true",
|
|
4143
|
+
"description": "If the scene background URI is overridden with a non-theme value and this field is set to true, the \\*\\*backgroundURI\\*\\* image is limited to the current screen size after being loaded. if this field is set to false, the \\*\\*backgroundURI\\*\\* image is loaded without any scaling applied.",
|
|
4144
|
+
"name": "limitBackgroundToUIResolution",
|
|
4145
|
+
"type": "boolean"
|
|
4146
|
+
},
|
|
4161
4147
|
{
|
|
4162
4148
|
"accessPermission": "READ_WRITE",
|
|
4163
4149
|
"default": "not set",
|
|
@@ -4453,7 +4439,7 @@
|
|
|
4453
4439
|
"url": "https://developer.roku.com/docs/references/scenegraph/renderable-nodes/simplelabel.md"
|
|
4454
4440
|
},
|
|
4455
4441
|
"soundeffect": {
|
|
4456
|
-
"description": "Extends [**Node**](https://developer.roku.com/docs/references/scenegraph/node.md\n\nThe SoundEffect node class is used to play audio sound effects that can be triggered from events that occur in the UI. Typically, these sound effects are short audio clips, but there is no inherent limit on their length. Currently, up to four simultaneous sounds can be playing at any time, in addition to audio from streaming content and TextToSpeech audio.\n\nFiles can be installed locally as part of the channel package or dynamically downloaded from the network. All files must be WAV (i.e. PCM) format.\n\nFor local files, the convention is to include the WAV files in a directory named \"sounds\".\n\nFor downloaded files, a least-recently-used (LRU) mechanism is used to keep the most recently downloaded/played sounds in temporary storage on the device. If the limits on the maximum number/size of downloaded sounds is exceeded, the least recently used sounds are removed from temporary storage. They will be automatically reloaded the next time the control field is set to \"play\".\n\nA sample demonstrating how to use the SoundEffect node can be found here: [SimpleSoundEffect](https://github.com/rokudev/samples/blob/master/media/SimpleSoundEffect
|
|
4442
|
+
"description": "Extends [**Node**](https://developer.roku.com/docs/references/scenegraph/node.md\n\nThe SoundEffect node class is used to play audio sound effects that can be triggered from events that occur in the UI. Typically, these sound effects are short audio clips, but there is no inherent limit on their length. Currently, up to four simultaneous sounds can be playing at any time, in addition to audio from streaming content and TextToSpeech audio.\n\nFiles can be installed locally as part of the channel package or dynamically downloaded from the network. All files must be WAV (i.e. PCM) format.\n\nFor local files, the convention is to include the WAV files in a directory named \"sounds\".\n\nFor downloaded files, a least-recently-used (LRU) mechanism is used to keep the most recently downloaded/played sounds in temporary storage on the device. If the limits on the maximum number/size of downloaded sounds is exceeded, the least recently used sounds are removed from temporary storage. They will be automatically reloaded the next time the control field is set to \"play\".\n\nA sample demonstrating how to use the SoundEffect node can be found here: [SimpleSoundEffect](https://github.com/rokudev/samples/blob/master/media/SimpleSoundEffect)",
|
|
4457
4443
|
"events": [],
|
|
4458
4444
|
"extends": {
|
|
4459
4445
|
"name": "Node",
|
|
@@ -4579,13 +4565,6 @@
|
|
|
4579
4565
|
"name": "buttons",
|
|
4580
4566
|
"type": "array of strings"
|
|
4581
4567
|
},
|
|
4582
|
-
{
|
|
4583
|
-
"accessPermission": "Access Permission",
|
|
4584
|
-
"default": "Default",
|
|
4585
|
-
"description": "Description",
|
|
4586
|
-
"name": "Field",
|
|
4587
|
-
"type": "Type"
|
|
4588
|
-
},
|
|
4589
4568
|
{
|
|
4590
4569
|
"accessPermission": "READ_WRITE",
|
|
4591
4570
|
"default": "\"generic\"",
|
|
@@ -5254,6 +5233,13 @@
|
|
|
5254
5233
|
"url": "https://developer.roku.com/docs/references/scenegraph/layout-group-nodes/group.md"
|
|
5255
5234
|
},
|
|
5256
5235
|
"fields": [
|
|
5236
|
+
{
|
|
5237
|
+
"accessPermission": "READ_WRITE",
|
|
5238
|
+
"default": "false",
|
|
5239
|
+
"description": "Forces the item index to be interpolated in an advanced manner when animating between items. This only has an effect when the \\*\\*wrap\\*\\* field is set to true. For example, when the number of items is 10 and we are interpolating from item 9 to item 0, not enabling this option will result in the following sequence: 9 -> 8 -> 7 -> … -> 0, rather than 9 -> 0.",
|
|
5240
|
+
"name": "advancing",
|
|
5241
|
+
"type": "boolean"
|
|
5242
|
+
},
|
|
5257
5243
|
{
|
|
5258
5244
|
"accessPermission": "WRITE_ONLY",
|
|
5259
5245
|
"default": "0",
|
|
@@ -5303,6 +5289,13 @@
|
|
|
5303
5289
|
"name": "duration",
|
|
5304
5290
|
"type": "Time"
|
|
5305
5291
|
},
|
|
5292
|
+
{
|
|
5293
|
+
"accessPermission": "READ_WRITE",
|
|
5294
|
+
"default": "inOutCubic",
|
|
5295
|
+
"description": "Specifies the interpolator used in TargetGroup animations between items.",
|
|
5296
|
+
"name": "easeFunction",
|
|
5297
|
+
"type": "string"
|
|
5298
|
+
},
|
|
5306
5299
|
{
|
|
5307
5300
|
"accessPermission": "READ_WRITE",
|
|
5308
5301
|
"default": "",
|
|
@@ -5338,6 +5331,13 @@
|
|
|
5338
5331
|
"name": "jumpToItem",
|
|
5339
5332
|
"type": "integer"
|
|
5340
5333
|
},
|
|
5334
|
+
{
|
|
5335
|
+
"accessPermission": "READ_WRITE",
|
|
5336
|
+
"default": "false",
|
|
5337
|
+
"description": "Force the item index to be interpolated in a reverse manner when animating between items. This only has an effect when the \\*\\*wrap\\*\\* field is set to true. For example, when the number of items is 10 and we are interpolating from item 0 to item 9, not enabling this option will result in the following sequence: 0 -> 1 -> … -> 9 rather than 0 -> 9.",
|
|
5338
|
+
"name": "reversing",
|
|
5339
|
+
"type": "boolean"
|
|
5340
|
+
},
|
|
5341
5341
|
{
|
|
5342
5342
|
"accessPermission": "READ_WRITE",
|
|
5343
5343
|
"default": "false",
|
|
@@ -5720,14 +5720,14 @@
|
|
|
5720
5720
|
{
|
|
5721
5721
|
"accessPermission": "READ_ONLY",
|
|
5722
5722
|
"default": "0",
|
|
5723
|
-
"description": "The error code associated with the video play error set in the \\`state\\` field. Use the \\*\\*errorStr\\*\\* and and \\*\\*errorInfo\\*\\* fields for more descriptive diagnostic information to help identify and resolve the cause of the error.",
|
|
5723
|
+
"description": "The error code associated with the video play error set in the \\`state\\` field: \\* 0 no error \\* \\\\-1 network error (server down or unresponsive, server is unreachable, network setup problem on the client). \\* \\\\-2 connection timed out \\* \\\\-3 unknown/unspecified or generic Error \\* \\\\-4 empty list; no streams were specified to play \\* \\\\-5 media error; the media format is unknown or unsupported \\* \\\\-6 DRM error Use the \\*\\*errorStr\\*\\* and and \\*\\*errorInfo\\*\\* fields for more descriptive diagnostic information to help identify and resolve the cause of the error.",
|
|
5724
5724
|
"name": "errorCode",
|
|
5725
5725
|
"type": "integer"
|
|
5726
5726
|
},
|
|
5727
5727
|
{
|
|
5728
5728
|
"accessPermission": "READ_ONLY",
|
|
5729
5729
|
"default": "",
|
|
5730
|
-
"description": "A diagnostic message to help resolve the video play error set in the \\`state\\` field. The roAssociativeArray contains the following fields:\n\n| Field | Type | Description |\n| --- | --- | --- |\n|
|
|
5730
|
+
"description": "A diagnostic message to help resolve the video play error set in the \\`state\\` field. The roAssociativeArray contains the following fields:\n\n| Field | Type | Description |\n| --- | --- | --- |\n| clipId | integer | The unique ID for the clip |\n| ignored | integer | Indicates whether the error generated an exception (0) or was ignored resulting in the next item in the content list being played (1). |\n| source | string | The module that generated the error. |\n| category | String | The type of error, which includes: \"http\", \"drm\", \"mediaerror\", or \"mediaplayer\". |\n| errcode | integer | The internal Roku code associated with the error. Use the **dbgmsg** field for debugging. |\n| dbgmsg | string | A verbose debug message that can help identify the root cause of the error. |\n| drmerrcode _Available since Roku OS 10.5_ | integer | The error code returned by the DRM system, if any, when a video player error occurs |",
|
|
5731
5731
|
"name": "errorInfo",
|
|
5732
5732
|
"type": "roAssociativeArray"
|
|
5733
5733
|
},
|
|
@@ -5741,7 +5741,7 @@
|
|
|
5741
5741
|
{
|
|
5742
5742
|
"accessPermission": "READ_ONLY",
|
|
5743
5743
|
"default": "",
|
|
5744
|
-
"description": "A diagnostic message to help resolve the video play error set in the \\`state\\` field. The format of the errorStr is as follows: category:{category\\\\\\_name}:error:{error\\\\\\_code}:ignored:{0|1}:{source}:{source\\\\\\_name}:{additional catcher comment}:{error\\\\\\_string}:extra:{error\\\\\\_attributes}\n\n| errorStr Field | Type | Description |\n| --- | --- | --- |\n| category\\_name | string | The type of error, which includes: \"http\", \"drm\", \"mediaerror\", or \"mediaplayer\". |\n| error\\_code | integer | The unique code associated with the error. |\n| ignored | integer | Indicates whether the error generated an exception (0) or was ignored resulting in the next item in the content list being played (1). |\n| source | string | The module that generated the error. |\n| source\\_name | string | The module that generated the error. |\n| additional catcher comment | string | Typically, the comment added when the exception is caught. |\n| error\\_string | string | A text message describing the video play error. |\n| error\\_attributes | string | The error attribute, which includes the
|
|
5744
|
+
"description": "A diagnostic message to help resolve the video play error set in the \\`state\\` field. The format of the errorStr is as follows: category:{category\\\\\\_name}:error:{error\\\\\\_code}:ignored:{0|1}:{source}:{source\\\\\\_name}:{additional catcher comment}:{error\\\\\\_string}:extra:{error\\\\\\_attributes}\n\n| errorStr Field | Type | Description |\n| --- | --- | --- |\n| category\\_name | string | The type of error, which includes: \"http\", \"drm\", \"mediaerror\", or \"mediaplayer\". |\n| error\\_code | integer | The unique code associated with the error. |\n| ignored | integer | Indicates whether the error generated an exception (0) or was ignored resulting in the next item in the content list being played (1). |\n| source | string | The module that generated the error. |\n| source\\_name | string | The module that generated the error. |\n| additional catcher comment | string | Typically, the comment added when the exception is caught. |\n| error\\_string | string | A text message describing the video play error. |\n| error\\_attributes | string | The error attribute, which includes the clipId (the unique ID of the clip that failed to play). |",
|
|
5745
5745
|
"name": "errorStr",
|
|
5746
5746
|
"type": "string"
|
|
5747
5747
|
},
|
|
@@ -5884,12 +5884,8 @@
|
|
|
5884
5884
|
"url": "https://developer.roku.com/docs/references/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md"
|
|
5885
5885
|
},
|
|
5886
5886
|
"zoomrowlist": {
|
|
5887
|
-
"description": "
|
|
5887
|
+
"description": "The ZoomRowList node allows a row of the Row-Row Grid to smoothly zoom up to a larger size when that row has focus. Rows in this node are capable of gaining the focus while scrolling, and smoothly zooming up by the specified amount. The amount to zoom can be specified on a per row basis so that some rows can zoom up by a larger amount than others.",
|
|
5888
5888
|
"events": [],
|
|
5889
|
-
"extends": {
|
|
5890
|
-
"name": "ArrayGrid",
|
|
5891
|
-
"url": "https://developer.roku.com/docs/references/scenegraph/abstract-nodes/arraygrid.md"
|
|
5892
|
-
},
|
|
5893
5889
|
"fields": [],
|
|
5894
5890
|
"interfaces": [],
|
|
5895
5891
|
"name": "ZoomRowList",
|
|
@@ -5952,16 +5948,14 @@
|
|
|
5952
5948
|
{
|
|
5953
5949
|
"params": [
|
|
5954
5950
|
{
|
|
5955
|
-
"default": null,
|
|
5956
5951
|
"isRequired": true,
|
|
5957
|
-
"name": "
|
|
5958
|
-
"type": "
|
|
5952
|
+
"name": "param1",
|
|
5953
|
+
"type": "dynamic"
|
|
5959
5954
|
},
|
|
5960
5955
|
{
|
|
5961
|
-
"default": null,
|
|
5962
5956
|
"isRequired": true,
|
|
5963
|
-
"name": "
|
|
5964
|
-
"type": "
|
|
5957
|
+
"name": "param2",
|
|
5958
|
+
"type": "dynamic"
|
|
5965
5959
|
}
|
|
5966
5960
|
],
|
|
5967
5961
|
"returnType": "roArray"
|
|
@@ -6058,7 +6052,7 @@
|
|
|
6058
6052
|
"returnType": "roAudioPlayer"
|
|
6059
6053
|
}
|
|
6060
6054
|
],
|
|
6061
|
-
"description": "The Audio Player object provides the ability to setup the playing of a series of audio streams. The object accepts an array of content meta-data objects, describing the audio and providing URLs for accessing each stream. The component understands the following streamformat values: \"mp3\", \"
|
|
6055
|
+
"description": "The Audio Player object provides the ability to setup the playing of a series of audio streams. The object accepts an array of content meta-data objects, describing the audio and providing URLs for accessing each stream. The component understands the following streamformat values: \"mp3\", \"mp4\", \"hls\", \"es.aac-adts\", \"flac.\"\n\nThis object does not provide an interface to a screen. In order to get events both from the screen you are using and the Audio Player, you should use the same Message Port for both objects.\n\nThis object is created with no parameters:\n\n`CreateObject(\"roAudioPlayer\")`\n\n**Example**\n\n```\nSub Main()\n audioPlayer = CreateObject(\"roAudioPlayer\")\n port = CreateObject(\"roMessagePort\")\n audioPlayer.SetMessagePort(port)\n song = CreateObject(\"roAssociativeArray\")\n song.url = \"https://file-examples.com/storage/feb401d325641db2fa1dfe7/2017/11/file_example_MP3_700KB.mp3\"\n audioplayer.addcontent(song)\n audioplayer.setloop(false)\n audioPlayer.play()\n while true\n msg = wait(0, port)\n if type(msg) = \"roAudioPlayerEvent\"\n if msg.isStatusMessage() then\n print \"roAudioPlayerEvent: \"; msg.getmessage()\n if msg.getmessage() = \"end of playlist\" return\n endif\n endif\n end while\nEnd Sub\n```",
|
|
6062
6056
|
"events": [
|
|
6063
6057
|
{
|
|
6064
6058
|
"name": "roAudioPlayerEvent",
|
|
@@ -6103,7 +6097,7 @@
|
|
|
6103
6097
|
{
|
|
6104
6098
|
"isRequired": true,
|
|
6105
6099
|
"name": "param1",
|
|
6106
|
-
"type": "
|
|
6100
|
+
"type": "dynamic"
|
|
6107
6101
|
}
|
|
6108
6102
|
],
|
|
6109
6103
|
"returnType": "roAudioResource"
|
|
@@ -6122,17 +6116,6 @@
|
|
|
6122
6116
|
},
|
|
6123
6117
|
"robitmap": {
|
|
6124
6118
|
"constructors": [
|
|
6125
|
-
{
|
|
6126
|
-
"params": [
|
|
6127
|
-
{
|
|
6128
|
-
"default": null,
|
|
6129
|
-
"isRequired": true,
|
|
6130
|
-
"name": "bitmapProps",
|
|
6131
|
-
"type": "Object"
|
|
6132
|
-
}
|
|
6133
|
-
],
|
|
6134
|
-
"returnType": "roBitmap"
|
|
6135
|
-
},
|
|
6136
6119
|
{
|
|
6137
6120
|
"params": [
|
|
6138
6121
|
{
|
|
@@ -6144,16 +6127,6 @@
|
|
|
6144
6127
|
],
|
|
6145
6128
|
"returnType": "roBitmap"
|
|
6146
6129
|
},
|
|
6147
|
-
{
|
|
6148
|
-
"params": [
|
|
6149
|
-
{
|
|
6150
|
-
"isRequired": true,
|
|
6151
|
-
"name": "param1",
|
|
6152
|
-
"type": "string"
|
|
6153
|
-
}
|
|
6154
|
-
],
|
|
6155
|
-
"returnType": "roBitmap"
|
|
6156
|
-
},
|
|
6157
6130
|
{
|
|
6158
6131
|
"params": [
|
|
6159
6132
|
{
|
|
@@ -6564,7 +6537,7 @@
|
|
|
6564
6537
|
},
|
|
6565
6538
|
"rohdmistatus": {
|
|
6566
6539
|
"constructors": [],
|
|
6567
|
-
"description": "The HDMI status component provides an interface to the current HDMI operational status.\n\nThis component allows you to query the status of the HDMI connection for
|
|
6540
|
+
"description": "The HDMI status component provides an interface to the current HDMI operational status.\n\nThis component allows you to query the status of the HDMI connection for a Roku streaming player (or set-top box \\[STB\\]) through the ifHdmiStatus interface functions. This node is not applicable for Roku TVs.",
|
|
6568
6541
|
"events": [],
|
|
6569
6542
|
"interfaces": [
|
|
6570
6543
|
{
|
|
@@ -6640,7 +6613,7 @@
|
|
|
6640
6613
|
"returnType": "roInput"
|
|
6641
6614
|
}
|
|
6642
6615
|
],
|
|
6643
|
-
"description": "An roInput object can be used to receive events sent from a network client using the External Control Protocol (ECP), as described in [External Control API](/docs/developer-program/
|
|
6616
|
+
"description": "An roInput object can be used to receive events sent from a network client using the External Control Protocol (ECP), as described in [External Control API](/docs/developer-program/dev-tools/external-control-api.md \"External Control API\").\n\n> The [supports\\_input\\_launch manifest flag](/docs/developer-program/getting-started/architecture/channel-manifest.md#launch-requirement-attributes) must be set for channels to accept deep linking parameters when already running. This flag enables deep linking into content without relaunching the channel. See the [Deep Linking sample channel](https://github.com/rokudev/deep-Linking-samples) for how to use roInput to handle deep links into content while the channel is already running.\n\nRefer to [External Control Service Commands](/docs/developer-program/dev-tools/external-control-api.md#external-control-service-commands \"External Control Service Commands\") for information about the ECP input command.\n\nThis object is created without any arguments:\n\n`CreateObject(\"roInput\")`\n\n**Example**\n\nThe following prints information received from an external device in JSON format. If the external device sends the following input command:\n\n```\ncurl -d '' '<roku_target_device>:8060/input?my_event=My%20Test&x=100&y=200&action=start'\n```\n\nThe following will be printed:\n\n```\n{\"action\":\"start\",\"my_event\":\"My Test\",\"x\":\"100\",\"y\":\"200\"}\n```\n\n**roInput Example**\n\n```\nmsgPort = CreateObject(\"roMessagePort\")\n\ninput = CreateObject(\"roInput\")\ninput.SetMessagePort(msgPort)\n\nprint \"Waiting for messages...\"\nwhile true\n msg = wait(0, msgPort)\n if type(msg) = \"roInputEvent\"\n if msg.IsInput()\n info = msg.GetInfo()\n print \"Received input: \"; FormatJSON(info)\n end if\n end if\nend while\n```",
|
|
6644
6617
|
"events": [
|
|
6645
6618
|
{
|
|
6646
6619
|
"name": "roInputEvent",
|
|
@@ -6819,7 +6792,7 @@
|
|
|
6819
6792
|
{
|
|
6820
6793
|
"isRequired": true,
|
|
6821
6794
|
"name": "param1",
|
|
6822
|
-
"type": "
|
|
6795
|
+
"type": "dynamic"
|
|
6823
6796
|
}
|
|
6824
6797
|
],
|
|
6825
6798
|
"returnType": "roPath"
|
|
@@ -6870,12 +6843,12 @@
|
|
|
6870
6843
|
{
|
|
6871
6844
|
"isRequired": true,
|
|
6872
6845
|
"name": "param1",
|
|
6873
|
-
"type": "
|
|
6846
|
+
"type": "dynamic"
|
|
6874
6847
|
},
|
|
6875
6848
|
{
|
|
6876
6849
|
"isRequired": true,
|
|
6877
6850
|
"name": "param2",
|
|
6878
|
-
"type": "
|
|
6851
|
+
"type": "dynamic"
|
|
6879
6852
|
}
|
|
6880
6853
|
],
|
|
6881
6854
|
"returnType": "roRegex"
|
|
@@ -6961,23 +6934,12 @@
|
|
|
6961
6934
|
},
|
|
6962
6935
|
"roregistrysection": {
|
|
6963
6936
|
"constructors": [
|
|
6964
|
-
{
|
|
6965
|
-
"params": [
|
|
6966
|
-
{
|
|
6967
|
-
"default": null,
|
|
6968
|
-
"isRequired": true,
|
|
6969
|
-
"name": "section",
|
|
6970
|
-
"type": "String"
|
|
6971
|
-
}
|
|
6972
|
-
],
|
|
6973
|
-
"returnType": "roRegistrySection"
|
|
6974
|
-
},
|
|
6975
6937
|
{
|
|
6976
6938
|
"params": [
|
|
6977
6939
|
{
|
|
6978
6940
|
"isRequired": true,
|
|
6979
6941
|
"name": "param1",
|
|
6980
|
-
"type": "
|
|
6942
|
+
"type": "dynamic"
|
|
6981
6943
|
}
|
|
6982
6944
|
],
|
|
6983
6945
|
"returnType": "roRegistrySection"
|
|
@@ -7037,17 +6999,17 @@
|
|
|
7037
6999
|
{
|
|
7038
7000
|
"isRequired": true,
|
|
7039
7001
|
"name": "param1",
|
|
7040
|
-
"type": "
|
|
7002
|
+
"type": "dynamic"
|
|
7041
7003
|
},
|
|
7042
7004
|
{
|
|
7043
7005
|
"isRequired": true,
|
|
7044
7006
|
"name": "param2",
|
|
7045
|
-
"type": "
|
|
7007
|
+
"type": "dynamic"
|
|
7046
7008
|
},
|
|
7047
7009
|
{
|
|
7048
7010
|
"isRequired": true,
|
|
7049
7011
|
"name": "param3",
|
|
7050
|
-
"type": "
|
|
7012
|
+
"type": "dynamic"
|
|
7051
7013
|
}
|
|
7052
7014
|
],
|
|
7053
7015
|
"returnType": "roScreen"
|
|
@@ -7057,7 +7019,7 @@
|
|
|
7057
7019
|
{
|
|
7058
7020
|
"isRequired": true,
|
|
7059
7021
|
"name": "param1",
|
|
7060
|
-
"type": "
|
|
7022
|
+
"type": "dynamic"
|
|
7061
7023
|
}
|
|
7062
7024
|
],
|
|
7063
7025
|
"returnType": "roScreen"
|
|
@@ -7067,7 +7029,7 @@
|
|
|
7067
7029
|
"returnType": "roScreen"
|
|
7068
7030
|
}
|
|
7069
7031
|
],
|
|
7070
|
-
"description": "The roScreen component provides a full screen drawing surface that can be stacked and that you can receive input events from.\n\nYou will need at least one roScreen component in your 2D game application to draw on and get events from. The origin (0,0) is the top left corner of the screen. The pixels are always RGBA 32 bits. Multiple roScreen components stack, and like other screen components only the top screen is viewable and gets events. An roScreen that is not the top most screen can still be drawn to.\n\n> Once an roScreen is created, the display stack enters \"Game Mode\", and other screen components cannot be used. Screensavers will also be disabled and will appear as a black screen in its place. Other screen components cannot be intermixed with roScreens as the roScreen display stack is maintained independently from the main screen component display stack. When the final roScreen component is closed, other screen components can be used again.\n\nWhen the roScreen constructor is called, an optional double buffer flag, and an optional resolution can be passed. If the screen is double buffered, two buffers are fully allocated when CreateObject() succeeds. If the screen is single buffered only one buffer is allocated and the \"front\" and \"back\" buffers in method descriptions below are the same buffer. When a screen is created with a different resolution than the output display, it is scaled automatically to the output display resolution.\n\nTo maintain proper aspect ratio, and take care of the different pixel aspect ratio in HD vs SD; there is a fixed set of bitmap resolutions that are allowed to be created for screens
|
|
7032
|
+
"description": "The roScreen component provides a full screen drawing surface that can be stacked and that you can receive input events from.\n\nYou will need at least one roScreen component in your 2D game application to draw on and get events from. The origin (0,0) is the top left corner of the screen. The pixels are always RGBA 32 bits. Multiple roScreen components stack, and like other screen components only the top screen is viewable and gets events. An roScreen that is not the top most screen can still be drawn to.\n\n> Once an roScreen is created, the display stack enters \"Game Mode\", and other screen components cannot be used. Screensavers will also be disabled and will appear as a black screen in its place. Other screen components cannot be intermixed with roScreens as the roScreen display stack is maintained independently from the main screen component display stack. When the final roScreen component is closed, other screen components can be used again.\n\nWhen the roScreen constructor is called, an optional double buffer flag, and an optional resolution can be passed. If the screen is double buffered, two buffers are fully allocated when CreateObject() succeeds. If the screen is single buffered only one buffer is allocated and the \"front\" and \"back\" buffers in method descriptions below are the same buffer. When a screen is created with a different resolution than the output display, it is scaled automatically to the output display resolution.\n\nTo maintain proper aspect ratio, and take care of the different pixel aspect ratio in HD vs SD; there is a fixed set of bitmap resolutions that are allowed to be created for screens:",
|
|
7071
7033
|
"events": [
|
|
7072
7034
|
{
|
|
7073
7035
|
"name": "roUniversalControlEvent",
|
|
@@ -7102,7 +7064,7 @@
|
|
|
7102
7064
|
{
|
|
7103
7065
|
"isRequired": true,
|
|
7104
7066
|
"name": "param1",
|
|
7105
|
-
"type": "
|
|
7067
|
+
"type": "dynamic"
|
|
7106
7068
|
}
|
|
7107
7069
|
],
|
|
7108
7070
|
"returnType": "roSGNode"
|
|
@@ -7273,7 +7235,7 @@
|
|
|
7273
7235
|
"returnType": "roSystemLog"
|
|
7274
7236
|
}
|
|
7275
7237
|
],
|
|
7276
|
-
"description": "The roSystemLog component enables the application to receive events from the Roku Streaming Player that are intended for reporting errors and trends, rather than trigger a response to a user action.\n\nAll of the log event messages are sent to the roMessagePort that is registered on the [roSystemLogEvent](https://developer.roku.com/docs/references/brightscript/events/rosystemlogevent.md\"roSystemLogEvent\") object. See roSystemLogEvent for details on the messages.\n\nThis object is created with no parameters:\n\n`CreateObject(\"roSystemLog\")`\n\nThe roSystemLog component requires specific Design Patterns in your BrightScript Application. Take care to:\n\n* Use one roMessagePort throughout the application (instead of creating a new roMessagePort for each screen).\n* Create one roSystemLog instance at startup that remains for the entire lifetime of the application.\n* Pass the global roMessagePort referenced in the first bullet point to SetMessagePort() on the roSystemLog component.\n* Enable the desired log types using EnableType().\n* Handle the [roSystemLogEvents](https://developer.roku.com/docs/references/brightscript/events/rosystemlogevent.md\"roSystemLogEvents\") in all message loops.",
|
|
7238
|
+
"description": "The roSystemLog component enables the application to receive events from the Roku Streaming Player that are intended for reporting errors and trends, rather than trigger a response to a user action.\n\nAll of the log event messages are sent to the roMessagePort that is registered on the [roSystemLogEvent](https://developer.roku.com/docs/references/brightscript/events/rosystemlogevent.md\"roSystemLogEvent\") object. See roSystemLogEvent for details on the messages.\n\nThis object is created with no parameters:\n\n`CreateObject(\"roSystemLog\")`\n\nThe roSystemLog component requires specific Design Patterns in your BrightScript Application. Take care to:\n\n* Use one roMessagePort throughout the application (instead of creating a new roMessagePort for each screen).\n* Create one roSystemLog instance at startup that remains for the entire lifetime of the application.\n* Create the roSystemLog instance on the main thread (it cannot be created on a task thread).\n* Pass the global roMessagePort referenced in the first bullet point to SetMessagePort() on the roSystemLog component.\n* Enable the desired log types using EnableType().\n* Handle the [roSystemLogEvents](https://developer.roku.com/docs/references/brightscript/events/rosystemlogevent.md\"roSystemLogEvents\") in all message loops.",
|
|
7277
7239
|
"events": [],
|
|
7278
7240
|
"interfaces": [
|
|
7279
7241
|
{
|
|
@@ -7357,7 +7319,7 @@
|
|
|
7357
7319
|
{
|
|
7358
7320
|
"isRequired": true,
|
|
7359
7321
|
"name": "param1",
|
|
7360
|
-
"type": "
|
|
7322
|
+
"type": "dynamic"
|
|
7361
7323
|
}
|
|
7362
7324
|
],
|
|
7363
7325
|
"returnType": "roTextureRequest"
|
|
@@ -7730,11 +7692,11 @@
|
|
|
7730
7692
|
"returnType": "Boolean"
|
|
7731
7693
|
},
|
|
7732
7694
|
{
|
|
7733
|
-
"description": "Returns the memory limit for the channel.",
|
|
7695
|
+
"description": "Returns the usage percentage of memory limit for the channel.",
|
|
7734
7696
|
"name": "GetMemoryLimitPercent",
|
|
7735
7697
|
"params": [],
|
|
7736
|
-
"returnDescription": "The memory limit for the channel.",
|
|
7737
|
-
"returnType": "
|
|
7698
|
+
"returnDescription": "The usage percentage of memory limit for the channel.",
|
|
7699
|
+
"returnType": "dynamic"
|
|
7738
7700
|
}
|
|
7739
7701
|
],
|
|
7740
7702
|
"name": "ifAppMemoryMonitor",
|
|
@@ -9265,6 +9227,21 @@
|
|
|
9265
9227
|
"returnDescription": "A dateString corresponding to the specified format.",
|
|
9266
9228
|
"returnType": "String"
|
|
9267
9229
|
},
|
|
9230
|
+
{
|
|
9231
|
+
"description": "Returns the localized date of the device.",
|
|
9232
|
+
"name": "asDateStringLoc",
|
|
9233
|
+
"params": [
|
|
9234
|
+
{
|
|
9235
|
+
"default": null,
|
|
9236
|
+
"description": "Specify the format of the date string to be returned: * full * long * medium * short * custom formatting string using date symbols (for example, \"MMM d, y\")",
|
|
9237
|
+
"isRequired": true,
|
|
9238
|
+
"name": "format",
|
|
9239
|
+
"type": "String"
|
|
9240
|
+
}
|
|
9241
|
+
],
|
|
9242
|
+
"returnDescription": "A date string corresponding to the specified format:",
|
|
9243
|
+
"returnType": "String"
|
|
9244
|
+
},
|
|
9268
9245
|
{
|
|
9269
9246
|
"description": "Returns the date/time in long-date format.",
|
|
9270
9247
|
"name": "AsDateStringNoParam",
|
|
@@ -9279,6 +9256,21 @@
|
|
|
9279
9256
|
"returnDescription": "Number of seconds as Integer.",
|
|
9280
9257
|
"returnType": "Integer"
|
|
9281
9258
|
},
|
|
9259
|
+
{
|
|
9260
|
+
"description": "Returns the localized time of the device.",
|
|
9261
|
+
"name": "asTimeStringLoc",
|
|
9262
|
+
"params": [
|
|
9263
|
+
{
|
|
9264
|
+
"default": null,
|
|
9265
|
+
"description": "Specify the format of the time string to be returned: * short * short-h12 * short-h24 * custom formatting string using time symbols (for example, \"h:mm a\")",
|
|
9266
|
+
"isRequired": true,
|
|
9267
|
+
"name": "format",
|
|
9268
|
+
"type": "String"
|
|
9269
|
+
}
|
|
9270
|
+
],
|
|
9271
|
+
"returnDescription": "A time string corresponding to the specified format:",
|
|
9272
|
+
"returnType": "String"
|
|
9273
|
+
},
|
|
9282
9274
|
{
|
|
9283
9275
|
"description": "Sets the date/time using a string in the ISO 8601 format. For example \"YYYY-MM-DD HH:MM:SS\" e.g \"2009-01-01 01:00:00.000\" or \"2009-01-01T01:00:00.000\".",
|
|
9284
9276
|
"name": "FromISO8601String",
|
|
@@ -9450,7 +9442,7 @@
|
|
|
9450
9442
|
}
|
|
9451
9443
|
],
|
|
9452
9444
|
"returnDescription": "An roByteArray containing the decrypted data.",
|
|
9453
|
-
"returnType": "
|
|
9445
|
+
"returnType": "dynamic"
|
|
9454
9446
|
},
|
|
9455
9447
|
{
|
|
9456
9448
|
"description": "Encrypts data on a device that is unique per device, channel, or model.",
|
|
@@ -9472,7 +9464,7 @@
|
|
|
9472
9464
|
}
|
|
9473
9465
|
],
|
|
9474
9466
|
"returnDescription": "An roByteArray containing the encrypted data.",
|
|
9475
|
-
"returnType": "
|
|
9467
|
+
"returnType": "dynamic"
|
|
9476
9468
|
}
|
|
9477
9469
|
],
|
|
9478
9470
|
"name": "ifDeviceCrypto",
|
|
@@ -9494,7 +9486,7 @@
|
|
|
9494
9486
|
"params": [
|
|
9495
9487
|
{
|
|
9496
9488
|
"default": null,
|
|
9497
|
-
"description": "An associative array with the audio format to be checked. The general format of the associative arrays for CanDecodeAudio() is similar to the parameter and return associative arrays used in [CanDecodeVideo()](https://developer.roku.com/docs/references/brightscript/interfaces/ifdeviceinfo.mdcandecodevideovideo_format-as-object-as-object): \n| Key | Type | Value | Requirement |\n| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| Codec | string | Specifies the audio codec: “aac”, “ac3”, “eac3”, \"alac\", \"flac\", “mp2”, “mp3”, “vorbis”, “wma
|
|
9489
|
+
"description": "An associative array with the audio format to be checked. The general format of the associative arrays for CanDecodeAudio() is similar to the parameter and return associative arrays used in [CanDecodeVideo()](https://developer.roku.com/docs/references/brightscript/interfaces/ifdeviceinfo.mdcandecodevideovideo_format-as-object-as-object): \n| Key | Type | Value | Requirement |\n| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| Codec | string | Specifies the audio codec: “aac”, “ac3”, “eac3”, \"alac\", \"flac\", “mp2”, “mp3”, “vorbis”, “wma” (deprecated), “wma pro” (deprecated), “dts”, \"ac4\" | Required |\n| Profile | string | Specifies the codec profile:CodecProfile\"h.265/h.265\"\"main\", \"high\", \"main 10\"\"vp9\"\"profile 0\", \"profile 2\"\"AAC codec profiles\"\"mp2 lc\", \"mp4 he\" | Optional |\n| Level | String | Specifies the codec level:CodecLevel\"h.265/h.265\"4.1, 4.2, 5.0, 5.1\"vp9\"3.0, 3.1, 4.0, 4.1, 5.0, 5.1 | Optional |\n| ChCnt | integer | Specifies the required number of audio channels | Optional |\n| PassThru | integer | Specifies whether the bitstream needs to be decoded on the device. By default, this reports the codec properties of both the Roku device and the attached HDMI device.You can filter the values returned by including one of the following options:**0** \\- Reports only codecs that are supported on the Roku device itself.**1** \\- Reports only codecs of the attached HDMI device (for example, an audio receiver). | Optional |\n| Atmos | Integer | Specifies whether atmos is required. Include 'atmos=1' if it is. | Optional |\n| SampleRate | integer | Specifies the sample rate | Optional |\n| BitRate | integer | Specifies the bit rate in Kbit/sec | Optional |\n| Container | string | Specifies the container format | Optional |\n",
|
|
9498
9490
|
"isRequired": true,
|
|
9499
9491
|
"name": "audio_format",
|
|
9500
9492
|
"type": "Object"
|
|
@@ -9800,7 +9792,7 @@
|
|
|
9800
9792
|
"returnType": "String"
|
|
9801
9793
|
},
|
|
9802
9794
|
{
|
|
9803
|
-
"description": "Checks the general memory levels of the
|
|
9795
|
+
"description": "Checks the general memory levels of the device.",
|
|
9804
9796
|
"name": "GetGeneralMemoryLevel",
|
|
9805
9797
|
"params": [],
|
|
9806
9798
|
"returnDescription": "Returns the general memory levels of the channel, which may be one of the following values:",
|
|
@@ -11166,58 +11158,46 @@
|
|
|
11166
11158
|
{
|
|
11167
11159
|
"description": "roFont represents a particular font, from a font-family (eg. Arial), with a particular pixel size (e.g 20), and a particular boldness or italicness",
|
|
11168
11160
|
"name": "roFont",
|
|
11169
|
-
"url": "https://developer.roku.com/docs/references/brightscript/components/rofont.md"
|
|
11161
|
+
"url": "https://developer.roku.com/docs/references/api-index/brightscript/components/rofont.md"
|
|
11170
11162
|
}
|
|
11171
11163
|
],
|
|
11172
11164
|
"methods": [
|
|
11173
11165
|
{
|
|
11174
|
-
"description": "Returns the number of pixels of the font ascent.",
|
|
11175
11166
|
"name": "GetAscent",
|
|
11176
11167
|
"params": [],
|
|
11177
|
-
"returnDescription": "The number of pixels.",
|
|
11178
11168
|
"returnType": "Integer"
|
|
11179
11169
|
},
|
|
11180
11170
|
{
|
|
11181
|
-
"description": "Returns the number of pixels of the font descent.",
|
|
11182
11171
|
"name": "GetDescent",
|
|
11183
11172
|
"params": [],
|
|
11184
|
-
"returnDescription": "The number of pixels.",
|
|
11185
11173
|
"returnType": "Integer"
|
|
11186
11174
|
},
|
|
11187
11175
|
{
|
|
11188
|
-
"description": "Returns the font maximum advance width in pixels.",
|
|
11189
11176
|
"name": "GetMaxAdvance",
|
|
11190
11177
|
"params": [],
|
|
11191
|
-
"returnDescription": "The number of pixels.",
|
|
11192
11178
|
"returnType": "Integer"
|
|
11193
11179
|
},
|
|
11194
11180
|
{
|
|
11195
|
-
"description": "Returns the number of pixels from one line to the next when drawing with this font.",
|
|
11196
11181
|
"name": "GetOneLineHeight",
|
|
11197
11182
|
"params": [],
|
|
11198
|
-
"returnDescription": "The number of pixels.",
|
|
11199
11183
|
"returnType": "Integer"
|
|
11200
11184
|
},
|
|
11201
11185
|
{
|
|
11202
|
-
"description": "Returns the number of pixels from one line to the next when drawing with this font. Each glyph and the needed spacing between glyphs is measured.",
|
|
11203
11186
|
"name": "GetOneLineWidth",
|
|
11204
11187
|
"params": [
|
|
11205
11188
|
{
|
|
11206
11189
|
"default": null,
|
|
11207
|
-
"description": "The subject text.",
|
|
11208
11190
|
"isRequired": true,
|
|
11209
11191
|
"name": "text",
|
|
11210
11192
|
"type": "String"
|
|
11211
11193
|
},
|
|
11212
11194
|
{
|
|
11213
11195
|
"default": null,
|
|
11214
|
-
"description": "Generally, the amount of pixels available for rendering on this line.",
|
|
11215
11196
|
"isRequired": true,
|
|
11216
11197
|
"name": "MaxWidth",
|
|
11217
11198
|
"type": "Integer"
|
|
11218
11199
|
}
|
|
11219
11200
|
],
|
|
11220
|
-
"returnDescription": "The number of pixels. This will be less than provided MaxWidth.",
|
|
11221
11201
|
"returnType": "Integer"
|
|
11222
11202
|
}
|
|
11223
11203
|
],
|
|
@@ -11446,7 +11426,7 @@
|
|
|
11446
11426
|
"ifhdmistatus": {
|
|
11447
11427
|
"implementers": [
|
|
11448
11428
|
{
|
|
11449
|
-
"description": "The HDMI status component provides an interface to the current HDMI operational status",
|
|
11429
|
+
"description": "The HDMI status component provides an interface to the current HDMI operational status of Roku streaming players (or set-top boxes \\[STBs\\]). This interface is not applicable for Roku TVs.",
|
|
11450
11430
|
"name": "roHdmiStatus",
|
|
11451
11431
|
"url": "https://developer.roku.com/docs/references/brightscript/components/rohdmistatus.md"
|
|
11452
11432
|
}
|
|
@@ -11611,7 +11591,7 @@
|
|
|
11611
11591
|
"params": [
|
|
11612
11592
|
{
|
|
11613
11593
|
"default": null,
|
|
11614
|
-
"description": "An roArray of roAssociativeArrays, where each associative array represents a cookie to be added. Each associative array must contain the following key-value pairs: \n| Name
|
|
11594
|
+
"description": "An roArray of roAssociativeArrays, where each associative array represents a cookie to be added. Each associative array must contain the following key-value pairs: \n| Name | Type | Description |\n| ------------------------------------ | ---------- | ----------------------------------------------------------------------------- |\n| Version | Integer | Cookie version number |\n| Domain | String | Domain to which cookie applies |\n| Path | String | Path to which cookie applies |\n| Name | String | Name of the cookie |\n| Value | String | Value of the cookie |\n| Expires | roDateTime | Cookie expiration date, if any |\n| Secure_Available since Roku OS 12.0_ | Boolean | Indicates whether the cookie is to be sent over HTTPS (true) or HTTP (false). |\n",
|
|
11615
11595
|
"isRequired": true,
|
|
11616
11596
|
"name": "cookies",
|
|
11617
11597
|
"type": "Object"
|
|
@@ -12819,7 +12799,7 @@
|
|
|
12819
12799
|
"returnType": "Object"
|
|
12820
12800
|
},
|
|
12821
12801
|
{
|
|
12822
|
-
"description": "Returns the number of bytes available in the channel application's device registry (
|
|
12802
|
+
"description": "Returns the number of bytes available in the channel application's device registry (32K). This function can be used, for example, to check the remaining space and remove older entries before writing newer ones. The following code demonstrates how to do this:",
|
|
12823
12803
|
"name": "GetSpaceAvailable",
|
|
12824
12804
|
"params": [],
|
|
12825
12805
|
"returnDescription": "An integer representing the the number of bytes available in the device registry.",
|
|
@@ -13431,7 +13411,7 @@
|
|
|
13431
13411
|
"name": "getParent",
|
|
13432
13412
|
"params": [],
|
|
13433
13413
|
"returnDescription": "The parent node; otherwise, \"invalid\".",
|
|
13434
|
-
"returnType": "
|
|
13414
|
+
"returnType": "dynamic"
|
|
13435
13415
|
},
|
|
13436
13416
|
{
|
|
13437
13417
|
"description": "Returns an array with every existing node without a parent created by the currently running channel.",
|
|
@@ -13451,7 +13431,7 @@
|
|
|
13451
13431
|
"name": "getScene",
|
|
13452
13432
|
"params": [],
|
|
13453
13433
|
"returnDescription": "The node's root Scene.",
|
|
13454
|
-
"returnType": "
|
|
13434
|
+
"returnType": "dynamic"
|
|
13455
13435
|
},
|
|
13456
13436
|
{
|
|
13457
13437
|
"description": "Inserts a previously-created child node at the position index in the subject node list of children, so that this is the position that the new child node is traversed during render.",
|
|
@@ -14232,21 +14212,21 @@
|
|
|
14232
14212
|
"name": "getGlobalNode",
|
|
14233
14213
|
"params": [],
|
|
14234
14214
|
"returnDescription": "A global reference object.",
|
|
14235
|
-
"returnType": "
|
|
14215
|
+
"returnType": "dynamic"
|
|
14236
14216
|
},
|
|
14237
14217
|
{
|
|
14238
14218
|
"description": "Returns the roMessagePort object for the SceneGraph scene.",
|
|
14239
14219
|
"name": "GetMessagePort",
|
|
14240
14220
|
"params": [],
|
|
14241
14221
|
"returnDescription": "The roMessagePort object.",
|
|
14242
|
-
"returnType": "
|
|
14222
|
+
"returnType": "dynamic"
|
|
14243
14223
|
},
|
|
14244
14224
|
{
|
|
14245
14225
|
"description": "The roSGScene object associated with the screen.",
|
|
14246
14226
|
"name": "GetScene",
|
|
14247
14227
|
"params": [],
|
|
14248
14228
|
"returnDescription": "Typically, the scene created in main.brs by a roSGScreen.CreateScene() call.",
|
|
14249
|
-
"returnType": "
|
|
14229
|
+
"returnType": "dynamic"
|
|
14250
14230
|
},
|
|
14251
14231
|
{
|
|
14252
14232
|
"description": "Specifies the roMessagePort object for the roSGScreen object",
|
|
@@ -15733,6 +15713,27 @@
|
|
|
15733
15713
|
],
|
|
15734
15714
|
"returnType": "String"
|
|
15735
15715
|
},
|
|
15716
|
+
{
|
|
15717
|
+
"description": "Returns a copy of the string with all instances of **fromStr** replaced with **toStr**. If **fromStr** is empty the return value is the same as the source string.",
|
|
15718
|
+
"name": "Replace",
|
|
15719
|
+
"params": [
|
|
15720
|
+
{
|
|
15721
|
+
"default": null,
|
|
15722
|
+
"description": "The string of characters within the roString object to be replaced.",
|
|
15723
|
+
"isRequired": true,
|
|
15724
|
+
"name": "from",
|
|
15725
|
+
"type": "String"
|
|
15726
|
+
},
|
|
15727
|
+
{
|
|
15728
|
+
"default": null,
|
|
15729
|
+
"description": "The string of characters that will replace all instances of the **from** string.",
|
|
15730
|
+
"isRequired": true,
|
|
15731
|
+
"name": "to",
|
|
15732
|
+
"type": "String"
|
|
15733
|
+
}
|
|
15734
|
+
],
|
|
15735
|
+
"returnType": "String"
|
|
15736
|
+
},
|
|
15736
15737
|
{
|
|
15737
15738
|
"description": "Returns a string consisting of the last len characters of the string.",
|
|
15738
15739
|
"name": "Right",
|
|
@@ -17388,6 +17389,16 @@
|
|
|
17388
17389
|
}
|
|
17389
17390
|
],
|
|
17390
17391
|
"methods": [
|
|
17392
|
+
{
|
|
17393
|
+
"name": "isDownloadSegmentInfo",
|
|
17394
|
+
"params": [],
|
|
17395
|
+
"returnType": "Boolean"
|
|
17396
|
+
},
|
|
17397
|
+
{
|
|
17398
|
+
"name": "isFormatDetected",
|
|
17399
|
+
"params": [],
|
|
17400
|
+
"returnType": "Boolean"
|
|
17401
|
+
},
|
|
17391
17402
|
{
|
|
17392
17403
|
"name": "isFullResult",
|
|
17393
17404
|
"params": [],
|
|
@@ -17423,11 +17434,21 @@
|
|
|
17423
17434
|
"params": [],
|
|
17424
17435
|
"returnType": "Boolean"
|
|
17425
17436
|
},
|
|
17437
|
+
{
|
|
17438
|
+
"name": "isSegmentDownloadStarted",
|
|
17439
|
+
"params": [],
|
|
17440
|
+
"returnType": "Boolean"
|
|
17441
|
+
},
|
|
17426
17442
|
{
|
|
17427
17443
|
"name": "isStatusMessage",
|
|
17428
17444
|
"params": [],
|
|
17429
17445
|
"returnType": "Boolean"
|
|
17430
17446
|
},
|
|
17447
|
+
{
|
|
17448
|
+
"name": "isStreamSegmentInfo",
|
|
17449
|
+
"params": [],
|
|
17450
|
+
"returnType": "Boolean"
|
|
17451
|
+
},
|
|
17431
17452
|
{
|
|
17432
17453
|
"name": "isTimedMetaData",
|
|
17433
17454
|
"params": [],
|