Random Notes for the Graphics Department

Implicit vs. Explicit Tags

Warning: It's best to get used to tags being called fields and fields being called tags. This is some inconsistency we have in our docs and UI based on graphics and database loyalties.

Brando Player keeps track of the programming schedule for one or more channels. When using a tag like ^now.hashtag in a scene, it gets replaced with information from the program schedule. That's why we call this an implicit tag. It is implied by the program schedule.

Explicit tags on the other hand are explicitly defined when scheduling or defining a resource. When a scene is scheduled, Flow shows all the available explicit tags (dynamic fields) available for the scene. These tags can be optionally set. The tags can be text or logos.

A scene (resource) can have a mix of implicit and explicit tags. When Gears updates a channel, the scene has a flag in the database that indicates if it has implicit tags. This is how flow knows whether to make Tag Time enabled.


The ":" character is forbidden in Brando scene names

Brando uses the colon character to distinguish the name of scenes in shared projects from scenes in the channel project. In Flow, when you see a resource with a name like nextboards:next4way, the name tell us the resource (scene) came from shared project nextboards. For this reason, do not include a colon in any of your resource names (scenes).

Shared Projects vs. Channel Project

Scenes (aka resources) can either be unique to a channel or shared among channels. When shared, they're best put into their own XPression xpf and shared among multiple channels. Shared projects are stored by default at d:\brando\shared\. When running Gears, shared projects are made available to a channel by selecting the shared projects from a list. Each channel requires a channel project however even if it's got no brando scenes in it. Brando uses it to create dynamic scenes/materials for Sponsored Snipes.

Named Snipes

Named snipes is a way of defining snipes for one, some or all channels. The scenes in the project are used as templates for defining the actual named snipe. These can be for sponsor ads, programming promos or anything really. The name in named snipes is really just the house id or naming convention used by a broadcaster. They are often triggered as secondary events from automation using the house id string as part of the command. However, named snipes can be used manually from Switcher which is especially useful for live programming.

When a Named Snipe scene is defined in Flow, the user defines the channels it is available for. This might be used to define a sponsor for a group of channels only.

Other useful information is start, expiry and tag time. Start is when the named snipe is available for playout, Expiry is when a named snipe no longer can be used and tag time is the standard time shift and is only available if implicit tags are available in a scene.

How to Make New Graphics Available for a Channel

Workflow with Project Server

  • make sure you're using the most recent revision of graphics from project server.
  • make changes
  • publish changes to Project Server
  • run gears to make resources available for scheduling and to notify Player that new graphics are available for deployment. Make sure all shared projects are included or they won't be available for scheduling in Flow.

Workflow without Project Server

  • make changes
  • run gears to make resources available for scheduling. Make sure all shared projects are included or they won't be available for scheduling in Flow

Note: When updating graphics for a channel using gears, it marks the channel as having new graphics available. This is done by setting a flag in the database for the channel to indicate that new graphics are available. The player has a timer that checks this flag and when it's set, it'll display both in Player and Switcher with the message "New version of graphics is available". 

So, how to update the graphics when you see this in the player:

There are 3 choices:

Auto Update on a Timer

This option is only available when Project Server is enabled. When launching the Player, you'll see a preference which looks like:

If this is set, when the time is reached daily, the graphics will be updated automatically if new graphics are available..

Project Server

  1. take the player offline by clicking on the On Air logo or by using the menu item Actions→On Air or using keyboard shortcut F5
  2. Deploy new graphics by using menu item File→Deploy New Graphics
  3. Bring the player back On Air using the reverse of #1

Without Project Server

You have a choice here. You can either relaunch the player or

  1. take the player offline by clicking on the On Air logo or by using the menu item Actions→On Air or using keyboard shortcut F5
  2. Deploy new graphics by using menu item File→Deploy New Graphics
  3. Bring the player back On Air using the reverse of #1

Creating Scenes

See Resource Scene Naming Convention to get the details.

Scene Tag Names

See Implicit Tags to get the details.

Using Dynamic Fields and Logos

There are 2 types of dynamic fields and logos available currently for programs and scheduled resources - text and logo.

For scheduled resources, any tag name that is prefixed with a ^ is a dynamic tag. If it's a textbox, it's a dynamic field and if it's a quad, it's a logo. When a resource is scheduled in flow, a list of dynamic tags is made available for assignment.

When it's a dynamic logo, only the logos in subdirectories of the dynamic logo are available for assignment.

What Range of the Scene Gets Played?

The scene plays from the start position of where the play head was left in the scene editor and plays until the end of the last clip on any track in the scene directory. All tracks get played this way. When the scene is done playing, Brando Player does a fade off for all scenes except Bugs or Switcher whether it needs to or not. It's best to have the scene clear itself but if not, the scene fades off as a 10 frame fade-off.

Brando Player plays back it's scenes using the XPression api call xpSscene.SceneDirector.Play(). 

XPression Layers and Other Constants

These are the default constants Brando Player uses. 

What this means is the z order of scenes from top to bottom is:

  1. Next
  2. Bumper
  3. Snipe
  4. Rating
  5. Bug

These defaults can be modified as desired. There's also an option to use the layers and frame buffer ids defined in the scenes which overrides the above settings.

How to Add a Delimiter for Switcher Crawls?

The attached scene to a swicher crawl supports a single caption called Caption1. If that scene only has that textbox, all crawls will be  butt up against each other. To remedy that, put a quad or textbox before Caption1 and you get an instant delimiter. Going forward, what we may do is support a delimiter scene with prefix "Delimiter" which always gets rendered after Caption1. That way the delimiter isn't forced at the beginning of the crawl.

Co-Branding Channels

Brando supports programming information for the selected channel by default but all or some other channel scheduling can also be used for resource output. The co-branding channels are selected in prefs on launch of Player:

All channels selected in the list will have it's program channel available by the player. This means any of the implicit tags (^now and ^next tags) can use scheduling information from these additional channels.

A tag like ^now.name will give you the name of the current channel's program. To use programming from another channel, use the suffix "[channel name]". So, to have channel WABC's current program displayed in a scene, use the tag ^now.name[WABC].

Logos

The logos available for dynamic logos, both implicit and explicit, are stored in a single directory. This directory is shared by all channels and the file paths for all the logos are stored in the database for each of the tags. The default location of the logos directory is d:\logos but it can be moved elsewhere. The logos are organized in sub directories 

where each of the first level directories correspond to the tag name. For example, the media in the Sponsors directory correspond to the tag ^Sponsors in a scene. The media stored in each of these tags can be further organized in sub directories. This is useful for something the Team Logos tag which could all all the team logos to be store into multiple sub directories; one for each league. 

Although each graphics team has their own preferred way of doing things, logos generally change more often than scenes. Because of this, there's great advantage to automating the updating of logos.

We recommend not using Project Server for logos. The following approach is the preferred way:

A good approach is to keep logos on a file share which can be shared among all XPression player systems and the graphics creation systems. Run the Logos Updater on the system that has the file share. This will keep the available logos up-to-date in the database. The Logos Updater listens for changes in the logos directory and updates the database to those changes. This keeps the available media up-to-date for dynamic logos.

On each of the XPression player systems, it's best to have a copy of the logos directory local for performance reasons. This is especially important when running clips. So, just synchronize the player systems' local copy with the file shared copy. To synchronize, run any off-the-shelf directory synchronizing applications. There are many to choose from and they all work fine.