5.10.2391.8 (Patch)


  • BCS 6.0.417.0 (recommended)
  • DigaSQL.dll 3.19.3492.0 (recommended)
  • Audio32.dll (minimum), (recommended)
  • MultiRec_4.ocx 4.8.327.0 (recommended)
  • OTMControl.ocx 2.7.758.0 (recommended)
  • DigaRTF.ocx
  • DigaStory.ocx (of Release 2021.2)
  • DigaContentTabHost (of Release 2021.2)
  • MultiPlayer 5 is still the version need for running TurboPlyer 5 and 6 (no changes)


  • TurboPlayer 6.0 is compatible with older versions of BCS (5.x) as long as the old SeplProtocol communication is used. For using WebSockets as means of communication BCS 6.0 is needed.
  • Displaying real time play information from other TurboPlayers in remote player windows requires a BCS 6.0, TurboPlayer 6.0 on both sides and a WebSocket communication between these clients and BCS.

New key features

  • TurboPlayer can use the new WebSockets communication with BCS.
  • TurboPlayerEngine and TurboPlayerIOMan can run as a Windows service now:

  • A remote player window can display now the real play time info from another TurboPlayer (not a fake info as till now):

  • The engine can directly connect to a BCS without any GUI connected. Changing the BCS connection and the current service is possible via macro commands.
  • Multiple improvements and bug fixings regarding the displayed times and waveform in player windows, including and especially for files in recording. Now TurboPlayer can make use of existing waveform files.

Breaking changes

  • SGU-5257: When starting up TurboPlayerGUI sets the own rundown cursor to an element (typically the <next> or the first one in the rundown). The implemented logic for a GUI with engine and a pure GUI was different (for an unknown reason). This was changed. Now both variants use the same logic.
  • SGU-5269: The parameter introduced in version 5.10.2388.0 to prevent the saving of GUI settings was moved within the registry hierarchy. It is now: "TurboPlayer\GUI\SaveGUISettings".
  • SGU-5331: In some places in the GUI, where still the old “CrossfadeMixer” appeared, the name was replaced by “OnAIR TrackMixer” where applicable. In addition, it is now possible to use the string “OTM” in the TP_Prelisten2 macro instead of “CFM” (though these two identifiers have exactly the same meaning within the macro command).
  • CCD-42601: When importing BCS-XML data via import button, the fields PD_REMOTE_... are removed now.
  • SGU-5456: TurboPlayer does now use the function, which creates binary waveforms in the Audio32.dll instead of XML. This speeds up waveform creation, because no conversion to a string and back to a binary representation is necessary.
  • SGU-5456: More work for handling waveform data was moved to the background thread, which reads or creates waveforms. This helps to take load from the GUI thread. (It was a problem with very long waveforms that handling them in the GUI thread could make the GUI reacting slow or even freezing).
  • Display of waveforms in the player window was changed: when reducing the number of waveform points to the number of available pixels, the maximum value of all points, being reduced to a single pixel, are taken now, instead of the first point only.
  • The player window does now display an animation (a moving rectangle) in the progress bar if a file in recording is played. Hint: This does not affect the display of a waveform. In the latter case the waveform is generated every 10 seconds and the GUI is updated accordingly.
  • When a playing element is stopped, TurboPlayer does no longer update only the real stop time, real duration and some other fields of the corresponding element in the protocol track. Instead, the metadata of the played element from the schedule track is being used to update all metadata of the element in the protocol track. This allows to make metadata changes to the element while it is playing, which are then transferred automatically to the protocol.
  • CCD-43049: Since version 5.10.2389.0 TurboPlayer did sometimes display a message box, which asked the user to first save the changes done in OnAIR TrackMixer (e.g. when using the prev/next transition buttons). Now this message has been replaced by the expected question, whether the user wants to save the changes. This solution is only available together with OnAIR TrackMixer versions 2.7.756.0 / 2.6.731.7 or newer.

