The Viz Mosart Timing Panel is now integrated directly into Viz Pilot Edge, eliminating the need to embed the timing UI within individual templates.

image-20250611-134414.png

Historically, Viz Mosart timing information was stored directly within data elements, meaning each element had a fixed timing configuration. With the introduction of the Viz Mosart Timing Information mechanism, timing is now transmitted only via the generated MOS XML. This change delegates the lifetime and ownership of the timing data to the newsroom system, enabling one data element to be reused with varying in/out points in different rundowns.

This section contains the following topics:

Configuration

The Viz Pilot backend must be aware of available Viz Mosart destinations. These must be configured manually via Template Builder:

  1. Open Viz Mosart Configuration from the Template Builder tools menu.

    image-20250605-131001.png
  2. Add Viz Mosart destinations to match your Viz Mosart system.

Note: One default destination called [FULL] is represented internally as an empty string (""). This indicates the graphic is a primary full-screen event, not a secondary event, and therefore cannot have timing information in a Viz Mosart system.

  1. Enable the timing panel using:

    • Use Viz Mosart Timing Panel: Displays the panel at the bottom of regular Viz Pilot Edge templates.

    • Use "Is Locator": Includes a checkbox in the timing panel to set the "Locator" flag.

Info: In Viz Mosart, a Locator is a graphic linked to a video switcher crosspoint. Taking the crosspoint (as a switcher or keyed crosspoint) also takes the graphic.

image-20250611-055814.png

When the configuration is saved, the Viz Mosart Timing Panel becomes visible in all applicable Viz Pilot Edge templates.

Note: The [FULL] entry is mandatory. It results in an empty <channel> field in the MOS XML and disallows timing, as full-screen graphics are treated as primary events.

MOS XML

When Viz Mosart Timing Panel is enabled, timing data is not stored in the data element but included in a mosExternalMetadata block within the generated MOS XML:

<mosExternalMetadata>
<mosScope>PLAYLIST</mosScope>
<mosSchema><http://www.vizrt.com/mosObj/mosart</mosSchema>>
<mosPayload>
<channel>DSK1</channel>
<start>00:10</start>
<duration>00:05</duration>
<inMode>auto</inMode>
<outMode>auto</outMode>
<isLocator>false</isLocator>
</mosPayload>
</mosExternalMetadata>

Notes:

  • Timing information is not persisted in the data element itself.

  • The newsroom system retains control over timing.

  • Older mechanisms (for example, storing timing in the mosart field or description) remain supported.

Customization through Scripting

You can use scripting to tailor the behavior of the timing panel, per template. The following objects are accessible:

  • $pilot.mosartConfig (read-only): Structure containing the Viz Mosart configuration in the database settings.

    • .destinations[] (list of strings): List of configured Viz Mosart destinations.

    • .showTimingPanel (boolean | undefined): Whether to show the panel.

    • .showIsLocator (boolean | undefined): Whether the “is Locator” checkbox is shown or not in the Viz Mosart timing panel.

  • $pilot.mosartTimingPanel

    • .destinations [] (list of strings): Overrides available destinations per template.

    • .showIsLocator (boolean): Overrides the global "Is Locator" setting.

    • .showContinueCount (boolean): Show/hide "Continue Count" input.

    • .expanded (boolean): Expand/collapse the panel by default (default: true).

  • $pilot.mos

    • .mosart

      • .channel (string): Destination channel.

      • .start (string): Start time.

      • duration (string): Duration.

      • inMode (InMode): Can be set to "auto" or "manual".

      • outMode (OutMode): Graphics outMode can be set to "auto", "story-end", "background-end" or "open-end".

      • isLocator (boolean): Indicates whether this graphics should be treated as a locator.

    • .continueCount (number | undefined): Optional override for the current data element.

Examples

Limit Destinations per Template

Only allows a specific set of destinations for a given template:

// When a new data element is created, we set the default destinations of the Mosart
// timing panel and the default value to be selected. We need to check whether these
// objects are defined. They may be undefined if configured to not be used, or no
// Mosart configuration is added to the Pilot system.
vizrt.onCreate = () => {
if (vizrt.$pilot.mosartTimingPanel && vizrt.$pilot.mos.mosart) {
vizrt.$pilot.mosartTimingPanel.destinations = ["LOWER", "DSK"];
vizrt.$pilot.mos.mosart.channel = "LOWER";
}
}

Filter Destinations

Excludes destinations that begin with "WALL":

if (vizrt.$pilot.mosartTimingPanel && vizrt.$pilot.mos.mosart && vizrt.$pilot.mosartConfig) {
vizrt.$pilot.mosartTimingPanel.destinations = vizrt.$pilot.mosartConfig.destinations.filter(
(destination: string) => !destination.startsWith("WALL"));
}
}

Enabling only Full Screen

Only use the [FULL] destination (represented by an empty string):

// Empty channel is treated as the full screen destination in Viz Mosart.
vizrt.onCreate = () => {
if (vizrt.$pilot.mosartTimingPanel && vizrt.$pilot.mos.mosart) {
vizrt.$pilot.mosartTimingPanel.destinations = [""];
vizrt.$pilot.mos.mosart.channel = "";
}
}

Conditionally Show "Is Locator"

Enable the "Is Locator" checkbox, only in specific templates:

vizrt.onCreate = () => {
if (vizrt.$pilot.mosartTimingPanel) {
vizrt.$pilot.mosartTimingPanel.showIsLocator = true;
}
};

Set Default Timing Values

Prepopulate the timing fields:

vizrt.onCreate = () => {
// Setting initial timing values
if (vizrt.$pilot.mos.mosart) {
vizrt.$pilot.mos.mosart.start = "00:12";
vizrt.$pilot.mos.mosart.inMode = "auto";
vizrt.$pilot.mos.mosart.outMode = "story-end";
vizrt.$pilot.mos.mosart.channel = "DSK";
}
 
// Overriding the continue count of the scene
if (vizrt.$pilot.mosartTimingPanel) {
vizrt.$pilot.mosartTimingPanel.showContinueCount = true;
vizrt.$pilot.mos.continueCount = 3;
}
};