Skip to main content
Skip table of contents

TurboPlayer Service SDK

TurboPlayer Service and the TurboPlayer Service SDK are in preview status

We strongly recommand to first use this version in a test environment before going productive with it. A stress test in a productive-like situation is needed in order to ensure the stability of this version.

Contact our support team to get this version.



TurboPlayerServiceSDK (Test version)

Non-backwards compatible changes:

  • All time information metadata except NextFixed are having now "Time" format (early was "Duration")

  • Previous versions automatically converted null value from conditions to the empty string. From now, if the client doesn't want to receive the metadata with the null and empty values, two values to compare must be defined in the DataModel: null and "" (empty string)

  • SelectShow request is renamed to LoadFreeShowList

  • SelectNode request is renamed to LoadNodeIntoStack

  • SelectJingleGroup request is renamed to LoadJingleGroup

New Features

  • New API based on the DataModel and markup language
    Warning! New API is completely incompatible with the old API 1.x

  • Provide TurboPlayer metadata for the elements still not loaded int the TurboPlayer

  • Include RTF files content into output from GetLoadedRundown command

  • Human-friendly error message if configured GUI number is out of range of accessible TurboPlayer GUI numbers

  • Support usePrevAsNext parameter for NodeInsert, NodeCopy & NodeMove requests

Subscribe for notifications about playout state changes and updates in the broadcast list

  • Users can subscribe for notifications regarding changes for any BCS and TurboPlayer metadata (e.g., change in rundown list, change of current play position)

  • Client-defined DataModel subscription mechanic allows clients to determine how notification data is organized and communicated between TurboPlayer Service and the client

  • Notification traffic can be optimized by including conditions in client-defined DataModels (e.g., only send play position updates for a specific channel number or playing state)

New features in DataModel

  • Include RTF files content into notifications

  • Simplify UpdateTree notification from the TurboPlayer as a 4 small another type notifications to make it easy to handle & reduce the traffic for the service clients

  • Support time information in time format

  • Support LastPlayItem metadata

  • Null can be used as a value to compare in conditions in DataModel

New Commands

  • Support GetWaveformFile request

  • Support LoadShow request for loading show if FreeShowList mode is disabled


  • No more error "AllowRearrangementMode must be enabled for specified rundown list" for the NodeInsert request

  • No error message via subscribed DataModel if the same error is repeated multiple times

  • Properly handle empty RTF files

  • Remove RTFContent metadata from the GetLoadedRundown output if this metadata isn't specififed in the fields list

  • GetLoadedRundown request returned properly track node id by using track node id or any other node id under show node

  • GetLoadedRundown returned RTFContent metadata matched to the updated service settings after ReloadSettings request

  • NextPlayItem metadata isn't missed if TP play nothing

  • Send the correct events when the sequence of elements within a group in the TurboPlayer changes

  • Send the correct events while moving elements in the TurboPlayer by service host with fast CPU and slow network connection

  • Send the time information metadata if it subscribed via the DataModel

  • Send the time information metadata subscribed via the DataModel by loading / unloading shows

  • Always provide full node id instead of local node id in Delete BCS tree event

  • Properly simplify UpdateTree notification from the TurboPlayer for moved elements in groups in the past

  • Always send full node id for root node in BCS events

  • Always send properly Insert & UpdateData notifications for the elements in currently played show

  • RunningShowName & RunningShowTimeStart are received without RunningShowId

  • Empty NodeId in the single DataModel type

  • TimeInfo is received for show and all TurboPlayer stack rundown list types

Known issues

  • LoadNodeIntoStack request can load sometimes parts of show, jingle group, preproduction or pool into stack (e.g. track from show) if subnode under show, jingle group, preproduction or pool is specified for loading. To avoid it always specify exactly nodeId related to show, jingle group, preproduction or pool otherwise behavior is undefined (node could be loaded or not without any error messages)

  • If existed but not acceptable (e.g. due to user rights or broadcast list hierarchy) nodeId is specified for following requests, request will be not completed, but no error messages will be returned due TurboPlayer bug.

    • NodeInsert

    • NodeCopy

    • NodeMove

    • LoadShow

    • LoadFreeShowList

    • LoadNodeIntoStack

    • LoadJingleGroup

  • The following keywords are currently not supported in markup language. We plan to have these supported in future releases.

    • Immortal

    • LocalIndex

    • RemoteIndex

    • Component

    • Rights

    • LocalIndexStartValue

    • Color

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.