Hey all,

I've made some modifications/enhancements to the XM radio plug-in.  I'd
really like to thank philf for creating this plug-in, it was one of the
reasons I decided to purchase my Squeezebox.

I have tried to make this compatible with SS 6.5, but I'm running
6.3.1.  I can say that it seems to run pretty well under 6.3.1.

For the users:
You can add XM radio stations to your favorites list.  Use a URL in the
form, xmradio://<station_number> (e.g. xmradio://84 for those that like
to "chill").  This also means you can play a station after it has been
paused for an indefinite amount of time, even if your SB has been
turned off.

Station information now includes now playing information (updated every
20 seconds).  I'm a channel flipper, so it's nice to see what's playing
before I turn the dial.  I recommend using, "Now Playing (Jump back on
wake.) when listening if you like to jump around the dial.

Now playing information for the station being played is updated every
10 seconds (you may have to wait two or three bars to see the updated
title, but this keeps network traffic down).

Visual feedback has been improved on the SB.  You should have a good
idea what's going on behind the scenes after your input (e.g. "XM Radio
Online/Retrieving Station Play URL..." after you press play).

You will be logged out when you power off your SB (this is important
since now playing information for stations keeps getting updated as
long as you are logged into XM radio online).

You must have built-in WMA enabled as this plug-in only supports direct
streaming.

This plug-in is only setup to handle a single client.


For you developers:
I've refactored the "mode" code.  It now uses the standard modes
supplied by the server (e.g. INPUT.Choice).  These are implemented
using a class hierarchy.  This helps break up the code and segregates
the functionality.  It also thins out the Plugin module.  Take a look
at ModeBase if you're interested.

XROAPI now provides a synchronous interface.  This also helps reduce
some of the clutter by removing all those callback methods.  It also
makes possible the new "xmradio" protocol handler.  This is
accomplished by blocking on the async HTTP calls.  While blocking, we
spin the main idle loop to make sure everybody else can continue their
processing.  Take a look at SimpleSyncHTTP if you're interested.

Client::block()/unblock() calls wrap all long running methods (e.g.
login).  This provides feedback to the user while they're waiting.

I've create classes for the stations and genres.  These are integrated
with the ModeBase.  The station "onRight" will set itself as a
"remotetrackinfo" mode.  The genre "onRight" will set itself as an
"INPUT.Choice" mode.

Hope you find it a step forward from the original.

Once again, I'd like to thank philf for creating the initial version.

Joe Bob


+-------------------------------------------------------------------+
|Filename: XMRadio.v1.1.zip                                         |
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=1954|
+-------------------------------------------------------------------+

-- 
Joe Bob
------------------------------------------------------------------------
Joe Bob's Profile: http://forums.slimdevices.com/member.php?userid=7361
View this thread: http://forums.slimdevices.com/showthread.php?t=29510

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/plugins

Reply via email to