![]() | ![]() | |
Make/Model | Device Version | Connection Type |
Barix/ExStreamer | 8.21 or higher | IP |
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.
Prompt Description Default Repository As 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 Number For 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 Volume The 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.
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.
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:
- IP Address. It is recommended that you use static IP addresses. Set up your LAN such that you have a small number of dynamic IP addresses to hand out via DHCP if you need them, but otherwise set up your devices with static addresses and just write them down. This will lead to a more stable system.
- Streaming. You want the mode to be "4 Streaming Receiver". Set the Set the Start Threshold to 60000, and the UDP Start Threshold to 65535. The RTP Receive Port is the one that the driver uses to stream the media. Generally the default 5004 is fine. This is the port you will set up when you install the driver.
- Control. Set the TCP Command Port to the next number up from what you set the RTP Receive Port to, and again generally the 5005 default is fine. The driver assumes that the control port is the next number up from the main port that you set in the driver install, so whatever you set the streaming port to be, set the control port to be the next one up.
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.
The connection is a standard IP based LAN connection.
This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...
Name
Type
R/W
Description/Limits ActiveRepository String R This 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. ClearPlaylist Bool W Any write to this field will clear the current playlist. 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. CurColCookie String R The cookie for the collection that contains the currently playing item, if any. CurColName String R The name of the collection that contains the currently playing item, if any. CurDescr String R If description information was available in the associated repository, this field will contain the description information. CurItemArtist String R If per-item artist information was available in the associated repository, this field will indicate that artist name of the currently playing item. CurItemCookie String R Indicates the item cookie of the playing item, if any. If none, then it will be 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. CurItemTime Time R If 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. CurItemTotal String R If item length information was available in the associated repository, this field will indicate the full item length in seconds. CurLabel String R If label/studio information was available in the associated repository, this field will indicate that label name. CurTitleCookie String R Indicates the title cookie of title set that contains (indirectly) the item currently playing, if any. CurTitleName String R Indicates the name of the title set that contains (indirectly) the item currently playing, if any. CurYear Card R If year information was available in the associated repository, this field will indicate the release year of the playing title. DelPlaylistItem String W Write the item cookie of the item you wish to remove from the drivers current play list. 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. Mute Bool R/W Get or set the mute state of the player. Write True to mute and False to unmute. 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. 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. PlayerStatus String R A read only field that provides information about the status of the player intended for human consumption. 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. SetRepository String W This 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. Transport String W Provides transport control over the player. This is an enumerated field with the values: Next, Pause, Play, Prev, Stop. Volume Card R/W Get or set the player's volume. It is a percentage, so the value should be from 0 to 100. ZoneNumber Card R This 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.