XMLobby

From Cinemar Wiki
Jump to: navigation, search

About

The XMLobby plugin and user interface additions to MainLobby allow for viewing of all XM Channel what's Playing and the current selected channel's current song's coverart. It interfaces with several popular XM hardware devices including:

XMPCR PC USB tuner

Polk XRT12 receiver

XMDirect via TimeTrax adapter

Also supports tuning a DirecTV satellite tuner to the equivelent XM channel. It can do this via IR (when used with a supported IR transmitter (like the USBIR6) or via the MLDirecTV serial plugin to control many newer Satellite Tuner Boxes (STB).

Russound ST2-XM. You can control the ST2-XM via XMLobby by creating "Automation Rules" against the XMLobby variables. For example, "Whenever xmcurrentchannelnumber changes value Then MLRussoundST2|SET_CHANNEL~Source_1~{ {xmcurrentchannelnumber} }". This will change the ST2-XM station when you select a station via the XMLobby screen.

System Requirements

MainLobby 3 Client

MainLobby 3 Server

PC connected to the Internet

Supported Satellite receiver


Introduction

The following paragraphs detail the installation, configuration and usage of the MainLobby / MLServer XMLobby Plug-In.


Installation

Run the MLXMLobby-Setup.exe program and follow the prompts.


Configuration

This plug-in must be configured prior to using it in a MainLobby/XMLobby scene. Highlight the MLXMLobby plug-in in MLServer and click on the Settings button to bring up the MLXMLobby Plug-In Settings configuration screen. You will be presented with a form as shown in Figure 1..


The Radio Tab

On this tab you will define how the plug-in communicates with your XM radio and the Internet.


Specify XM Radio section

The plug-in supports the following XM Radios:

The original XMPCR XMDirect with attached TimeTrax module XMDirect attached to a serial port using a custom cable Polk XRt12 XM reference tuner connected via a serial port A future release of this plug-in will add support for the Russound ST2 tuner Yamaha XM Ready radio (requires MLYamaha plug-in) XM Radio via DirecTV


Select the type of radio you have and then specify the serial port that the radio is connected to.

Special Note for DirecTV users. You can control a DirecTV box via the MLDirecTV Plugin to support a serial interface or you can use IR as this plugin will control the DirectTV box by issuing a series of macro commands. It is up to the user to provide the actual MLServeCmds to control your particular DirectTV box. Please look at the Macro Commands that are named XM.DirecTV... You must provide valid MLServeCmds for each of the command maps in the list.


Finally, there is no two-way feedback between the DirecTV unit and this plugin. You must collect "Now Playing" information from the Internet when using the DirecTV.


Cover Art Options

If you would like to see cover art displayed along with the now playing information and optionally the XM channel logo when no cover art is available then check off the appropriate boxes. If you would like to cache a local copy of the cover art then specify the folder that you want to put this cover art in and then check the cache cover at selection box. Cover art will be downloaded and placed into folders in the specified folder. The plug-in will automatically create folders based on Artist name. In each of the Artist folders a cover art file will be created using the song title as the file name. Using the example folder in Figure 1 Deep Purple's "Smoke on the Water" cover art would be located at \\Nemo\CoverArt\Deep Purple\Smoke On The Water.jpg.bAs a final option you have the ability to scale the downloaded cover art to any size you like. Simply fill in the height and width you desire and all downloaded images will be scaled accordingly.


When caching files the current image is also available in the shared folder called XMCover.jpg.


A Note on file sharing. If you choose to cache the cover art then you need to make sure that the MainLobby clients have read access to the folder and/or file share that you have specified as the cover art location.


XM Online Section

If you would like to download now-playing information from the internet you will have to specify your XM Online username and password and then check the Update box. (Polk XRt12 users must use this setting in order to obtain now playing information since this information is not available from the radio.)


Plug-In Behavior Section

Here is where you can control how the plug-in responds to clients when they connect to the server. If you want to have the plug-in turn on and initialize your XM Radio every time to start XMLobby then select the "Turn Radio On" option. If you would like to load XMLobby but not take control of the XM Radio then select the "Assume Radio Is Off" option. Finally, if you leave your XM Radio on all the time select the "Assume Radio Is On" option. See Figure 2.



When you tell XMLobby to PowerOff the XM Radio the plug-in will disconnect from the COM port connected to the radio. This frees up the serial port so that you can use other third party applications.



If you are running MLXMLobby on a secondary server you can enable the redirection of the setting of Server variables and MLServer commands to your primary server. Fill in the name of the server and the port it is listening on and then check off the redirect check box. All MLServer SetVariable and MLServerCmds will be redirected to that server.


The Alerts Tab

You can enter up to sixteen artist names and this plug-in will monitor the now playing information for all the channels. If it finds an XM channel playing one of these artists a dialog box will be presented to you giving you the option of tuning to the channel.



You can also define MLServeCmds to be triggered whenever the now playing information changes for the current channel or a PowerOn or PowerOff command is sent. See Figure 3.


The Channels Tab

Use this tab to define the list of XM Radio stations to be displayed in XMLobby. Place a check next to each station you want to be listed in the Main channel listings. You may also define up to four other custom channel listings. For each of the custom listings check the stations you want to see listed under that custom channel and then define a unique name for that set of channels. These custom lists will then be available in XMLobby. See Figure 4.


The Events Tab

This is a diagnostic tab. If you are having difficulty with you XM Radio and this plug-in you can turn on the logging feature to capture the communication to and from you radio. This information can be passed on to technical support to assist in troubleshooting your issue. See Figure 5.


MLServer Variables

This plug-in will modify the appropriate MLServer variable when the settings have changed. The following MLServer variables are created:

XMCurrentAlbum = Current Album Name*

XMCurrentArtist = Current Artist Name ("Who")

XMCurrentChannelGenre = Current Channel Genre ("Rock")

XMCurrentChannelName = Current Channel Name ("Deep Tracks")

XMCurrentChannelNumber = Current Channel Number ("40")

XMCurrentSong = Current "Now Playing" song title ("Call Me Lightning")

XMSatelliteStrength = (0 .. 100)

XMPowerState = 0 ("Off") or 1 ("On")

XMCoverArt = Path to the "Now Playing" cover art ("\\Nemo\CoverArt\Who\Call Me Lightning.jpg")

  • Current Album Name is only available when collecting now playing information from XM Online.


Supported Commands

{{Driver}}.setchannel~001


AddAlert

AddAlert (Adds the current artist to the alerts list)

MLServer Command:

AddAlert

Example:

MLServeCmd.MLXMLobby|AddAlert


AddFav

AddFav (Adds the current channel to the named favorites list)

MLServer Command:

AddFav~FavName

Where

FavName = Name of Favorites list

Example:

MLServeCmd.MLXMLobby|AddFav~Classics

This command will add the current channel to the Classics favorite channels list.


ChannelDown

ChannelDown (Goes to previous channel)

MLServer Command:

ChannelDown

Example:

MLServeCmd.MLXMLobby|ChannelDown


ChannelUp

ChannelUp (Goes to next channel)

MLServer Command:

ChannelUp

Example:

MLServeCmd.MLXMLobby|ChannelUp


PowerOff

PowerOff (Turns the unit off)

MLServer Command:

PowerOff

Example:

MLServeCmd.MLXMLobby|PowerOff (Ignored if using the Polk XRt12)


Power On

PowerOn (Turns the unit on)

MLServer Command:

PowerOn

Example:

MLServeCmd.MLXMLobby|PowerOn (Ignored if using the Polk XRt12)


SetChannel

SetChannel~<<channel>> (Sets the channel to the desired channel)

MLServer Command:

SetChannel~channel


Where

channel = Desired XM channel

Example:

MLServeCmd.MLXMLobby|SetChannel~46


TogglePower

TogglePower (turns the unit on/off)

MLServer Command:

TogglePower


Example:

MLServeCmd.MLXMLobby|TogglePower (Ignored if using the Polk XRt12)


ToggleMute

ToggleMute (Mutes/Unmutes audio output of the unit)

MLServer Command:

ToggleMute

Example:

MLServeCmd.MLXMLobby|ToggleMute



XM Direct Custom Cable

If you have purchased an XM Direct XMD1000 radio you will need to create a custom cable to connect this radio to a serial port on your PC. You will need an 8-pin mini-din cable, a female DB9 connector and a source of 12 volts DC. A serial cable for a MAC will provide a good source for the 8-pin mini-din connector and cable. The DB9 connector is available at most computer supply stores. Figure 7 shows a schematic of how this cable should be wired. Note that the connectors are drawn as if you were looking at them face on.

Bugs

If there is no Internet connection, MLServer launch will take a while, and overall system will not be as responsive as it is when Internet is available.


New Feature Requests

Release Notes

April 4, 2008 Version 3.0.62 of the XMLobby plugin. This version uses a new Amazon cover art lookup routines.


May 27, 2004 XMLobby released.