![]() | ![]() | |
| Make/Model | Device Version | Connection Type |
| TheaterTek/TheaterTek | 2.5 or greater | Socket |
This driver controls the TheaterTek software-based media player, which provides music and movie playback with lots of options for audio and video hardware and rendering combinations. This player is particularly strong in the movie playback area, less so in the music area. Versions 2.4 and later provide a socket based control interface so that software based automation systems like CQC can have solid control over them.
- Prior to TheaterTek version 2.4, the only control mechanism available was via the CQC App Control system, i.e. by faking user input into the TheaterTek player. As of 2.4 it now provides a dedicated TCP/IP based control protocol. This is of course infinitely superior to the old scheme and users are strongly encouraged to upgrade to the new scheme. The old App Control based driver will be removed at some point in the future.
- Note that the 2.5.0 version has errors that prevent IP based control from working correctly. The 2.5.1 version fixes this issue.
This driver is a standard CQC 'renderer' driver, so it provides the usual features that you would expect from such a renderer device, and it provides the functionality required to smoothly integrate into the CQC user interface system's media functionality.
Cookies and Playback
There are three types of media related cookies, title set, collection, and item, and two fields that you can write them to in order to play their associated media data. The following table indicates what happens in each case.
Field Title Cookie Collection Cookie Item Cookie EnqueueMedia Adds the items of the first collection of the title set to the end of the playlist Adds the items of this collection to the end of the playlist Add this one item to the end of the playlist. PlayMedia Clears the current list, then sets the list to the items of the first collection of this title set. Clears the current list, then sets the list to the items of this collection. Looks for this item in the current list. If found, makes it the active item. Else ignores it. This driver supports three different play-ist modes, set via the PlaylistMode field. They are:
- Normal. The player moves to the next item in the list when it completes the current one, and wraps around when it hits the end.
- Jukebox. The player moves to the next item in the list when it completes the current one, but it removes each item as it plays it.
- Shuffle. The player selects the next item to play randomly, continuously playing from the current playlist.
Quirks and Limitations:
If you are using S/PDIF output, the volume is not provided by TheaterTek and setting the volume via this driver interface will have no effect. It only works when using the local machine's analog outputs.
The connection is TCP/IP based and uses an IP port that is configured in the TheaterTek settings. On the General tab of the configuration dialog, there is a check box to "Enable TCP/IP Control" and, if enabled, to set the port that will be used. The default IP port is also the default of the CQC device driver.
This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...
Name Type R/W Description/Limits CurAudioTrack String R Reflects the name of the currently active audio track, or empty if none is active. CurAspectRatio String R If aspect ratio information was available in the associated repository, this field will indicate that information. CurArtist String R If artist information was available in the associated repository, this field will indicate that artist name. CurCast String R If cast information was available in the associated repository, and a movie is playing, this field will contain the cast information. CurColArtist String R If artist information was available in the associated repository, this field will indicate that artist name of the collection that contains the currently playing item, if any. CurColCookie String R The cookie for the collection that contains the currently playing item, if any. If none, then it will be empty. CurColName String R The name of the collection that contains the currently playing item, if any. If none, then it willb e empty. CurDescr String R If description information was available in the associated repository, this field will contain the description information. CurFile String R The current physical file being played CurLabel String R If label/studio information was available in the associated repository, this field will indicate that label name. CurRating String R If rating information was available in the associated repository, and a movie is playing, this field will indicate that rating information. CurSubtitle String R The name of the currently active subtitle, if any. Else empty. CurItemName String R If item information was available in the associated repository, this field will indicate the name of the item currently selected/playing in the player. For movies, there will be one faux item that represents the whole movie. CurItemCookie String R Indicates the item cookie of the playing item, if any. If none, then it will be empty. CurItemTime String R If item playing time information was available in the associated repository, this field will indicate the elapsed time for the current item, in seconds. CurItemTotal String R If item length information was available in the associated repository, this field will indicate the full item length in seconds. CurTitleName String R If titleset information was available in the associated repository, this field will indicate the name of the title set that (indirectly) contains the currently playing item, if any. If none, this will be empty. CurTitleCookie String R Indicates the title cookie of the titleset that (indirectly) contains the currently playing item, if any. If none, this will be empty. CurYear Card R If year information was available in the associated repository, this field will indicate the release year of the playing title. EnqueueMedia String W Write a title, collection, or item cookie to this field to play media. This will add the indicated items to the currently playing list. See the 'Cookies and Playback' section above for details. MenuSel String W Allows you to invoke a particular menu, if available. This is an enumerated field with the values: Angle, Audio, Chapter, List, Root, Subtitle, Title, Top. PBPercent Card R The percentage of the currently playing media that has completed playback so far. This is generally used to drive progress bars on user interfaces. It will be zero if no media is playing. PlayMode String R Indicates the current playing mode. This is an enumerated field with the values: Stopped, Playing, Paused, FF, RW, Unknown PlayerVer String R A read only field that indicates the version of the player being controlled. PlayMedia String W Write a title, collection, or item cookie to this field to play media. This will empty any currently playing items, and set the current list to the items indicated by the passed cookie. See the 'Cookies and Playback' section above for details. PlaylistMode String R/W Get or set the playlist mode. This mode controls how the player manages the play list with respect to selecting the next item to play and dealing with items that it has finished playing. The values are: Normal, Jukebox, and Shuffle. See the main driver notes above for details. PLItemCnt Card R The current number of items in the players playlist. PLSerialNum Card R This is bumped anything the current playlist is changed. It is for use by clients that need to know when the list changes. ScreenMode String R/W Allows you to change the screen mode of the player. This is an enumerated field with the values: Maximized, Restored, Full Screen, Unknown. ToggleNext String W Write to this field to toggle to the next available setting of the indicated value. This is an enumerated field with the values: Aspect Ratio, Subtitle, Audio Track, Angle, Disk, File. Transport String W Provides transport control over TheaterTek. This is an enumerated field with the values: Eject, Exit, FF, Next, NextChapter, Pause, Play, Prev, PrevChapter, Rewind, Stop. Write one of these values to this field in order to invoke TheaterTek's transport functions. Volume Card R/W Get or set the player's volume. It is a percentage, so the value should be from 0 to 100. It will not be available (or do anything) if you are using S/PDIF output.