It has been a while since I last posted.  You'll be happy to know that I've been hard at work chasing quite a number of small bugs and adding new features.  Today, I'm happy to announce that I have finally reached critical mass.  Thanks to everyone who submitted bug reports and trace logs to help me correct quite a list of stability issues.  And to everyone, please enjoy the update.
Download link: Remote Speakers output v4.1
- Added support for AirPort Express 802.11n (2nd Generation)
 
- Removed support for AirPort Express 802.11g firmware versions 6.1.1 and 6.2
 
- Improved support for third-party AirTunes and AirPlay devices and software
 
- Fixed metadata and progress display for Internet radio streams
 
- Fixed progress display after resuming from long pause
 
- Added support for remote control command Restart Track
 
- Fixed remote control commands Stop and Toggle Mute for XMPlay
 
- Removed support for remote control commands Fast-Forward and Rewind
 
- Fixed audio skipping caused by buffer underrun in remote speakers
 
- Softened impact of activating remote speakers while playback is in progress
 
- Added support for finding next available port if default local port is already in use; once bound, a local port can no longer be shared with another process
 
- Fixed unrecoverable state caused by network error when starting up, shutting down, finishing a track, pausing, seeking, skipping, etc.
 
- Fixed unrecoverable state caused by network error or user cancel during reconnect after long pause
 
- Stopped displaying error message when user cancels connect dialog
 
- Fixed inability to connect to device when it rejoins network after connect sequence has started
 
- Fixed version check in options dialog proc for XMPlay
 
- Fixed inability to get correct metadata in MediaMonkey for some input types
 
- Fixed handling of Unicode characters in metadata for MediaMonkey and Winamp
 
- Fixed reading and writing of plug-in options to be compatible with Windows User Account Control
 
- Fixed connection problem for devices associated with Session header handling
 
- Fixed device authenticity challenge to handle trailing zero data in response
 
- Fixed formatting of error and trace messages
 
- Added exception logging to catch-all blocks
 
As always, please let me know if you find any problems with the release.  I am still chasing a couple of minor issues but nothing that should come up during normal use.  If anyone has an AirPlay device that does not work properly with the plug-in, I'd sure like to hear from you; with your help I should be able to add support.