0.99.48 - fixed wrong folders content for Artist sufolders 0.99.47 - mp3 transcode works with all channel counts for input file (instead of just 1, 2, 6 channels). Requires the "Downmix channels to stereo" DSP to be installed (since foobar 1.2.7). - transmit composer and year in album containers (both are displayed in BubbleUPnP in album lists, in Large mode) 0.99.46 - updated Platinum UPnP to 1.0.4.2 - compiled with speed optimizations - fixed UPnP device search requests emited every 50s by mistake, flooding the network with unecessary SSDP trafic and potentially causing high ping spikes every 50s - server: fixed opened files for streaming not closed - server: fixed foo_upnp sometimes misidentified as WMP in BubbleUPnP - browser: fixed lock on UPnP Browser Selection playlist lost if moving the playlist - server: "can decode http streams" set to true for PS3 profile 0.99.45 - server: (regression) fixed Xbox360 not playing LPCM 0.99.44 - renderer: fixed only first track played in gapless mode (regression) - renderer: fixed first track sometimes played twice when renderer is controlled in gapless mode (default) 0.99.43 0.99.42 - browser: added ability to play videos. To play a video, browse to the files with the UPnP Browser and double-click the video in the UPnP Browser Selection playlist. On Windows Vista and higher this will open a popup to select a video player like VLC. Note that double clicking will work only in the UPnP Browser Selection playlist. In other playlists, video upnp items can still be opened using Context Menu > UPnP Controller > Open... - browser: When playing tracks from a remote Internet foo_upnp or BubbleUPnP Server, transcode settings can now be specified on the client in Preferences > Tools > UPnP > Browser > Remote Internet Servers. To work, these settings require foo_upnp 0.99.42+ or any version of BubbleUPnP Server as remote Internet server: "Override remote server transcode settings": if enabled, client settings are used to specify transcoding. Otherwise server settings apply "Lossless transcode bitrate": Lossless files are trasncoded to this bitrate. Lossy files are not affected and it is not possible to specify transcode settings for lossy files (eg, server settings appy for these files) "Video transcoding": Only works with BubbleUPnP Server 0.6.4 (not available yet) to specify video transcoding - controller: fixed several Xbox 360 issues preventing it to be controllable. Playback Stream Capture also works. Known issue: Controller window do not display info for all LPCM stream, transcode of formats the Xox360 do not support (including PSC). - browser: added "Reload root" in the context menu of the root node of a Media Server. Reinitialize the root node as it if it was browsed for the first time - added Preferences > Tools > UPnP > Server > Basic settings > Add WAV and LPCM 44.1/16 compatibility streams. By default, for each streaming profile there are 3 streaming URLs per item: - the first one correspond to what is specified by the profile - the second and third one are WAV and LPCM 44.1/16 compatibility URLs, which are important if the browsing device is a Control Point playing to a different renderer (ex: Android CP playing to Xbox 360). If disabled, option "Add WAV and LPCM 44.1/16 compatibility streams" will omit second and third compat URLs. - browser: fixed autoreconnecting remote server on start not working anymore - server: fixed search not working if request comes from remote Internet client - server: fixed Playback Stream Capture not working after a server restart - server: added UPnPlay profile - fixed rare random crash 0.99.41 - updated to Platinum UPnP 1.0.3.0 (latest version), fixing top reported crash and improving stability - turned off optimizations in release build to make analysing crash dumps easier. Should not impact performance significantly. - renderer: gapless support for renderer when controlled by a gapless controller (tested: foo_upnp 0.99.41+, Android BubbleUPnP 1.6.1+, JRiver Media Center) - controller: controller is gapless aware and can control gaplessly renderers that reports as gapless capable (supports SetNextAVTransportURI). The renderer property dialog will list gapless as a capability if a renderer *claim* to support gapless playback (it doesn't mean it will work with all renderers in practice). Tested working with: another foo_upnp 0.99.41+ instance, JRiver Media Center, Android BubbleUPnP 1.6.1+ (requires Android 4.1+). Gapless control is force disabled on the Naim Unity renderer as this renderer is problematic. If gapless control cause problems with some renderers, it can disabled in Tools > UPnP > Controller > Enable gapless control - server: ability to restart a foo_upnp Media Server from a foo_upnp client (In UPnP Browser, context menu on foo_upnp server then "Restart Server"). Useful to update the Media Server's content (Media Library and Playlists) remotely. - server: added profile for JRMC (will only show if removing foo_upnp.xml and restarting foobar2000) - server: ability to use a different titleformat string for node splitting and node title with attribute "display": %album%[ '['%album artist%']'] will split by albums by "%album%[ '['%album artist%']']" but will display them as %album%. if unspecified, the "display" attribute is equal to the split titleformat string. fixes this issue: http://www.hydrogenaudio.org/forums/index....st&p=790580 - fixed + and - keys not working to expand/collapse tree nodes of UPnP Browser (+ key will do the action assigned to left-click mouse button) - fixed browsing a playlist of http streams or remote items taking a long time - fixed invalid WAV data chunk size for items or unknown duration - server: track artist titleformat string returned for tracks can be configured in Tools > UPnP > Server > Content. - By default it is set to %artist%. In some special cases $meta(artist) may be preferred if the field remapping done by %artist% is not desired. - fixed OpenHome renderer max volume always assumed to be 100 (was always the case with Linn renderer but not always true with BubbleUPnP Server OpenHome renderers) - do not discard port 1024 for SSDP discovery to be able to discover tuxbox / neutrino (dbox2) setups using this port 0.99.40 - (regression): fixed "View > Add remote Internet UPnP Server..." not connecting to BubbleUPnP Server since 0.99.39 - server: faster to return folders containing mp3s. Mostly noticeable on huge playlists. 0.99.39 - (regression) fixed loading configuration always forcing certain parameters in streaming profiles to default values - (regression) server: fixed server starting without error if its port was used - (regression) server: fixed broken Internet authentication - (regression) server: fixed returning large number of items making UI sluggish - (regression) browser: fixed lagging UI when loading folder with huge number of items 0.99.38 - browser: improved browse loading times of huge folders over the Internet (playlists) (thanks kopf for testing) - server: fixed gzip related crash with some clients - server: added 2.8Mhz samplerate to the list in streaming profiles configuration. This allows foobar2000 as a renderer to play unmodified DSD files with foo_input_sacd: if max samplerate of the profile is 2.8Mhz *AND* max bitdepth is 24 bits *AND* the profile is setup for no transcoding of DSD files - fixed "Customize Media Library tree..." button in preferences dialog failing to load the file if the foobar2000 profile path contains chars > 127 (accents, etc). - server: track title searches emitted by Android BubbleUpnP search the Media Library globally (ie all tags) instead of just the title 0.99.37 - server: handle track title searches emitted by BubbleUPnP for Android - server: fixed huge memory leak when stopping/starting the server - server: supports sending gzipped responses to browsing/searching requests. Uses 12x less bandwidth. Useful for internet connections. - browser: supports receiving gzipped responses for browsing/searching requests. Both foo_upnp and BubbleUPnP Server 0.5.4+ send gzipped responses. - browser: support https connections to Internet BubbleUPnP Server for added security. foo_upnp server *does not* supports https. - browser: revamped "Add remote Internet Server" dialog 0.99.36 - updated to Platinum UPnP SDK 0.6.8 - controller: can control OpenHome Renderers created by BubbleUPnP Server - browser: support searching Asset UPnP v4 - browser: added http proxy support to access remote Internet foobar2000 servers from network behind a HTTP proxy. Proxy can be configured in Preferences > Tools > UPnP > Browser. This setting is only used for connecting and browsing remote servers. Streaming still uses the foobar2000 http proxy (see Preferences > Networking), which must be set separately. - server: attempt at fixing streaming not working with some Samsung DLNA TVs and possibly other DLNA TVs. - server: now returns several streaming URL (resources) for each item. First resource is constructued from the matching streaming profile. second and third resources are fixed 44.1/16 WAV and LPCM streams, one of which should always be compatible with all renderers. This allows Control Points to pick up one of these alternates resource if the profile resource is not compatible with the CP's target renderer. Example: playing a foo_upnp ALAC file to WMP from BubbleUPnP as Control Point will now play sucessfully on WMP as WAV (where it would have previously failed, as WMP cannot play ALAC). - server: fixed search initiated from foobar2000 client not working if "Split node by first letter" was enabled and other scenarios - server: when streaming client is foobar2000, always force ALAC to be transcoded to PCM. This prevents "unsupported file format" error with unoptimized ALAC. - server: fixed %% not working properly in SubTree spec: %<album artist>% - server: fixed WAV stream of Playback Stream Capture not working anymore with recent foobar2000 as client - server: fixed LPCM stream of Playback Stream Capture not working with foobar2000 as a client and the default foobar2000 profile (was streaming as L24, unsupported by foobar2000) - server: LPCM streaming is always forced to 16 bits, including Playback Stream Capture - server: added 176.4 kHz samplerate in profiles for min/man samplerate - server: added audio/m4a to the list of mime-types of the renderer. Was preventing some Control Points to play ALAC/AAC 0.99.35 - server: for ALAC files, protocolInfo was using mime type audio/mp4 instead of audio/m4a - server: Content-Type (audio mime-type) in streaming requests replies was not correct for some type of files - server: search support for BubbleUPnP - server: don't set multiple streaming URL ips in returned items - controller: use volume range defined by selected renderer instead of hardcoded [0..100] 0.99.34 - server: allow Internet connection with http://ip:port/ from any remote client - device description XML parser is more lax to recognize UPnPlay's renderer. - server: workarounded TwonkyMobile requests with malformed XML. 0.99.33 - use current foobar2000 icon for media server and renderer - Linn Davaar suport. removed Cara support. - renderer: change so Twonky mobile is able to display elapsed time / track duration correctly - renderer: fixed returned volume rounding error (was confusing KinskyDesktop) - renderer: do not return volume=0 when muted (was confusing KinskyDesktop) - server: set album artist in returned album containers - server: set album art URL in returned album containers - server: support for BubbleDS search request: all albums of artist - browser: when browsing a remote foobar2000 server, override ip:port in server returned URLs with the ip:port the user specified to connect to this remote server. This should allow corner cases like streaming over a SSH tunnel to work (untested) - new menu action under Library menu: "Start/Stop UPnP Media server" 0.99.32 - chg: ninjaworkarounded WDTV eventing bug which randomly (between server restarts) broke subsequent play (Connection refused) - new: foo_upnp_ml_tree.xml: ability to split a specific ML node by first letter: %album%[ '['%album artist%']'] 0.99.31 - fix: buffer overflow exploit - server: fix: rare crashes - server: chg: always append the Windows computer name to the Media Server and Renderer name - server: chg: added support for 24 bits LPCM (L24) for streaming regular files and Playback Stream Capture (note that foobar2000 won't play L24) - server: chg: handle PlugPlayer search query (returns albums whose title contain search string) - server: fix: in tracks from VA albums, only Album Artist was specified (no track artist) - server: fix: some Browse requests could fail due to exotic unhandled filters requested (some Samsung TVs and LG TVs) - server: fix: tracks in Folders node are now sorted using %path_sort% (ie Explorer order) instead of a more sophitiscated order that messed VA albums track order in some cases. - server: fix: LinnDS not displaying artist name on the unit's LCD screen - server: fixed crash if playing a track whose full filename with path contained character % - server: fix: for track Album Artist metadata use $meta(album artist) if present, instead of field remapping %album artist% - server: in foo_upnp_ml_tree.xml, if a definition is bogus (bad query syntax for example), skip the definition instead of reverting to the default tree - server: tweaks for BubbleDS: support query to get random tracks, search for albums, added dc:creator in album container - server: query defintion in supports SORT and operators involving system time: DURING, SINCE, ... if SORT is specified, eventual subnodes are ignored (query 1). The result is that this node will contain tracks if SORT is not specified but the query still has a sort order implied (query1, implied sort order ASCENDING), tags are taken into account to further split the results %album%[ '['%album artist%']'] - controller: removed experimental "Play Stream Capture Multi" as it is unusuable - controller: When switching renderers, do not automatically clear the UPnP Controller Playback Queue playlist (except when switching to Linn DS renderer) 0.99.29 - browser: fix: obscure crashes - browser: new: ability to display properties (ip address, model name, supported audio formats, ...). Right click on a Server's node and select "Properties" - server: chg: made silence PSC streaming not having underruns - server: added option in Server/Content: if "Allow clients to pause stream indefinitely" is checked (unchecked by default), clients that do not automatically reconnect on server disconnection can now pause a http stream forever: the server will not close the connection. Otherwise the server closes the connection after 6 mins of inactivity (was 1 min previously) - server: prevent PC from going into Sleep Mode when streaming, whether Sleep mode is activated by the user or automatically by the system. When streaming is active and Sleep is triggered, the PC goes into Away Mode instead: screen is powered off and analog audio output is muted (by the OS), but PC remains functional for streaming. When streaming terminates, Sleep Mode works as usual. - server: hack: fix buggy stream request URLs from "SAGEM My Dual Radio 700" (and probably other models) that forget to XML decode URLs sent in DIDL-Lite. - controller: chg: removed context menu, now accessible with the new "..." button - controller: new: added dialog to Play/Stop PSC to multiple renderers. Found in the Controller action menu as "Play Playback Stream Capture multi". For Linn DS renderers, only the UPnP AV Renderer is listed to avoid modifying the Playlist source. It is also possible to play any single item to multiple renderers: select an item and in its context menu, choose UPnP Controller>Play single item to multiple renderers. The purpose of this experimental feature is to allow some sort of multi-room audio. It is mostly intended for playing infinite streams such as Playback Stream Capture, web radios, infinite streams from other UPnP Servers (Jamcast's Virtual Soundcard for example or Asset UPnP's equivalent). Audio should be in sync when using renderers of the same model. If models are different it is likely that renderers won't be exactly in sync, because each model has a different buffering time before actual playing. - controller: new: possible to select the startup renderer via the Controller's menu. On startup, the renderer has 15 seconds to appear to be automatically made active. - controller: new: ability to display properties (ip address, model name, supported audio formats, ...) for the selected renderer ("Renderer properties" command in the Controller's menu) - controller: fix: removed context menu, fixes conflict with DUI editing mode menu - chg: relaxed DIDL-Lite parser so it accepts incomplete metadata (missing namespaces and tag) sent by PlugPlayer's renderer 0.99.28 - server: in browse tree, under an artist node, put all tracks of that artist in a "[All Tracks]" subnode to avoid some browsing clients to mix single tracks and albums (PlugPlayer and others) - server: applemobiledevice:// items from foo_dop's "iPod View" playlist can now be streamed (either as PCM or transcoded to mp3) - server: Playback Stream Capture streams silence when foobar2000 playback is stopped or paused. More compatible with some renderers that expects the stream to always send data (or they close the connection). - server: %comment% is now returned in items - server: the "format track titles using" setting now recognize %list_index% and %list_total%. This can be used to prevent the browsing client to reorder tracks (most of the time alphabetically), for example by using %list_index% - %title% - server: for files streamed as PCM that are detected as HDCD, will force bitdepth to 24 if the renderer supports it (requires foobar2000 >= 1.1 and foo_hdcd >= 1.5) - controller: Linn DS Playlist source: next/previous track wouldn't work when shuffle is enabled and current track was the first or last track in the playlist 0.99.27 - server: workaround for WDTV Live sending buggy http requests (having the query part of the URL wrongly XML encoded). This was making some stream requests fail (tracks with subsong) or not stream the correct thing. - server: fix: track playback statistics where not submitted when streaming as MP3 transcode - server: fix: possible crash if closing the app early while the server is still populating the path registry - browser: fix: crash if closing UPnP Browser while there is a pending search request 0.99.26 The default sort string mentionned below is: "%album artist%|$if($not($meta(album artist)),%date%)|%album%|%discnumber%|%tracknumber%|%title%" - server: fully threaded startup (could block fb2k for some seconds on launch, if huge collection on slow PC) - server: fix: rare crashes in abnormal conditions - server: fix: rare Plaback Stream Capture crash - server: fix: Internet pref page: populate ip/hostname field only with a non LAN ip, if found - server: new: use fb 1.0 album art API to be able to serve album using configured file patterns - server: new: playback statistics (playcount, etc...) are now submitted by default when a track has been streamed 100% (requires foo_playcount). This can be enabled/disabled globally in the Server / Content pref page (default: enabled). Submitting playback statistics can be disabled per profile with the tag. Submitting statistics is disabled for the WMP profile as WMP do some kind of full file buffering. - server: chg: dithering is now alway enabled when decoding to PCM or MP3, for all profiles. Dithering can be disabled manually in the XML conf ( tag) - server: chg: search results are now returned sorted, using the default sort string - server: new: search in PlugPlayer browse screens is now available (will return albums matching a string). - server: new: single nodes containing tracks can now be specified with custom sort order: ex: if sort is omitted, the default sort string is used. - server: fix (regression): track lengths not displayed on PS3 browse screens - browser: in configuration, ability to specify the sort titleformat string for all upnp items sent to playlist, including results from search. This allow to override the server's sort order. This replaces the old "use sort incoming files by" setting which was not working since a few versions. - browser: new: search on non-foobar2000 UPnP Media Servers that are search capable: * simple string search will return tracks containing the searched string in any of the tags the server supports (like fb2k simple search) * very limited support for foobar style queries: IS|HAS (ex: genre IS acid) * the tags that the selected Media Server supports can be displayed with the "?" button search results are sorted using the default sort string, as server sort order is too inconsistent with most servers. - controller: fix: rare crash when a renderer disappears from the network - controller: new: icon buttons, new play PSC button. Removed Shuffle / Standby / Mute buttons, still accessible via menu Playback>UPnP Controller or context menu in Controller (right click on status bar) - controller: chg: when changing the selected renderer, do not automatically show the Controller Playback Queue playlist if the renderer is not playback capable. - controller: chg: do not select automatically the first available renderer on UPnP Controller launch or on current renderer disappearance (this could stop the currently playing source on Linn DS). - controller: chg: UPnP AV renderers: use polling instead of eventing to get player state. More reliable with some dodgy renderers. - controller: add: added option in streaming profile. Set to "yes" for renderers returning wrong track length such as the Philips WAC7500, and use cached track length instead. - controller: fix: when sending items to WMP renderer, the Default profile was always used instead of the WMP profile - controller: fix: removing a playlist before the UPnP Controller playlist would make all renderers other than the renderer selected pickup items in the wrong playlist - controller: fix: the renderer state could in rare cases not be notified due and eventing subscription bug (the controller wouldn't display track metadata / time) - controller: Linn DS: * on controller start, do no stop the playing Source * external Playlist/RadioTime Sources modifications are immediately reflected in the Controller playlist * the Radio source now display elapsed time. * Non preset radio stream metadata is correctly displayed in status bar * Playback Stream Capture or UPnP items can be played by the Radio service to preserve the content of the Playlist source 0.99.25 - server: fix: tracks reporting inaccurate length streamed as PCM could block the PS3 for track advance. - server: fix: Playback Stream Capture streamed as LPCM not working anymore on PS3. - server: fix: incorrect splitting of %<...>% nodes if a value contained a comma - server: fix: crash if 2 or more stream served concurrently and both converting non-stereo audio to stereo. - server: fix: crash on I/O exception during decoding (corrupted file for example) 0.99.24 - server: fix: audio drop outs in foobar2000 on Windows XP when streaming audio served by foo_upnp server (mostly noticed for large files such as lossless or PCM). May fix drop out potentially with other playing clients. - server: fix: the server is now visible to Sony Bravia TV, and potentially other DLNA devices. Pause on the Bravia interface is known to not work yet. - server: new: Playback Stream Capture (PSC) can be played with any client able to play http streams (foobar2000, vlc, firefox, ...), with a special URL of the form http://:/content/psc.. is either mp3, wav or lpcm and indicates the streaming codec used. This URL can also be accessed from the Internet by adding the login/password: http://:@:/content/psc.. For example: http://foo:bar@12.13.14.15:56623/content/psc.mp3. When streaming PSC as mp3 with this URL, the mp3 transcode settings for the Default profile are used. (tip: the MP3 PSC stream URL works on the iPhone/iTouch with Safari and can be streamed in the background (just exit Safari)) - server: crash on stop when playing the Playback Stream Capture playlist item in another playlist than "UPnP Controller Playback Queue" 0.99.23.2 - fix: a few rare crashes - server: fix: when streaming a track as MP3 transcode, connection was not closed at end of track, causing a long delay between tracks with foobar2000 as the playing client - server: fix: when streaming as PCM decode or MP3 transcode, a few audio data was missing at the end of the track - server: fix: bug on the Roku and potentially other renderers where metadata would not be returned for items directly under the Artist node - controller: made parsing of metadata (DIDL) returned by renderers less strict 0.99.23.1 - server: fixed %<...>% notation splitting tokens containing space - server: fixed WAV/LPCM streaming never finishing tracks if DSP chain enabled 0.99.23 This version reset the configuration file to defaults - if the XML configuration file cannot be loaded on launch, display an error in a popup - implemented proper abortability in most worker threads. Should address a few potential but rare deadlocks (mostly on stopping the server), and possible long time to stop some threads - reorganized preferences pages - server: fix: rare possible crash if exiting foobar2000 while the server was indexing the Media Library - server: fix: app freeze (deadlock) if restart server while Playback Stream Capture is playing - server: fix: handle %<...>% notation in foo_upnp_media_tree.xml. Useful for %% (was hardcoded previously), %