Plugins

Note: When adding a plugin to a BrightAuthor presentation, ensure the plugin Name is the same as the name of the BrightScript subroutine.

Plugins allow you to add custom scripts to a standard BrightAuthor presentation without actually modifying the autorun file. For example, you can use plugins to change variable values, extract information from a .txt, .csv, .xml, or .jsonfile to display it onscreen, change the contents of a playlist, or change how the presentation responds to external input. Plugins also allow you to access features that are enabled in player firmware, but that have not been built out in BrightAuthor yet.

This custom functionality can be triggered by events (button press, touch, video end, etc.) or by commands (e.g. a Zone Message or UDP Command). A plugin can also be triggered at any point by a Plugin Message command, which allows you to target a specific plugin, as well as a specific function within that plugin.

Widget Hide or Show: Allows you to hide or show a Ticker or Clock zone by sending Plugin Message commands.

RTSP Media Server: Converts a 4K or XD player to a media server that waits for clients to connect, then starts streaming video to them via RTSP.

Touch Audio Feedback: Plays an audio file over HDMI whenever a touch event is triggered in the presentation.

Important: To retrieve a plugin from the GitHub page, right-click the Raw link on the plugin page heading and click Save Link As....

Parsers

Note: When adding a parser to a BrightAuthor presentation in File > Presentation Properties > Data Feeds, ensure the Parser Function Nameis the same as the subroutine name in BrightScript.

Parsers can perform many of the same custom functions as plugins (for example, extracting information from a .txt, .csv, .xml, or .jsonfile to display it onscreen or changing the contents of a playlist); however, rather than being triggered by a command or being associated with an event, parsers are associated with a downloaded data feed or a file on the SD card. This means that any function that is triggered by an event must be written as a plugin, not a parser.

A parser does not need to work exclusively with the data in the feed associated with it. Once the parser starts running, you can use it to delete a file on the storage, send a UDP command, or download another feed or file.