New features

  • SGU-3184: Implementation of a WebSocket-based communication with BCS.
  • CCD-43122: TurboPlayer can use now three different methods for login at BCS: HMAC, AD and RC5. The selected method can be configured with the parameter "LoginMethod" for the BCS. If the default "AUTO" is configured, TurboPlayer uses the correct method automatically.
  • CCD-41606: Implemented the possibility to define your own functions within macros. Implemented the new macro command TP_ForNodesDo. For more information, please see TurboPlayerTechManual chapter 4.5.
  • SGU-5270: Two new macro procedures: TP_ConnectToBCS and TP_SetProgram and one new function: DataOfEngine are supported. See TurboPlayerTechManual for more information.
  • The macro function "DataOfRundown" can now return the full node ID of the last playing element.
  • SGU-5276: The interface for IO modules got 2 new callback functions, which allow a recording coder to report back the status and the progress of recordings. This information can be visualized with a new time info window of type "Coder recording". This includes an optional little level meter to see, whether a signal is being recorded. The information can also be queried with the new macro function "DataOfRecording".
  • Extended possibilities for configuration:
    • SGU-5083: Available configurations can be defined with subkeys below "TurboPlayer\Configurations" instead of only in values. This allows to specify more parameters.
    • CCD-42009: Saving of parameter changes to the registry can be disabled with a new setting.
    • CCD-42009: New command line arguments allow to specify parameters for the connection of a GUI with the engine.
  • A new parameter in registry key "TurboPlayer" has been implemented: "InitByEngine". It allows to specify, which of (so far) three initialization steps are already done by the engine and not by the first GUI, which connects to the engine. These are: Connect, SetProgram, LoadCurrentShow. You can specify a comma-separated list of these three keywords.
  • SGU-5269: There is a new parameter: "TurboPlayer\Configurations\DialogTimeout". It can be used to configure the time how long the dialog for selecting a configuration is displayed at startup.
  • SGU-3385: TurboPlayerEngine.exe and TurboPlayerIOMan.exe can run as a Windows service now. Hint: so far this feature is not yet really usable, as long as MultiPlayer is not able to run as Windows service, too.
  • New command line parameters are available: -install, -uninstall, -account:..., -password:..., -service. For more information please see TurboPlayerTechManual.
  • SGU-1734: TurboPlayer can now generate play info reports for playing elements. This information is collected by BCS and provided to all interested clients by notifications. Generating this information must be activated by the parameter "TurboPlayer\SendPlayInfoForChannels". Using this feature requires a WebSocket connection to a BCSv6. For more information, please see TurboPlayerTechManual chapter 6.5 "Play info".
  • SGU-1734: TurboPlayer can now request the play info notifications from other TurboPlayers. This is automatically done, if player windows with the channel numbers 10000, 10001, … are configured. In contrast to the old remote channel (9999), multiple remote players are possible and the times displayed are not a computed, but are times, which are being received regularly in play info notifications via BCS. Using this feature requires a WebSocket connection to a BCSv6. For more information, please see TurboPlayerTechManual chapter 6.5 "Play info".
  • CCD-42503: Stingers can now work across multiple TurboPlayers. A precondition is that play (state) messages are sent to other TurboPlayers either via direct connection or via BCS generic messages. Therefore, please check the parameters "SendMessagesForRundown" and "SendBroadcastMessages" in key "TurboPlayer\Communication\RemoteTurboPlayers". On the receiver side you need to activate remote stingers in the new parameter "TriggeredFrom" in key "TurboPlayer\Stinger\...".
  • CCD-42754: When an element is restarted after a pause, TurboPlayer does now update the assumed real stop time and duration. In addition, it is possible now to trigger the function TP_UpdateStarttimes (or the corresponding button) when there are only pausing elements. In this case TurboPlayer will adjust the real stop time/duration of the paused elements.
  • SGU-5456: So far TurboPlayer did always create waveforms from the audio files themselves. Now an existing waveform file referenced in the metadata is evaluated first. Only if such a file does not exist, TurboPlayer will fall back to the waveform creation from audio files. This speeds up waveform generation a lot.
  • For growing files TurboPlayer tries now to only read the new part of an audio file – the part since the last waveform creation. This speeds up waveform generation, but it works only for file formats, which allow directly jumping to the correct position (e.g. linear). It does not work for something like MP3/VBR.
  • OIA-856: The macro command TP_Prelisten2 has been extended. Now it is possible to specify either the full node ID or the GUID of a rundown element when using the start/load option. For more information please see in TurboPlayerTechManual the decription of the TP_Prelisten2 command.
  • When using the TP_Prelisten2 macro command to start prelistening with parameter "EP", TurboPlayer does now try to position the appearing MultiRec window near to the played element.
  • OIA-1500: If the new option "Send computed times of all time info windows to the engine" in the general settings dialog / tab "Miscellaneous" is set, the GUI will send the computed values for all time info windows to the engine. The engine collects this information and sends it out on a regular/bundled base to all GUIs, which have subscribed for time info notifications. This is intended to provide time info via TPService to WebTP GUIs for displaying it.
  • CCD-43251: The settings from registry key TurboPlayer\MediaDirectoriesToPrefer can now be taken into account by the engine, too. (So far, this key was only evaluated by the GUI.) This needs to be activated with the new parameter ApplyInEngine. In addition, it is possible now to specify an optional local path to replace a given UNC path. For more information, please check the parameter description in DigParam.rtf or at the end of TurboPlayerTechManual.pdf.
  • A new “CPU watchdog” was introduced. It is intended for debugging and measures, whether its thread can obtain CPU processing time. It needs to be activated with the registry value “TurboPlayer\CPUWatchdogWarnTime. This is the time in milliseconds, after which the watchdog writes a warning to the log when it did not get a CPU computing slot for the specified time.

