Make/Model  Device VersionConnection Type
InMatrix/Zoom PlayerVersion 4.5 or laterEthernet

Description:

This driver is for the Inmatrix Zoom Player media player. Zoom Player is a software based media player, but unlike other such players, it provides a formal automation interface, so CQC can exercise very strict control over it. This makes Zoom Player the best software based player at this time to use with CQC.

Since the automation interface is Ethernet-based, you can control Zoom Player running on a different machine from where the driver is installed. So you don't necessarily have to have CQC installed on the machine Zoom Player is on. You can just point the driver, on some other machine, at Zoom Player over the network and control it.

Because of the good control available, the Zoom Player driver is a formal 'media renderer' driver, which means that it can be easily integrated with any media repository that CQC supports. It also means that this driver must be associated with a media repository driver, because it works with that repository to access media to play and to get information about the media being played. So it cannot be used as a standalone media player at this point.

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.

FieldTitle CookieCollection CookieItem Cookie
EnqueueMediaAdds the items of the first collection of the title set to the end of the playlistAdds the items of this collection to the end of the playlistAdd this one item to the end of the playlist.
PlayMediaClears 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:

Quirks and Limitations:

None at this time.

Connection Details

Zoom Player listens on a particular IP port, and you have to enable the IP control interface before CQC can connect to it. Run Zoom Player and then right click in the background. Select the Player Options menu item. The resulting options dialog has two modes, a basic mode and an an advanced mode. So, if the button in the lower left corner says Advanced Mode, click it to enter Advanced mode. Then select Values and Tools in the left hand panel. This will load the values and tools panel, then you can click on the Interfaces tab if it's not the one selected by default. On that tab, there is an 'Enable External TCP Control (port)" option. Enable that option and, if the default port is not the one you want to use, select a new port. Save these changes and exit.

When you install the driver, just indicate the port that you ended up with in the Interfaces tab.

Driver Fields

This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...

NameTypeR/WDescription/Limits
ActiveRepositoryStringRThis field indicates the moniker of the repository driver that this player driver instance is currently associated with. Any cookies that you send this driver must be from that repository.
AudioTrackStringRReflects the name of the currently active audio track, or empty if none is active.
CurAspectRatioStringRIf aspect ratio information was available in the associated repository, this field will indicate that information.
CurCastStringRIf cast information was available in the associated repository, and a movie is playing, this field will contain the cast information.
CurColArtistStringRIf 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.
CurColCookieStringRThe cookie for the collection that contains the currently playing item, if any.
CurColNameStringRThe name of the collection that contains the currently playing item, if any.
CurDescrStringRIf description information was available in the associated repository, this field will contain the description information.
CurLabelStringRIf label/studio information was available in the associated repository, this field will indicate that label name.
CurRatingStringRIf rating information was available in the associated repository, and a movie is playing, this field will indicate that rating information.
CurItemCookieStringRIndicates the item cookie of the playing item, if any. If none, then it will be empty.
CurItemNameStringRIf 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.
CurItemTimeStringRIf item playing time information was available in the associated repository, this field will indicate the elapsed time for the current item, in seconds.
CurItemTotalStringRIf item length information was available in the associated repository, this field will indicate the full item length in seconds.
CurTitleCookieStringRIndicates the title cookie of title set that contains (indirectly) the item currently playing, if any.
CurTitleNameStringRIndicates the name of the title set that contains (indirectly) the item currently playing, if any.
CurYearCardRIf year information was available in the associated repository, this field will indicate the release year of the playing title.
EnqueueMediaStringWWrite 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.
PBPercentCardRThe 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.
PlayModeStringRIndicates the current playing mode. This is an enumerated field with the values: Unknown, Play, Stop, Pause.
PlayerVerStringRA read only field that indicates the version of the Zoom Player being controlled.
PlayMediaStringWWrite 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.
PlaylistModeStringR/WGet 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.
PLItemCntCardRThe current number of items in the players playlist.
PLSerialNumCardRThis is bumped anything the current playlist is changed. It is for use by clients that need to know when the list changes.
SetRepositoryStringWThis field allows you to change the repository with which this renderer driver is associated. The primary use of this field is to reuse the same touch screen interface to manage multiple repositories. Any items in the current playlist are removed and the new repository name is stored.
ScreenModeStringWAllows you to change the screen mode of the player. This is an enumerated field with the values: Maximize, Minimize, To Front, Toggle FS, Full Screen. The Toggle FS screen toggles between full screen mode and restored mode. The Full Screen option is a discrete setting to go straight to full screen.
ToggleNextStringWWrite to this field to toggle to the next available setting of the indicated value. This is an enumerated field with the values: Angle, Audio, Subtitle.
TransportStringWProvides transport control over Zoom Player. This is an enumerated field with the values: Down, Eject, Enter, Exit, FF, Next, Pause, Play, Prev, Rewind, Right, RootMenu, Stop, TitleMenu, and Up. Write one of these values to this field in order to invoke Zoom Player's transport functions.
VolumeCardR/WGet or set the player's volume. It is a percentage, so the value should be from 0 to 100.