Skip to main content
Skip table of contents

TurboPlayer Service SDK

TurboPlayer Service and the TurboPlayer Service SDK are in preview status

We strongly recommend 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.

Component

Version

TurboPlayerServiceSDK

6.3.226.0 (Test version)

Non-backwards compatible changes…

  • Parameter & metadata name itemId is renamed to nodeId in all requests and in the DataModel

  • SetKernelMode request is renamed to SetTurboPlayerMode

  • ExecuteGuiMacro is removed

  • ExecuteKernelMacro is renamed to ExecuteCommand and have improvement functionality included ExecuteGuiMacro

  • GetShow request is no more supported. Use GetLoadedRundown request instead

  • Metadata name Prelisten doesn't exist anymore

  • Following TurboPlayer Metadata are removed

    • ActiveShowId

    • ActiveShowName

    • ActiveShowTimeStart

  • Following TurboPlayer Metadata are provided but with the different logic in comparison with above described removed metadata

    • RunningShowId

    • RunningShowName

    • RunningShowTimeStart

  • Following TurboPlayer Metadata are renamed

    • FollowedElement is renamed to FollowingElement

  • Following DataModel keywords are renamed

    • MaxFollowedElementAfterFirst is renamed to MaxFollowingElementAfterFirst

    • FollowedElementsConditions is renamed to FollowingElementsConditions

New Features

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

  • More clear error message about configured to execution TurboPlayer macro commands

  • BCS XML -> JSON conversion based on .NET for multiplatform compatibility

  • .NET based XML <-> JSON conversion to remove windows platform dependency

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

  • Support global option SendAlways

  • Support feature to get the elements after the target element

  • Warning about disabled notifications after the DataModel update

  • Separate conditions for followed elements

  • Support ActiveShowTimeStart metadata

  • Support LoadedRundown metadata

  • Human-readable additional information if field format isn't specified in the DataModel

  • Support regular expressions in the DataMdoel conditions

  • New active show logic

  • Limited total maximum number of fields pro DataModel and maximum index value for the fields with index in name

  • Support new condition "Changed"

New Commands

  • SetKernelMode request is renamed to SetTurboPlayerMode

  • Reworked ExecuteGuiMacro & ExecuteKernelMacro requests

  • Support Heartbeat request

  • Support GetServiceState request

  • Support GetLoadedRundown request

