Remote Speakers Output Plug-In

Copyright (c) 2006-2013  Eric Milles

http://emilles.dyndns.org/software/out_apx.html



VERSION HISTORY
---------------
4.5 (2013-02-12):
* Added support for Foobar2000 player
* Improved support for MusicBee player
* Improved mapping of player volume to decibles
* Removed potential for freeze-up in XMPlay plug-in
* Updated OpenSSL to 1.0.1c and Poco to 1.4.5
* Updated README file with additional setup and config instructions


4.4 (2012-12-21):
* Fixed player crash or freeze when responding to media library events
* Fixed stream sync issue that was causing stuttering of audio stream during the
    initial few seconds of playback or after seeking, skiping, or unpausing
* Improved album art handling; Winamp can now display artwork from image file in
    same directory as music file
* Improved support for Airfoil Speakers, AirServer, AirServer Classic,
    Denon DNP-F109, Pioneer SC-2022, Sony CMT-G2NiP and others
* Fixed potential buffer overflow in RTSP authentication challenge
* Fixed message sequence number issue when RTSP request times out
* Lowered RTSP send and receive timeouts
* Lowered RAOP sender thread priority


4.3 (2012-11-04):
* Fixed chance of player crash when disabling speakers during playback or exiting
* Fixed chance for player freeze when remote speakers stop responding


4.2 (2012-09-20):
* Fixed support for AirBubble, AirServer, Boxee Box, Freebox Server and others
* Fixed crash caused exception during shutdown of service discovery subststem
* Fixed password protection support for newer devices
* Improved remote audio output protocol compliance


4.1 (2012-06-17):
* 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


4.0 (2011-12-28):
* Switched from TCP to UDP protocol for streaming audio data to remote speakers;
    the UDP protocol should offer more immediate responsiveness and actual
    synching between multiple devices
* Added support for several more device types -- including the Apple TV,
    Denon AVR, Marantz AVR and Pioneer VSX
* Added support for sending track metadata (titles, artwork and progress) to
    devices that support displaying it
* Limited rate of warning messages because some players will try to open the next
    track in a playlist if the current track failed and this can cause a long
    sequence of dialog boxes that must be dismissed manually
* Checking a device in the Remote Speakers submenu will uncheck any inactive
    zero-conf devices
* Fixed bug in volume control setting where remote speakers would be left at
    whatever previous volume had been set, rather then resetting to full volume
* Enhanced device discovery TXT record checking by adding regex tests of many
    common properties
* Moved reformatter in front of output thread so that bytes output can be
    correctly reported according to input format; this should give a more
    accuratue playback timer reading in the player
* Added several debugger statements to help trace startup and shutdown issues
* Updated Bonjour to 3.0, OpenSSL to 1.0.0e, Poco to 1.4.2, Secret Rabbit Code
    (a.k.a. libsamplerate) to 0.1.8 and PC Guard for Win32 to 5.07.0100