Fixed Issues

  • CCD-42413: When prelisten via MultiPlayer was started in the GUI while another element was just being prelistened and when the mixer console did react very slowly on the SetPFL commands, the PFL state for the prelisten line was wrongly switched off when starting the second element.
  • CCD-43186: If a start and then a stop of prelistening via MultiPlayer was triggered too fast, it could happen that the error message "Function "CRundownKernel::OnPlayStateFromGUI(Stop/Pause)" called with invalid channel…" was displayed and afterwards the prelisten state could hang.
  • CCD-42513: The management of the three window types "Text", "Infotext" and "DigaMessage" (which are all the possible DigaRTF windows) had 2 problems: (1) It was not possible to configure only an Infotext window but no Text window. (2) When deactivating a certain type in the little toolbar window for switching these windows, the deactivated text window was removed from the surface but the settings were not deleted from the registry.
  • CCD-42616: The macro processor did not handle procedure calls by writing the pure name of the procedure without following parenthesis correctly. This was a new bug since version 5.10.2387.0.
  • CCD-42574: A wrong insert notification (with error message in DigaStory) was sent to DigaStory if the fill mode was "follow the cursor/next" and a single element was inserted into a rundown, which did so far not contain a single element or story.
  • SGU-4403: It was not possible to select group and story lines in the rundown view with the macro command TP_Selection by specifying the node ID. Aside of this problem, it was not possible to select lines past of the current show. And TurboPlayer did not open parent groups/stories if the selected line was an element in a sub-story or a story within a group.
  • CCD-42132: Fixed a potential crash in the routine in the GUI, which draws the waveform in the player window.
  • CCD-42486: When the user changed the start mode of an element in a backward-floating sequence, TurboPlayer automatically assigned a start type "FixedStart". This was in contradiction to the existing on-air start type "BackwardFloating" and could later disturb the time computation of BCS.
  • Changing the BCS to which TurboPlayer is connected with the general settings dialog while keeping TurboPlayer running did not work correctly. TurboPlayer connected to the new BCS but did not load content from the new BCS.
  • SGU-5345: Log messages from I/O modules containing percent signs were written incompletely.
  • SGU-3398: When a GUI requested full info, no message for the state of elements, which are prepared to a channel was sent out.
  • SGU-5326: When TIOROAD stopped all running recordings during a reset, it was no longer possible to start new recordings afterwards.
  • CCD-42634: TurboPlayerGUI did not take the restrictions from parameters in MediaDirectoriesToIgnore and MediaDirectoriesToUse into account. This affected all types of GUI prelistening and waveform computation. 
  • CCD-42678: TurboPlayerGUI did always remove an underscore as last character in the log filename for CFM/OTM before setting this parameter in CFM/OTM. Now the underscore is kept. But have in mind that OTM will still append the current date with this format: "-YYYYMMDD".
  • CCD-42738: It seems that Windows creates GUIDs sometimes with upper case letters and sometimes with lower case letters (sometimes even mixed ones). This did create problems when comparing these GUIDs – e.g. for the reference of relative starts. Therefore, the comparison of GUIDs was changed to be case-insensitive.
  • CCD-42572: It was not possible to drop new elements as first element into a group or story if the existing first element of the group/story had an info text, which was displayed (according to the settings) above the element line.
  • CCD-42722: It was not possible to replace elements in the jingles window with a drag&drop operation while holding the "Alt" key pressed.
  • Files in recording with a set mark-in were always preloaded at the start of the take instead of at mark-in.
  • SGU-5456: The creation of a waveform for files in recording did not work.
  • CCD-42268, 42039: The option "Start play when middle mouseclick or dropped onto OTM" for OnAIR TrackMixer did not work in multitrack mode.
  • CCD-42781: Adding new fields in the tab "View" of the settings of a player window did not work. It was possible to add a field to the list, but afterwards the field could not be placed somewhere in the grid. This was a bug since the implementation of the waveform view in version 4.7.1606.0.
  • CCD-42779 - When inserting new content into a group, TurboPlayer did not apply the properties "DefaultStartMode", "BufferFlag" and "Reserve" from the destination group to the new content.
  • CCD-42873, 42912: The communication between TurboPlayerWrapper and TurboPlayer regarding starting/stopping elements was not backward compatible. Therefore, start/stop commands did not work. The incompatibility occurs when combining new TPWrappers with TurboPlayer versions 5.x or 6.0 until version 6.0.2401.0.
  • CCD-42725, 42696: Tried to fix and/or handle a potential crash in conjunction with OnAIR TrackMixer, GUI buttons and Windows focus handling. Hint: crashes were reported happening when saving in OTM.
  • The internal communication between the submodules of TurboPlayer did not work correctly if TurboPlayer was running on a computer with an up-time since last reboot of more than 49 days. When starting on such a system, the typical failure was a timeout in the GUI when trying to get the list of programs after connecting to BCS. This was a bug since version 5.7.2307.0.
  • When the undocked MiniDBM window was resized or moved around, the head line with the buttons was overlapped by the table view and the content view. This was a bug of the embellishing project since version 5.6.2202.0.
  • CCD-42761: The function "Adjust start times", which simulates a "real start" for the <next> element when nothing is playing, did not take the duration mode into account. As a result, text elements got the real duration 0 assigned.
  • Fixed some small issues around starting prelistening with the TP_Prelisten2 macro command.
  • OIA-1240: When a paused elements was continued, the time in the gap/overlap info window was not correct – it was off by the duration of the pause. The value became correct again when the element stopped. This was a new bug since version 6.0.2408.0.
  • CCD-43210: PFL switching for on-air lines with multiple assigned channels did not work. This is possible now. When PFL is activated on the mixer console, TurboPlayer tries to find the "best" channel to start (e.g. by checking prepared channels). When PFL is deactivated, all channels running a prelisten are stopped. And when an element is started to play on-air, any prelisten on channels for the same line are stopped.
  • The data supplied in state variables like %TheElement in internal events OnPFLStateChanged and OnPrelistenStateChanged was not present in some cases, though it could have been available. Hint: in some situations it is still not possible to have all variables filled, because the information is not known to TurboPlayer. So you still would have to check the existence of these variables before using them.
  • The setting "Use negative sign" was not evaluated for the time info window of type Crossover counter intro -> outro.
  • OIA-1353: When using the macro command TP_Prelisten2 ( ..., OTM, Load, PlayEnd, ... ) OnAIR TrackMixer played the last seconds before the end of the take – even if this was silence because the mark-out had been moved into the file. Now TurboPlayer sends different commands to OTM so that some seconds before the mark-out are being played (like it was done when using CFM).

Known flaws

  • Displaying of real remote play information in the player windows works only for a GUI, which sets the current program. This is true for the first GUI, which is started (including the complete executable with a GUI) and if no program was set in the engine during startup with either the corresponding parameter or a macro command.