Fixes

  • Return empty NodeId metadata by specified flag "SendAlways = true", if the NodeId metadata doesn't exist

  • Remove dynamically created unused global DataModels

  • Return empty NodeId metadata by invalid field value in the DataModels with returning all fields

  • Send changed fields to the client, if no fields are specified in the DataModel

  • Correct ActiveShowId & ActiveShowName metadata values after executing TP_SetProgram macro

  • Correct ActiveShowId & ActiveShowName metadata values after loading new program

  • Return error message if followed requests are used with the Prelisten rundown list type

    • NodeDelete

    • NodeInsert

    • NodeMove

    • NodeCopy

    • NodeCopyAsNext

    • NodeUpdateTree

    • NodeInsertAsNextAndPrepare

  • Return error message if AdjustTimes request is used with Jingles or Prelisten rundown list type

  • Return error message if NodeDelink request is used with Prelisten rundown list type

  • Return error message if SelectNode request is used with Prelisten rundown list type

  • Return error message if ElementSelectPrelisten / ElementSelectNextPlay / ElementChangePrelistenState requests are used with Prelisten rundown list type

  • Return all values in the DataModel with the type "full" in the second and followed DataModel requests

  • ElementAddPrelisten request returned DigaXML parser error

  • SetRundownListMode request returned error for the AutoPrepare, AutoDelete, ClearOnReset, AllowRearrangement modes

  • Return error message if SetRundownListMode request is used with Prelisten rundown list type

  • Client receive notifications from deleted DataModel

  • Client don't receive subscribed events

  • Check user rights before executing ExecuteMacro request

  • NodeId is always present in the broadcast tree events

  • Client receive delete events from changes in the broadcast list

  • BCS metadata is present in the broadcast tree events

  • Provide properly BCS metadata for non-element BCS nodes in the broadcast tree events

  • Properly handle non-alphabetical characters in the DataModel "type" field

  • TP_AddTimedRecording macro can't be executed via ExecuteKernelMacro request

  • TP_SetLineParameter macro can't be executed via ExecuteKernelMacro request

  • Wrong mandatory parameter name "Element" instead of "NodeId" in ElementChangePrelistenState request

  • Client receive changes in the broadcast list initiated in the in TurboPlayer GUI

  • Client receive messages not matched to conditions

  • Service send unnecessary events about changes in the broadcast list to the client

  • Error message "Recursive write lock acquisitions not allowed in this mode" for some DataModels

  • Update all subscribed DataModels after reestablished connection to the TurboPlayer

  • Wrong transaction id by login request with invalid authentication data

  • Wrong unlocked internal resources

  • ServiceSettingsReloaded metadata isn't returned by "full" request

  • Properly handle the metadata not related to the usual BCS nodes

  • Provide all possible elements as followed elements

  • Field "PlayState" is properly handled with the combination with field "Channel"

  • Send prelisten notifications to client

  • Properly handle DataModels with the field names with & without index in name in the same model

  • Service send the notificaions with the index keyword in the fieldname instead of real fieldname

  • Properly handle massive changes in the broadcast list from TurboPlayer

  • Return error if the client tries to update non existed DataModel

  • Return error if requested show id is invalid in GetLoadedRundown request

  • Don't mix the events from the different list types & channels related to the same element

  • Wrong track node id returned from GetLoadedRundown request

  • Return properly global service status by simultaneous multi-output playback

  • No more wrong error message if no any optional metadata is specified for NodeCopyAsNext and NodeCopy requests

  • Followed commands are returns the errors with the properly transactionId

    • GetLoadedRundown

    • ReloadSettings

  • Request any licensed command by service without license (“Service has no license” error, Error code 300) returns the errors with the properly transactionId

  • Followed elements aren't present in notifications

  • Wrong handled TurboPlayer events with empty BCS node id

  • Empty BCS node id in following elements

  • Following metadata aren't supported for "Changed" condition

    • CustomGuiMessage

    • CustomGuiMessageNumber

    • EventName

    • EventParameter

    • TreeNotificationType

    • ParentNodeId

    • PreviousNodeId

    • BCSTransactionId

  • Properly handle changes in BCS elements still not pepared in the TurboPlayer

  • Wrong LoopMode value

  • Properly handle asynchronous changes from the TurboPlayer in the same time as the service send the notification to the client

  • Properly handle TurboPlayer events for the metadata changes in played element

  • Properly handle number of following element if it configured less than default

  • Properly handle BCS following elements from the next show related to the start element from previous show

  • Properly handle following elements from the TurboPlayer stacks

  • Properly handle UpdateTreePartially notification for actions initiated in TurboPlayer GUI

  • Properly handle notifications about changes in TurboPlayer stacks

  • Properly handle send state changes from TurboPlayer

  • Properly handle broadcast tree notifications from TurboPlayer

  • Properly handle broadcast tree notifications from TurboPlayer

  • Properly handle 0 / 1 integer values as a boolean

  • Properly handle integer values as a time

  • Properly handle time information update for elements in groups

  • Properly handle start / stop events from the TurboPlayer

  • Properly convert BCS metadata to Date format

  • Properly convert BCS metadata to DateTimeStamp format

  • Properly handle real times, generated from TurboPlayer

  • Metadadata node always contains all metadata levels

  • Using fieldname in notifications from the keyword "Name" in the DataModel

  • Wrong elements sequence in notification after the UpdateTreePartially event from the TurboPlayer

  • Missed or local only node id instead of full BCS node id in UpdateTree notifications from the TurboPlayer

Known issues

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.