Make/Model

Device Version

Connection Type

Barix/ExStreamer

8.21 or higher

IP

Description:

This driver controls the Barix ExStreamer, and makes the ExStreamer look like a standard CQC media renderer driver. So it can be associated with a media repository, queue up items from the repository, provides the standard metadata fields for the currently playing content, and so forth. The ExStreamer accepts audio data from CQC via the LAN. CQC will pull the data from the associated repository, decode it, and stream the decoded PCM data to the ExStreamer.

Note that this driver only supports WMA or MP3 media files. It cannot be used with the iTunes repository driver if you have protected files.  The Barix protocol is one way, so the driver cannot provide feedback on the device state. It does however acknowledge outgoing commands, so you will know if it doesn't respond to a command.

Installation:

When you load the driver you will be presented with a number of prompts that allow you to adjust the configuration or defaults of the driver. These are discussed in the tablet below.

PromptDescription
Default RepositoryAs with all standard CQC media renderer drivers, you will indicate the default media repository that the driver instance should be associated with (i.e. the one to which it will go to look up the media information on any media cookies you send to it.)
Zone NumberFor your own use in automation logic, you can embed a zone number in the driver that you can later use in your actions to automatically figure out which zone number you are dealing with.
Initial VolumeThe initial volume (0 to 100%) that the driver should set when it first loads up.

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:

ExStreamer Configuration:

You must make the following changes in the ExStreamer configuration, which you do via it's web interface. So use the Config link at the top of the main web page, and then make changes on the following sections of the Config page. Probably you would want to reset the ExStreamer to it's default configuration and then make these changes:

Quirks and Limitations:

Note that you must set up the control IP port to be the next port up from the port number you indicated when you install the driver. So the port you indicated when you installed the driver is the one used to stream out the music (and set in the Streaming page, and the driver assumes that the ExStreamer's control port is the number port number up. This is what the driver uses to do things unrelated to streaming music, such as setting the volume.

Connection Details

The connection is a standard IP based LAN connection.

Driver Fields

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

Name

Type

R/W

Description/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.
ClearPlaylistBoolWAny write to this field will clear the current playlist.
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.
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.
CurItemArtistStringRIf per-item artist information was available in the associated repository, this field will indicate that artist name of the currently playing item.
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.
CurItemTimeTimeRIf item playing time information was available in the associated repository, this field will indicate the elapsed time for the current item, in the standard Time field format.
CurItemTotalStringRIf item length information was available in the associated repository, this field will indicate the full item length in seconds.
CurLabelStringRIf label/studio information was available in the associated repository, this field will indicate that label name.
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.
DelPlaylistItemStringWWrite the item cookie of the item you wish to remove from the drivers current play list.
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.
MuteBoolR/WGet or set the mute state of the player. Write True to mute and False to unmute.
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.
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.
PlayerStatusStringRA read only field that provides information about the status of the player intended for human consumption.
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.
TransportStringWProvides transport control over the player. This is an enumerated field with the values: Next, Pause, Play, Prev, Stop.
VolumeCardR/WGet or set the player's volume. It is a percentage, so the value should be from 0 to 100.
ZoneNumberCardRThis value is set from the zone number prompt value you provide when loading the driver. The intention is to allow you to create generic automation logic that can determine the zone number just given the driver moniker.