DOCS-508: On Demand State

The On Demand state allows you to combine media files into a single state in the playlist area. You can then use the event that transitions to the On Demand state to conditionally determine which file in the playlist should be played.

When the On Demand state is double-clicked, the On Demand canvas will appear. The On Demand canvas gives you the option to add content from Assets to the On Demand state. To exit this canvas, click the Zone description located in the top left corner of the canvas. This will take you back to the Zone Content canvas. 

The On Demand state can only be transitioned to using input from BP900/BP200, UDP, Serial, Keyboard, or USB devices. The input data from the controller will determine which media item in the On Demand state will be played: For example, you can use a Keyboard Input event to playback “Video 1” if the “A” key is pressed, “Video 2” if the “B” key is pressed, "Video 3" if the "C" key is pressed, etc. Any type of event can transition out of a Play File state and into a new state.

For BP200/BP900 events, you must specify each Key using both the panel enumeration and button number: For example, if you have a single BP200/BP900 panel connected to the player and want button 3 to trigger an image, you would specify the Key as "0-3"; on the other hand, if you have a second BP200/BP900 panel connected to the player and want button 3 on the second panel to trigger the image, you would specify the Key as "1-3".

  • Populate From Feed: Populate the On Demand state using a feed.

    • URL: Specify the URL of an RSS feed (this feature does not support MRSS feeds). In the example below, <title> is the On Demand key value and <description> is the media download URL.Upon playing the presentation, the player will retrieve media from the download URLs specified in the <description> field of each item in the feed. The On Demand state will use the value in the <title> field as the key to determine which media item to play. You must specify the item type. Either the 'type' or 'medium' attributes can be used - see http://www.rssboard.org/media-rss. Valid values are 'image', 'video', and 'audio'.

      <?xml version="1.0" encoding="utf-8" ?> <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> <channel> <title>media_RSS_feed</title> <description>OnDemandWidget</description> <item> <title>image1</title> <description>https://www.brightsignnetwork.com/download/JohnDoe/mrss/formedialist/1.jpg</description> <medium>image</medium> </item> <item> <title>video1</title> <description>https://www.brightsignnetwork.com/download/alexk/mrss/formedialist/1.mov</description> <medium>video</medium> </item> </channel> </rss>
    • Dynamic Playlist: Populate the On Demand state using a Dynamic Playlist from your BSN Content Cloud library. The On Demand state will use the filename as the key to determine which media item to play.

    • Live Media Feed: Populate the On Demand state using a Live Media Feed from your BSN Content Cloud library. The On Demand state will use the Title of the feed item to determine which media item to play.

    • Update Interval: Specify how often the player should refresh the contents of the feed.

    • Parser Plugin: Select a feed parser to parse the feed data before it is passed to the On Demand state.

    • Optimize Feed Updates (use HEAD calls): Check this box to have the player make an HTTP HEAD request before retrieving the contents of a feed. See here for more details.

    • Automatically generate User Variables from Data Feed:  Use the feed to populate a set of User Variables for HTML pages. See here for more details.

  • Display default media if input does not match any keys: Check this box to display the specified media file when the input data does not match any existing keys in the On Demand state. If this box is not checked, and the input data does not match an existing key, the presentation will not transition to the On Demand state, remaining on its current state instead.

  • Use variable to specify key: Check this box to have a User Variable specify the media-file key. The input data from the controller will be ignored, though input of some kind must be received to trigger the interactive event. For example, if a Keyboard event is attached to the On Demand state and this option is enabled, any key press will initialize a transition to the Play File state; the value of the specified User Variable will then be checked against the keys in the On Demand state to determine which file, if any, should be played.

If you attach a command that modifies the User Variable value (e.g. Set Variable, Increment Variable) to an event that transitions to the On Demand state, the media-file keys will still be compared against the old variable value. However, if the Display default media option is enabled, the new User Variable value will be used instead.