CIDERO SOFTWARE BUNDLE RELEASE NOTES ----------------------------------------------------------------------------- Version 1.5.0 6/25/2006 Minor new features, miscellaneous bug fixes and new GUI-based installer option Media Controller 1. You can now drag and drop to re-order items in a play queue 2. A patch for the Windows Media Connect discovery problem (where the controller does not 'see' WMC until 5-8 minutes after starting up). When running the controller on the same PC as WMC is running, you can enable the bug patch by going to 'Options->Server Options' and enabling the patch feature (don't forget to save it after you apply it using 'File->Save Setup'). The very first time the controller is brought up, it will still take 5-8 minutes to discover WMC. After that, the controller should 'discover' it more quickly since it remembers the WMC device address from the previous run and connect manually to it. 3. Better support for extended (UTF-8) character sets. (I don't have much in the way of music with extended character sets, so your mileage may vary!) 4. A patch for Rhapsody and WMC related to running the controller on the same host as those servers (similar) issue as item #1 in Version 1.4 notes below). This patch enables the controller to play Rhapsody radio stations, as well as the local media, and restores gapless playback on Roku Soundbridge when using WMC in conjunction with the controller on the same host. 5. Implemented trapping of and recovery from a number of the most common cases of badly-formed UPnP metadata (mostly for the benefit of Streamium renderer devices) 6. The verbosity of the logging messages can now be changed via the UI, and the messages are automatically stored to a file (assuming the GUI installer version of the software is used) ----------------------------------------------------------------------------- Version 1.4 11/19/2005 WMC V2 compatibility, minor patches/enhancements Media Controller 1. WMC Version 2 compatibility. WMC version 2 is aware of the network interface of incoming UPnP browse requests, and responds with media resource URLs configued with the same subnet as the requestor. When the controller is run on the same machine as the WMC server, WMC V2 will typically respond with URLs that specify the loopback interface address, (127.0.0.1). This URL doesn't work if exported to a media player on a different subnet. The controller now modifies any local content URL it receives from WMC to one which will work when exported to a media player (typically a 192.168.1.X address of the WMC host machine). Note that this strategy works with WMC V2, but may not work (yet) for other UPnP servers (feedback welcome) 2. Certain UPnP servers (Replay Radio) export items using the UPnP 'audioItem' object class rather than the more common 'audioBroadcast' or 'musicTrack' class. This was causing the server to ignore the metadata from the server in the browse window. This has been fixed. 3. A bug for machines with multiple network interfaces that are not necessarily all active was patched ( thanks to Greg Johnson for the bug report and patch!) 4. Informational messages for device discovery and device timeout are now enabled by default in the command shell window. This can be useful when tracking down device discovery problems, especially in an intermittent wireless environment. ----------------------------------------------------------------------------- Version 1.3 7/19/2005 Playlist save capability, Firefox interaction support, PC standy mode support, album shuffle Changes below are relative to the Version 1.2.3 beta. If updating from an earlier release, be sure to read the intermediate release notes as well. Installation Changes 1. If you wish to use Firefox to select radio stations and on-line content, be sure to install the software in a directory with no spaces in the pathname. This is admittedly a bit of a step in the backwards direction since this was just fixed in the 1.2.3 beta!. The Firefox 'launchy' extension has problems with spaces in pathnames though, so until those problems are resolved, avoid pathnames like "C:\Program Files\cidero" 2. Cidero programs still run under windows using .bat files, and there is an associated command shell window brought up that you probably don't want cluttering up your desktop. This will be fixed at some point by using a proper installer program as opposed to unzip, but a workaround for now is to create a shortcut to the program and configure the shortcut to come up with the window already minimized by clicking on the shortcuts 'properties' menu item and changing the 'Run' field to 'Minimized'. Media Controller 1. You can now save playlists using the new popup menu in the renderer play queue panel (right-click). Since none of the UPnP media servers currently support the saving of playlists via the standard UPnP commands, the playlists are saved as XML files containing the media server 'virtual' URLs. This works acceptably in most cases, but the playlists are not guaranteed to be'persistent' across new installations of a media server, since the virtual URLs typically change in that case. The playlists are also not in a format understood by other applications you may want to use. If you use Twonkyvision, you have the option of exporting the playlists as 'true' M3U playlists if the PC you are running the controller on has access to a copy of the Twonky database containing the real music track disk file names. Simply add the path to the Twonky database file in the "Options - Playlist Options" dialog to enable the export feature. Note that playlists produced using this method should be compatible with any media server that 'sees' the same file paths as the Twonky server. 2. Album shuffle is also supported via the new popup menu in the renderer play queue panel. 3. Media links (playlists, MP3 files) can be selected using Firefox via the 'Launchy' extension. Examples of this are direct playback of one of the links at www.shoutcast.com, or archived live music at www.archive.org. See the section on the Media Controller web page for information on how to set up Launchy and make use of this feature. Note that Launchy does not work properly under Mac OSX 10.4 (Tiger), so that platform is not yet supported. A bug report has been filed with the Mozilla folks. 4. The track number was added to the audio item browser panel. The reported track number comes straight from the 'originalTrackNum' field reported by the UPnP server. For music albums, all UPnP servers report the track number within the album. For playlists the meaning of the reported track number can vary from server-to-server. If the originalTrackNum field is not reported by a server, the track number will appear as a '-' character. Credit for the track number feature goes to user 'tedly' on the Cidero forum! 5. The controller has been modified to watch for PC transitions to standby mode. Java is not yet capable of this natively, so this is currently a Windows-specific solution that utilizes JNI with an accompanying small DLL. A similar solution for Mac OSX and/or Linux users is not yet available. When the controller detects a standby event and is actively controlling a playback session, it now returns a message to the Windows OS to prevent the system from going into standby. If the controller is idle, it disconnects from all UPnP clients, then allows the system to go into standby. When the system wakes up, the controller reconnects to all UPnP devices. Not all the state info is restored yet in this software release, so for example, a renderer window that was open when the system went into standby mode will not reappear in the open state. If a renderer window contained a playlist however, the playlist should be restored when the renderer window is reactivated. 6. The media browser tree has been improved so that a single click on an item name is sufficient to select the item. This modification also addressed a bug where one would have to double-click an entry multiple times to get it to be the active item when visiting it a second time. 7. A bug in the implementation of the 'autoAlphaFolder' feature was fixed, and the feature should now actually work for cases where it encounters a folder with a non alphanumeric first character (Twonky uses names like '- All Tracks -' and the leading '-' was the problem) 8. The cursor now changes to the wait cursor for long-running browse operations ----------------------------------------------------------------------------- Version 1.2.3 6/2?/2005 Multi-renderer sync support (beta) Installation Changes 1. Dropped support for Java 1.4 since Java 1.5 is now available for MacOS 10.4 (Tiger). (If there are folks who can't run Java 1.5 for some reason, let me know) 2. Fixed the installation problem where spaces in the applications directory path caused it to bomb out at startup. Installation in the normal "C:\Program Files" directory under windows should work now. 3. Download now available in source and non-source versions 4. MacOSX-specific startup scripts removed - the normal '.sh' scripts were modified to support Linux/Solaris/MacOSX with single version of script Media Controller 1. A bug with playback of lossless WMA content on the Roku Soundbridge has been fixed (playback now happens at normal speed instead of 10% too fast) 2. A first-cut synchronization capability has been added to allow the controller to synchronize playback content on 2 (or maybe more?) devices of the same type. This capability is not 100% perfect due to basic limitations of the HTTP-Get protocol used by most of the UPnP renderers, but may be 'good enough' for some users, especially when the renderers are on a wired, not wireless network. Read the synchronization section on the web page () for more details on how to set up and use this capability. 3. When browsing a Windows Media Connect server for the first time, upon seeing a browse error, the controller will recommend that the user probably needs to authorize the controller in Windows Media Connect 4. The 'Add Tracks to Play Queue' button is no longer enabled until one or more tracks are selected in the browse window. Also, double-clicking on a single track will add that track to the play queue. 5. An icon has been added for the Rhapsody UPnP server. The renderer window has also been modified to try and improve the metadata displayed when playing back radio stations (from Rhapsody and Internet) 6. The server/renderer device windows now scroll to support as many devices as you have. The device icon naming logic has also been made a bit smarter to try and extract the host name for instances when you run multiple copies of a server on different machines. 7. Changed the default play startup timeout to 12 seconds from 6 seconds. The 6 second timeout is too short for some streaming media servers, such as Rhapsody. Note that if you are upgrading from a previous release, this change will not overwrite the existing setting in your properties file. The simplest fix is to use the 'Options->Renderer Options' dialog to manually change the 'playTransitionTimeout' setting from 6000 ms to 12000 ms, then do a 'File->Save Setup' to make the change permanent. 8. A UPnP options configuration dialog was added. Right now, only the UPnP subscription duration can be specified, but more items will be added. ----------------------------------------------------------------------------- Version 1.2.2 6/10/2005 Roku Soundbridge support (beta) Media Controller 1. The Roku Soundbridge implements the SetNextAVTransportURI action, allowing the next item to be 'queued up' via an external UPnP controller while the current song is playing. This also allows for jukebox-like behavior where a new 'next song' can be inserted anytime during the playback of the current song. The media controller needed a few patches to fully implement this functionality. Note that Roku is the only media player to implement this feature - Kudos to them since you can hear what the gap between tracks would sound like otherwise if you temporarily suppress the feature using the test hook provided in the property file. 2. Implemented a bit of logic to select the PCM version of lossless WMA files when using the transcoding capabilities of Windows Media Connect. The logic and default settings are identical to the Roku (400KBit threshold). See the property file section of the controller HTML page, for information how to use the property file (in a nutshell, run the program once to create a personal copy in your home directory, then edit it to suit). The default copy of the file has documentation on what all the settings do. 3. In order for the UPnP commands to work, the Roku must be 'logged in' to a UPnP server (via the remote). Once logged in, neither the controller nor the Roku care which UPnP server or servers the tracks are actually coming from. In other words, you can select a different server on the controller altogether, never even clicking on the one the Roku is logged in to. 4. There is a bug somewhere with the SetNextAVTransportURI action described above that can freeze up the soundbridge if there is a playback error due to unplayable media. It requires rebooting the soundbridge. If you don't have playback errors, the problem should be rare, and we're working on it! WMC NOTE FOR SOUNDBRIDGE USERS: WMC has a long-standing bug where it does not properly respond to search requests from a UPnP controller on the same machine as WMC. It does properly *announce* itself periodically, so if you wait 5-10 minutes or so, the controller will eventually see it as an active server. Also, no worries if you are running the controller on a different PC, you should see WMC instantly. Oh yeah - forgot to add 'export ' to the beginning of the CLASSPATH line in the OSX start script for the media controller - it won't find the Java classes without that, so you will need to add that. Next release it will be there! ----------------------------------------------------------------------------- Version 1.2 5/20/2005 Nero MediaHome server support, Prismiq UPnP bridge Media Controller 1. Nero MediaHome conforms to the DLNA guidelines, which call for the insertion of extra metadata in some of the standard UPnP fields. This was causing the controller some problems when trying to identify the best media type to select for playback to a given renderer device. This extra data is now being correctly parsed (though not yet truly used). 2. Added icons for Nero MediaHome, JRiver MediaCenter, and TVersity media servers, and improved icons for Philips Streamium 300i/400i. 3. Improved robustness of initial device search by sending out multiple search requests over a 10-second period when the controller is started. This should help address the lost search packet problem that was causing device detection at startup to be somewhat intermittent in wireless enviroments. Radio Server 1. No notable changes were made to the radio server in this release UPnP Bridge 1. New application that supports the bridging of non-UPnP devices so that they may be used in a UPnP environment. The bridge has a flexible architecture, allowing for support of different device 'classes' (i.e. MediaPlayer) as well as devices of the same class from different manufacturers. Currently, only the Prismiq media player is supported by the UPnP bridge (bridged to a UPnP MediaRenderer device). See the description on the Web site for details on configuration. ------------------------------------------------------------------------ Version 1.1 4/30/2005 - Philips Media Manager patches, Shoutcast metadata support for Roku SoundBridge, and radio server test scan capability. Media Controller 1. Fixed two problems that occurred when using the Philips Media Manager. The first was an error reading the device's icon, caused by the fact that the PMM UPnP implementation makes use of embedded UPnP devices, and this wasn't being supported properly by the controller. The second bug was a parsing bug when reading the PMM's timeout setting, causing an erroneous, early, timeout after 60 seconds. Note that the icon supplied via UPnP by PMM is really the 'SimpleCenter' icon from simpledevices.com, the folks who supply some (most?) of the PMM code to Philips. Not very Streamium-like, but recognizable at least! Radio Server 1. Added support for Artist/SongTitle info on the Roku SoundBridge when using the proxy mode of the RadioServer. The Roku 'sketch' interface is used to display Artist/Title info on the display when this option is enabled via the properties file. Since the sketch interface disables the Roku remote when active, the Artist/Title info is displayed starting 30 seconds (configurable) into each song, allowing a user to retake control at the song transitions. In addition, the sketch mode is exited every 2 min (configurable) for 30 sec so the user can be sure to have a time period where the remote will work. If switching stations, be sure to issue a 'pause' command with the remote shortly after the normal Roku display appears. Then all subsequent browsing can be done in a liesurely way, and the broken radio station connections should all clean themselves up properly. The server is set up to (attempt to) exit sketch mode when it terminates, so there aren't too many situations where the Roku gets stuck with a non-responsive remote. I'm sure they'll still exist though. In such a case, best bet is to telnet to the Roku and issue a 'reboot' :) One drawback to the server is that one has to browse down about 4 levels to play the desired radio station. This may be fixable, but for now this condition exists since the server is going and retrieving radio station playlists from the station web addresses when a browse is invoked, and converting them to an equivalent UPnP-based list on-the-fly. Also, the tree allows for different bit rates to be selectable for a single station. The upside to the current arrangement is that if a connection breaks, the SB will move to the next entry in the playlist (stay on the same station/bitrate in most playlist configurations I've seen) Note that the next Roku software release will likely address this issue in a more elegant way! If so, this functionality will likely be removed. 2. Added radio station database test scan capability. This allows a user to run a scan of all the stations in the database, and store access success/fail information in a file. This makes it easier to modify/update a custom database to ensure that all the links are valid. ------------------------------------------------------------------------ Version 1.0 4/2/2005 - Picture, video, and MaxOSX support Media Controller 1. Added support for pictures. Picture slideshows may be composed (selected, sorted) and played back using picture thumbnails. The thumbnail view is automatically enabled when pictures are selected using the browse mechanism. 2. Added support for videos. The interface for selecting and playing videos is similar to the interface for audio content (select/play using Artist/Title info). 3. Added support for MaxOSX (Tested with OSX-Panther) 4. Added option to automatically select music tracks when they are first browsed (convenience). (Option is under 'Browse Options...') 5. Added property to allow UTF-8 characters (e.g. German 'umlaut') to be suppressed (never send them to a renderer that doesn't support them). This addresses some lockup problems observed on a number of renderers. (see the DLink DSM-320 entry in the property file 'MediaController.properties' for more info) Note: The above features were primarily tested with the Twonkyvision (2.7) and Windows Media Connect UPnP servers, and the DLink DSM-320 and Phillips Streamium 300i UPnP Renderers. Other combinations will hopefully work as well! Radio Server No modifications were made to the radio server. ------------------------------------------------------------------------ Version 0.9 1/20/2005 - Miscellaneous bug fixes and minor new features Media Controller 1. Fixed 'pause' bug in renderer controller. Some 'stuck renderer' recovery logic in the controller was falsely triggering if a renderer was paused for more than 8 seconds. DOH! 2. Increased default renderer playback startup timeout from 3 seconds to 6 seconds. This was in response to feedback that the timeout may be too short for some network configurations. The setting is also now user-configurable, and can be accessed in the 'Options->Renderer Options' dialog. (Don't forget to use 'File->Save Setup' after any change if you want to make an option change permanent) 3. Added renderer monitoring interval setting to Renderer Options dialog. Reduce this from the default of 3 seconds to increase the update rate of the information in the renderer control window. (3 second default chosen to minimize controller overhead) 4. Added a device information dialog, accessible via the Options menu. Device control and/or status web pages can be opened from this dialog. 5. Put up error dialog if no renderer is selected when 'Add To Play Queue' button is hit. 6. Changed 'Pictures' and 'Movies' tabs so 'Not currently supported' is displayed. (reduce user confusion) 7. REPEAT_ALL mode now handled completely on controller side - UPnP play mode command is *never* sent to the renderer device. This is temporary patch until controller supports 'detachable' (renderer device controls queue once it gets started) and 'active' (controller completely in charge of the queue) controller modes. Anyway, if you noticed REPEAT_ALL mode wasn't quite working right, it should work better now... 8. Table of audio items is now the free space hog in the 'Music' tabbed pane, so when the window is expanded in the vertical, the table gets all the new free space. (button panel used to get 1/2 of it) Radio Server 1. Increased size of default radio station database from 10 to 60+. (Target is a default set of ~100 popular internet stations) 2. Added UPnP 'region' element to all station XML files. This field contains the country & region of the primary location of the station. 3. Established conventions for multiple genres in the genres field of the XML files. See the database description section on the Web site for details. 4. Added support for the optional UPnP 'presentationURL' to the device. The radio server now has a status page that can be accessed via a web browser. The current station list, with links to the stations' web sites, is generated dynamically on-demand. ------------------------------------------------------------------------ Version 0.8 1/3/2005 - Initial Release