![]() | ![]() | |
| Make/Model | Device Version | Connection Type |
| XM Radio/Online | N/A | Internet |
The XM Radio Online driver provides Now Playing channel and guide information from the publically available data provided by the XM Radio website along with automatic cover art retrieval from Amazon and/or Napster. It is designed for people with XM hardware tuners (e.g. the Polk) who wish to have a more enhanced visual experience over the stock 16 character artist and song title information normally available.
Guide details are only available for online channels. Cover art may not be available or may be incorrect.
The driver uses an Internet connection to the www.xmradio.com, www.amazon.com and www.napster.com web sites to retrieve guide data and cover art.
This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...
Name Type R/W Description/Limits CurAlbum String R The album anme of the song playing on CurChannelNumber CurArtist String R The artist name of the song playing on CurChannelNumber CurChannelName String R The name of the channel selected by CurChannelNumber CurChannelNumber Card R/W Get or set the current XM radio channel number CurColCookie String R Internal field used by the media image widget CurSongTitle String R The title of the song playing on CurChannelNumber GuideAlbums StringList R A list of Now Playlist Guide abums GuideArtists StringList R A list of Now Play Guide artists GuideChannelCount Card R The number of channels in the Now Playing Guide GuideDelayUpdateSec Card W Write number of seconds to this field that you want to "pause" guide updates. This is useful to use in the scroll up/down buttons for the vertical list browser widget to stop the guide from updating while someone is scrolling through the list. GuideNames StringList R A list of the Now Playing Guide channel names GuideNumbers StringList R A list of Now Play Guide channel numbers GuideSongTitles StringList R A list of now playing guide song titles GuideUpdatedTime Time R The time the Now Playing Guide was last updated GuideUpdatesCount Card R/W Countdown of number of minutes left before the driver will stop retrieving guide data. Set this when your template loads to an appropriate number How do I use it?
- Set the CurChannelNumber field to a valid XM radio channel number (e.g. 26)
- The other detailed information fields will be populated automatically and updated every 20 seconds until CurChannelNumber is set to zero.
- Add logic to your template to set the CurChannelNumber field when you change channels on your XM receiver (this can also be done through the event manager)
- Modify your templates to use the additional fields available. To display cover art, use the Media Image Widget and use the driver field "CurColCookie".
How do I display the XM channel guide on my template?
- Build a template using the vertical list browser widgets and assign the driver fields to each column that you wish to show (GuideNumbers, GuideNames, GuideArtists, GuideAlbums, GuideSongTitles).
- On the load action for your template, set the driver field "GuideUpdatesCount" to the number of minutes you want to enable guide updates for (they are done once a minute so a value of 60 would give you 60 minutes of updates each time the template is loaded, think of it like winding up a timer. This prevents the driver from infinitely requesting data even when no one can see the guide).
- You can set an action on the GuideNumbers string list to change channel when someone clicks on a guide number. To do this, add an action similar to the following:
Devices::FieldWrite(drivername.CurChannelNumber, %(IntfRTV:ListItemText))- You may wish to add an action to your scroll up/down command buttons to write a value to the GuideDelayUpdateSec field each time someone scrolls to delay any guide updates while someone is navigating the channel guide (otherwise the vertical list browser will scroll back to the top when an update is received every minute). For example, to delay updates 30 seconds each time a scroll up or down button is pushed you would write this:
Devices::FieldWrite(drivername.GuideDelayUpdateSec, 30)