What are custom script and parser plugins in BrightAuthor:connected?

To get started writing plugins or parsers, see the Script and Parser plugins tech notes. For more information on BrightScript, please see the BrightScript section on the documentation website.

Script Plugins

NoteWhen adding a script plugin to a BrightAuthor:connected presentation, ensure the Script Plugin Name is the same as the name of the BrightScript subroutine.

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

This custom functionality can be triggered by events (button press, touch, video end, etc.) or by commands, such as a Zone Message or UDP Command. A script plugin can also be triggered by a Plugin Message command, which allows you to target the function of a specific plugin.

You can find examples of plugins on the BrightSign GitHub page

  • 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.

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

Parser Plugins

NoteWhen adding a parser to a BrightAuthor:connected presentation in Presentation Settings > Support Content > Parser Plugin, ensure the Parser Plugin Name is 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 .json file 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. Therefore, any function that uses an event as a trigger 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.

You can find examples of parsers on the BrightSign GitHub page:

  • RSS Converter: Converts a standard RSS feed into the same format as a BSN Live Text feed, allowing you to display RSS feed items by index number in a Live Text state.
  • Live Text Title and Description: Allows you to display both the title and description of an RSS item in a Live Text State.
Have more questions? Submit a request

1 Comments

  • 0
    Avatar
    evan wong

    Hello, when I tried to use these functions in my plugin

    Parse(ReadAsciiFile(filepath as String)

    CreateObject("roUrlTransfer")

    they seemed not accepting the path format:

    http://username:password@example.com/

    Can you confirm that this url format is not acceptable, is there a formal alternative to handle login required url?

    Thank you~

Please sign in to leave a comment.
Can't find what you're looking for? Try to
Powered by Zendesk