3.7
- added proper support for ChromeOS, taking into account its difference in networking (vs regular Android devices) that crippled
a lot of the app functionality, resulting mostly in failure to play. All app functionality should now work properly
- added heart icon in 'Now Playing' tab for Qobuz/TIDAL tracks to quickly add/remove track to the Qobuz/TIDAL favorite tracks folder in the Library tab
- added support for adding track played to OpenHome renderers to the 'Recently Played' folder in the Library tab. This only works when BubbleUPnP is running at the same time the active OpenHome renderer
in the app is playing tracks. This is is useful when playing tracks handled by the 'Local and Cloud' Library, as BubbleUPnP must be kept running for track advance anyways.
This is less useful for playing tracks managed by external UPnP/DLNA media servers, as it is not necessary to keep BubbleUPnP running (saves the battery),
as the OpenHome renderer takes care of track advance
- added option to put a copy in the Downloads folder of a subtitle file downloaded from opensubtitles.org, to make it user accessible. These subs can be safely deleted at any later time, as the app uses its own copy in its private storage
- added in the 'Playlist' tab 3-dot menu for Qobuz/TIDAL tracks, actions to add/remove from favorites
- fixed some long standing app freezes ('Android Not Responding' dialog), many of them caused by networking connectivity changes
- fixed devices sometimes not discovered after a network connectivity changes such as: no network => WiFi, mobile => Wifi
- fixed failure to detect some track changes for some OpenHome renderers. Did not have visible consequence, but had to be fixed for implementing "Recently Played"
- fixed clearing or removing tracks in the 'Recently Played' Library folder not always working properly (removed tracks reappearing)
- fixed 'Play TIDAL radio' action found in 3 dot menu of TIDAL tracks in 'Now Playing' and 'Playlist' tabs failing if not already logged into TIDAL by other means
- attempt at fixing on some Android devices weird intermittent "failed to probe quality" failure when playing Qobuz/TIDAL tracks
- fixed local playback of WAV tracks not in PCM format (for example 32-bit float) always converted to 16-bit PCM
- fixed app starting on ChromeOS possibly resulting in a glitched window
- fixed embedded album art sometimes not extracted for music track sent/shared from other app
- fixed sharing a supported playlist file (m3u, ...) to BubbleUPnP and selecting "Enqueue" always resulting in first track of the playlist being played
- fixed 'More' menu items with long titles spawning on two lines, the second one being truncated. Now ellipsized on one line
- fixed unusual failure to download subtitles from opensubtitles.org on some network setups involving ipv6 (hopefully for real this time)
- worked-around remote browsing bug from UPnP clients using the "Portable SDK for UPnP devices" (at least some Sony TVs)
- made the Local OpenHome Renderer compatible with latest iOS Lumin app (for control)
- changed default action for tapping an item in Library tab to "Play items from tapped position". This can be changed in More > Gear icon > Library > Item tap action
- increased 'Recently Played' Library folder to 100 items (from 50)
- improved dialog text displayed when playing a local video and BubbleUPnP is set as default video player app.
Fixed its "Fix" button to properly display the Android app settings page for BubbleUPnP to remove BubbleUPnP from automatically opening videos
- reworked JPlay FemtoServer wrong container type hack to fix grid view toggle not applying accross app restarts
- when displaying a dialog, if a hardware keyboard is available, make the focus on the default button visible (so ENTER can be pressed to confirm and understand what it will do)
- fixed a few rare and obscure crashes
- updated some libraries and tools used to build the app
3.6.10
- added 'More > Gear icon > Library > Grid view item size (dp)' setting to adjust grid tile density
- added 'File Path' field to the 'Show metadata' dialog of items stored on local storage
- updated device icons for Chromecast devices detected by standalone support (no Google Play Services)
- using the 'Clear all' button in the 'Recent apps' Android screen does not always kill the app anymore.
It will instead honor the 'More > Gear icon > Control > Removal from Recent Apps' setting whose default is to kill
the app only if it is idle. This change also fixes disabling the 'Android 11+ Notification' setting killing the app unnecessarily
- increased Random Tracks/Albums folder to a maximum of 1000 items (previously: 100)
- increased UDP Datagram TTL to possibly fix some UPnP device discovery issues
- removed 'More > Gear icon > Control > Scrobble Method' as it was referring to old apps and not working anymore on current versions of Android.
The proper way to do scrobbling is to install a scrobbler app ('Pano Scrobbler' highly recommended), giving it permission to read media notifications
- if BubbleUPnP is running under the Windows Subsystem For Android, display a dialog with information about requirements for device discovery to work
- worked-around 'JPlay FemtoServer' using the album folder UPnP type for all folders, messing folder presentation and causing inability to use grid view
- fixed some 3-dot popup menus always displayed at bottom right corner of the screen rather than close to the 3-dot graphics
- fixed unusual failure to download subtitles from opensubtitles.org on some network setups involving ipv6
- fixed some local folders being super slow to load in Library tab, on Samsung Android 12+ devices
- fixed inability to download items on SMB shares and WebDAV
- fixed FireTV Fling SDK logcat spam
- attempt to fix an obscure playback bug on Lindemann renderers operating in gapless mode
- other minor fixes and tweaks
- updated some libraries used to build the app
3.6.9.1
- fixed search results not displaying exact matches (regression)
- fixed a few rare and obscure crashes
3.6.9
- updated targetSdkVersion to 31 (Android 12)
- updated device icons for Chromecast renderers
- added ability to reverse content of the Playlist tab: 3 dot menu > Reverse order
- when entering the 'Playlist tab > 3 dot menu > Add Stream URL' dialog, set the URL to any previously copied URL in the clipboard (if any)
- when uninstalling app on Android 10+, it is optionally possible to keep local app data (settings, Saved Playlists)
- fixed 'More > Gear icon > Now Playing > Force Cover refresh' not working when playing 'BubbleUPnP Server' cached tracks
- fixed issue in Library tab, when displaying an album folder from MinimServer, where tapping the album header cover would not always display fullscreen the proper cover
- fixed playing 'Audio Cast' to Hegel renderers stopping unexpectedly after a few minutes
- fixed inability to unhide renderer/media server if it is the unique renderer in list (happens only if the Local Renderer / Local Media Server is disabled in settings)
- fixed track not playing if tapped from Library tab with 'Item tap action' set to 'Play tapped track next' and Playlist tab is empty
- fixed using keyboard predictive text (suggestions) in 'Playlist tab > 3 dot menu > Search Playlist' not trimming white space
- fixed issue playing iptv streams from livego.club
- fixed a few rare crashes
- updated some libraries used to build the app
3.6.8.2
- hotfix for crash on Android 6 and below devices
3.6.8.1
- workaround for rare crash on app startup
- fixed tapping "not running" widget crashing after 10 seconds
- minor changes for upcoming targetSdkVersion 31 (Android 12) compatibility
3.6.8
- added support on Android 13 for changing the app language in Android settings for BubbleUPnP
- added More > Gear icon > Control > Take audio focus on playback. Enabled by default. Disable this for being able to play audio in other Android apps at the same
time BubbleUPnP is playing audio to an external renderer
- allow to connect to WebDAV servers via http over the Internet, after displaying a warning popup about security
- fixed image slideshow being stopped by toggling screen off
- fixed obscure crash when starting the app on some devices
- a few obscure fixes and tweaks
- updated some libraries used to build the app
3.6.7
- added extraction of track technical info (samplerate, bitdepth, ...) on track playback if it is missing from browsing metadata, for displaying in the Now Playing tab. Done only if it can be performed quickly (within 1 second) to not delay playback
- added "Audio Cast" toggle in the Devices tab, the alternate way to select renderers/libraries (More > Gear icon > Look and Feel > Show Devices tab)
- if Android stock battery optimization is enabled for the app, shows once on app startup a dialog explaining how to (optionally) disable it. 'More > Gear icon > Disable system battery optimization' shows the same dialog. Disabling battery optimization for BubbleUPnP can be important for the app to work properly in the background and when screen is off
- if download (or all) notifications are disabled in Android settings for BubbleUPnP, display a toast message when a download starts/ends as fallback
- fixed possible app crash on Samsung Android 12 devices when playing to bluetooth
- fixed DSD tracks not played natively as such on Samsung Android devices
- fixed playing Audio Cast as LPCM (and decoding to LPCM in general) to Denon renderers possibly resulting in white noise. Now outputs WAV as default format for these renderers, when decode to PCM is performed
- fixed failure to play some HLS streams with "Cannot play: HLS stream requires authentication" error wrongly displayed
- fixed failure to play HLS streams shared to BubbleUPnP from the Stremio app
- fixed playing some specific Qobuz tracks to Auralic Aries renderer crashing the Aries
- fixed failure for OpenHome Control Points to display album art of TIDAL tracks when controlling an OpenHome renderer managed by BubbleUPnP Server
- added russian translation
- updated some libraries used to build the app
3.6.6.1
- added "UPnP/DLNA Libraries" section to the "Local and Cloud" Library, for browsing these libraries without having to use the "Select Library" dialog, having them listed at the same level than all other top-level content.
It can be useful if playing often media from both UPnP/DLNA servers and other sources of media (for not having to constantly switch libraries using the "Select Library" dialog).
This section includes an EDIT button to hide/unhide servers.
It can be disabled in More > Gear icon > Local and CLoud > UPnP/DLNA Servers.
- revamped Direct Share to work properly on Android 11+.
Direct Share allows for up to the last 4 external renderers that you last played to, to appear as target in the share sheet of other media apps.
This allows to play/enqueue media directly to a specific renderer from other apps, using their Share action.
Moreover, Direct Share targets can now be cleared in More > Gear icon > Control > Clear all Direct Share targets.
- added app shortcuts: long-pressing the BubbleUPnP icon in the app launcher reveals a menu with up to the last 4 external renderers that you last played to. Taping a menu entry will launch BubbleUPnP with the corresponding renderer made active. From this menu, you can also drag entries to create shortcuts in the app launcher for launching BubbleUPnP on a specific renderer
- fixed entering the Dropbox folder sometimes failing with an error popup due to an access token renewal issue
- improved video thumbnail extraction to avoid videos part of the same show having the same thumbnail (may require clearing thumbnail cache in Library settings)
- fixed some Qobuz/TIDAL tracks possibly stopping unexpectedly mid-track when decode to WAV or ReplayGain are enabled
- fixed scrolling in lists/grids with keyboard arrow keys and mouse wheel not hiding top and bottom bars (similar to touch scrolling)
- fixed renderer/library list in bottom sheets not resized properly when a device is added/removed (previously resulting in having to scroll to see the new device)
- extract embedded album art of audio items in more cases
- display a better error message if associating a subtitle file to a video fails because the file cannot be created due to a permission problem
- other obscure fixes and tweaks
- updated some libraries used to build the app
3.6.5
- fixed failure to browse some Qobuz folders
- fixed Audio Cast not working with MPD based renderers (upmpdcli)
- added 'More > Gear icon > Audio Cast > Renderer settings > WAV Streaming method'. It allows to manually set different methods
for WAV streaming, for possibly fixing failure to play Audio Cast to some renderers
- a few obscure fixes and tweaks
3.6.4
Cast audio from compatible third party apps on Android 10+
Android 10 introduced the ability for an app to record playing audio from
other apps that did not explicitely disable being recorded.
BubbleUPnP leverages that system feature
for casting audio from compatible third party audio apps to most external renderers (some of them may not work).
Some popular compatible apps are Apple Music, Amazon Music, Deezer, YouTube Music and Poweramp.
There are many more compatible apps but Spotify is notably not compatible.
That feature is called Audio Cast in BubbleUPnP. Audio Cast can be toggled in the renderer selection popup in the Now Playing tab.
Play audio in a compatible app, then toggle Audio Cast on in BubbleUPnP (reversing these steps also work).
Audio Cast is a premium feature limited to 15 minutes of playback per session in the free version of BubbleUPnP.
Fixes
- fixed Qobuz 'New releases' folder not listing all releases
- fixed failure to play consecutive tracks not part of the same album on some renderers (Denon) when 'Gapless control' is enabled
- fixed downloading a subtitle file (srt) for a video stored in the Download folder not storing the sub in the same folder
- fixed failure to share files from the RS File Explorer app to BubbleUPnP
- updated some librairies used to build the app
3.6.3
- The 'Qobuz Playlists' folder is now categorizing playlists identically to the Qobuz app: HiRes, New releases, Focus, ...
- updated some Qobuz folder titles to match the same section titles in the Qobuz app
- added Qobuz "Still trending", "Qobuzissimes" and "Ideal discography" sections, as subfolders of genre folders
- added "Hide hidden files" checkbox in SMB Server dialog. Disabled by default
- fixed failure to browse SMB folders on some servers (Fritz!Box)
- fixed WebDAV browsing issues on some servers (D-Link)
- fixed failure to play to some Chromecast Groups (notably, groups including a Chromecast Audio)
- fixed failure to associate .srt file to Dropbox video with the same filename (minus extension)
- fixed playing 24-bit audio to external renderers transcoding to 16-bit for some rare renderers, when conversion is not explicitely enabled in renderer's settings. This also fixes the failure to play 24-bit audio to Logitech renderers
- workaround issue where if Opera is the default web browser, when playing a video locally it is not possible for BubbleUPnP to display the system
video app chooser as Opera always handle the video no matter what. In that situation, VLC is now automatically launched if it installed. If not,
a popup dialog is displayed explaining this situation and possible workarounds
- A few other minor fixes
3.6.2
- updated FFmpeg to v5.0
- added ability to play videos to renderers (OpenHome excluded) that support only audio: the first audio track of the video will be played as PCM
- hide file extension in displayed item titles when the title is a filename. This can be changed in 'More > Gear icon > Library > Remove file extension'
- improved browsing of external media servers generic filesystem folders inferred to contain a music album, enriching tracks with album metadata and album art (if any)
- worked-around failure to play to Chromecast some FLAC with special encoding characteristics, due to Chromecast firmware bug in FLAC decoding. In that case,
force WAV decoding
- revert to using Google Drive provided video thumbnails by default, as it is faster. However some thumbnails may be pitch black (long standing Google Drive issue).
To work-around it, BubbleUPnP can (slowly) generate new thumbnails by enabling 'More > Gear icon > Local and Cloud > Google Drive > Generate video thumbnails'
- removed year separators in grid view of albums sorted by year, in Library
- fixed failure to browse some WebDAV servers (D-LINK NAS in particular)
- fixed cover in 'Now Playing' tab sometimes not sized correctly after returning from 'Show album' action
- fixed download notification sometimes remaining stuck, not showing download completion
- fixed possible disconnection errors displayed by some Samsung TVs browsing BubbleUPnP video folders
- fixed playing track to Chromecast Group not sending album art for display on devices of the group having this ability
- fixed failure to load m3u playlist items with badly encoded bracket characters in URL
- fixed a few obscure crashes
3.6.1
- improved videos thumbnail extraction to make it more efficient, less taxing on media servers and fix some other issues. Added 'More > Gear icon > Library > Generate video thumbnails' setting that
can be set to 'Always', 'Always, except on mobile connection' (the default), 'Never'.
- fixed WebDAV issues, especially failure to connect on some servers
- fixed failure to load SMB and WebDAV bookmarked folders
- limited loading of playlist files (m3u, ...) to a maximum of 5000 items to prevent app possibly running out of memory and crashing
- fixed audio-only HLS streams that were always handled as video. Such streams can now play properly as audio. This affects HLS streams sent by other apps (ie TuneIn) or added via Playist tab > Add Stream URL
- fixed a few obscure and rare crashes
- updated some librairies used to build the app
3.6
- added SMB v2 and v3 support, allowing to access to media files from SMB shares managed by Windows PC, Mac and Samba servers
- added WebDAV support, allowing to access to media files managed NextCloud, OwnCloud, standalone Web Server with WebDAV support
- improved video thumbnails and full cover (shown in 'Now Playing' tab) extraction accross the board: cloud storage services, local filesystem and UPnP/DLNA media servers not already proving these
- improved embedded music tracks album art (thumbnail + high res cover) extraction from cloud storage services, for folders inferred to contain a music album
- fixed passing subtitles to VLC not working on Android 11+ when playing a video for local playback
- reorganized 'Local and Cloud' settings page. DLNA Media Server settings for remote browsing are now in their own separate page
- fixed failure to reliably play TIDAL tracks on PlayStation 4
- fixed failure to share to BubbleUPnP from third party apps (web browsers in particular) media files stored in the Download folder
- fixed on some Xiaomi devices starting local playback of music tracks from OneDrive possibly taking a lot of time
- fixed failure to manually associate a SRT file (local or opensubtitles) to a video when a subtitle file was already present in the same folder than the video, with the same filename (minus extension)
- fixed failure to fully load album folders from Twonky Media Server containing more than 100 tracks
- fixed unnecessarily proxying some https streams for playback to upmpdcli based renderers (radio streams in particular)
- fixed potential out of memory crash playing a large music track from a cloud service when proxying is used (mostly observed on lenghty Qobuz HiRes tracks)
- fixed a few remaining theming inconsistencies in settings
- fixed a few obscure crashes
- changed log file location on Android 11+, now written in Downloads folder
- updated some librairies used to build the app
3.5.9
- fixed Google Drive login not working anymore
- fixed failure to login to TIDAL via Facebook
- fixed failure to play to Chromecast Audio on Android devices without Google Play Services
- added ability to sort by track number generic folders containing music tracks
- removed Google Photos support
- fixed a few minor issues
3.5.8
- fixed on Android 12, BubbleUPnP not appearing in 'Share/Send/Open With' dialogs of some third party apps as
a target for playback
- when playing a video on Android 12 for local playback, display a warning popup if VLC is not installed: due to an Android 12 change, not all installed video player apps are displayed in the system video app chooser, possibly resulting in no suitable video player available. VLC, if installed, is always available
- increased Google Photos 'recent photos' folder to 500 last recent photos (previously: 300)
- fixed inability to enable TIDAL/Qobuz proxying for some OpenHome renderers
- a few other obscure fixes
3.5.7
General
- fixed Amazon Fire TV device discovery not working anymore since v3.5.6
- fixed bookmarking folders inside the 'Music > Composer' folder not working
- fixed no X icon in notification on Xiaomi devices for existing app installs
- improved Google Drive folder loading performance for folders with a huge number of items
Improved media session handling
Modernization for notifying metadata and exposing playback controls to remote clients (notification, lock-screen,
Android Wear, Android Auto, Bluetooth...), by using a media session. This results in:
- added ability to control volume with hardware volume buttons for all renderer types, when a media is playing and BubbleUPnP is in the background (not visible),
including when the screen is off. You can now control renderer volume without waking up your Android device !
Previously, this worked only with local playback and playback to Chromecast devices.
Note that this does not currently work on Android 12, due to a bug in Android 12.
- fixed 'Android 11+ notification' always displaying 'Phone speakers' even when playing to an external renderer
- fixed media playback buttons (fired by headsets, but not only) not working with 'Android 11+ notification' enabled
- fixed some manufacturer specific lock-screen player controls (Samsung in particular) not working properly with 'Android 11+ notification' enabled
- removed these settings in 'Control': 'Lock-screen background album art', 'Remote Control Client', 'Media keys'
Minor Android 11+ fixes related to external apps
- fixed scrobbling not working if Last.fm or WAIL app is set as scrobbler in 'More > Gear icon > Control > Scrobbling'
- fixed 'More > Gear icon > Local Renderer > Video Player' dialog not listing all possible video apps
- fixed not using the official Dropbox app (if installed) for initially allowing access to Dropbox
3.5.6
General
- on Android 11+, the notification is grouped with other media notifications in the quick toggles area.
The regular notification can be used instead by disabling 'More > Gear icon > Control > Android 11+ notification'
- added missing X button (exit app) in notification, on Xiaomi, Redmi, HTC, and devices running MIUI. Due to limited room, it takes the place of the 'previous track' button
- renamed 'Individual UPnP/DLNA renderers settings' to 'Renderer settings' in app settings, now including settings for OpenHome renderers (see below)
- fixed NAIM renderer failing to play Qobuz by default
- fixed bookmarked local Videos subfolders not working
- fixed 'Action failed' playback error with upmpdcli OpenHome renderers happening in some cases
- a few other obscure fixes
OpenHome Qobuz/TIDAL
'More > Gear icon > Renderer settings' now lists OpenHome renderers with Qobuz/TIDAL settings:
- 'Proxy Qobuz/TIDAL': whether proxying should be used when BubbleUPnP is entirely handling Qobuz/TIDAL. Some renderers need it enabled for playback to work at all, other do not
- 'Use renderer's Qobuz support': for renderers directly supporting Qobuz via OpenHome, whether this support should be used or not. It is used by default, except for upmpdcli based renderers
Moreover:
- added ability to use own Qobuz support of OpenHome upmpdcli based renderers, by explicitely enabling 'Use renderer's Qobuz support' mentioned above
- improved 'Local and Cloud > Qobuz/TIDAL' settings pages (also accessible via 'Library tab > Qobuz/TIDAL > gear icon'), showing information on how to configure audio quality when it must be configured outside of BubbleUPnP for some OpenHome renderers.
Also includes a link to 'Renderer settings' for configuring renderer specific Qobuz/TIDAL settings
- OpenHome renderer settings can also be accessed via Now Playing > cast buton > 3 dot menu on renderer > Settings
3.5.5
- fixed failure to play Qobuz/TIDAL on some renderers. Added ability to enable/disable Qobuz/TIDAL proxying per renderer in 'More > Gear icon > Individual UPnP/DLNA Renderer settings > (pick renderer) > Use TIDAL proxy'. Some renderers requires that setting enabled, other need it disabled. It is disabled by default. Proxying does not cause a loss in audio quality
- fixed playing hevc video on Xiaomi TV with Chromecast embedded being unnecessarily transcoded
- fixed playing multichannel video on Chromecast with 'preserve multichannel audio' enabled resulting in no audio on Chromecast embedded and CCwGTV devices
- fixed resuming not working when playback is initiated with BubbleUPnP not being in the foreground (from notification or widget for example)
- fixed 'Repeat track' not working properly when playing gaplessly to an UPnP AV renderer
- a few obscure fixes and performance improvements
- updated some libraries used to build the apps
3.5.4
Android 11+ Scoped Storage improvements
- the 'Internal Storage' and 'External SD card' root folders are back in the Library tab.
However, due to restrictions enforced by Scoped Storage for local file access, only the media files recognized by the Android
Media Store can be listed (including those in the Download folder). Media files not listed there (in particular obscure or less common
media file formats) can still be accessed via the "Folders" folder at the root of the Library tab, manually adding the folder that contains
them
- in the "Folders" root folder of the Library tab, automatically remove inexistent entries (that is, manually added folders
that were later deleted from the filesystem)
- the first time adding a folder to the "Folders" root folder of the Library tab, show information on how to remove it
Other
- enabling 'Look and Feel > Show Devices tab' hides the renderer selection floating button in the Now Playing tab, reducing clutter and giving more room for metadata
- fixed failure to play some local DSD files to Sony renderers supporting that format
- added 'Invididual UPnP/DLNA renderers settings > Proxy Qobuz tracks' setting. This setting is enabled by default for most renderers
and should not be changed unless there is a Qobuz playback issue with a particular renderer (in particular for HiRes streams)
- fixed Playlist tab track order on OpenHome TEAC renderers (hopefully for good this time)
- a few minor tweaks
3.5.3.1
Scoped Storage is enabled on Android 11+. This is a significant change in how BubbleUPnP accesses local storage for reading and writing. If you notice any issue
accessing local storage on Android 11+, please contact bubblesoftproducts@gmail.com with details
- fixed Fire TV device discovery not working on Android 11+
- changed 'Local storage' root folder title to 'Folders' in the Library tab on Android 11+ (Scoped Storage)
- fixed issue with loading large local album folders on some Motorola devices
- if 'Library > Track numbers' is enabled, do not show disc number as part of tracks titles in local albums folders only having a single disc
3.5.3
Scoped Storage support on Android 11+
On Android 11+, Scoped Storage restricts how apps can access local storage (for reading and
writing).
The most visible change is that the 'Internal Storage', 'External SD Card' and USB OTG root
folders in the Library tab have been replaced by a new 'Local Storage' folder
that is initially empty. You must manually add (with the system folder picker) every
root folder containing media that you want to browse.
Each folder added can then be browsed normally (including all its subfolers) and removed from
the list using 3 dot menu on folder > Remove.
Non-exhaustive list of other Scoped Storage behavior changes:
- More > Gear icon > Downloads > Download folder: There is no default folder anymore and you
must first pick a folder once before downloading
- Now Playing > 3 dot menu > Booklet: you must now manually pick a folder containing your PDF
booklets. Previously, this folder was in predefined
subfolder of the Documents folder
- More > gear icon > Internet access with BubbleUPnP Server > Cache Folder: the default folder
is now in the private storage of the app, thus will be deleted on
app removal. You can manually change it to another folder that survives app removal
- More > Gear icon > Local and Cloud > Excluded remote folders: this setting is removed as it
does not apply to Scoped Storage
- some local non Media Store files added to 'Saved Playlists' may not be playable anymore as
there is no permission to access them
Other changes
- switch to targetSdkVersion 30 (Android 11)
- added \'More > Gear icon > Now Playing > Show composer\' to control whether composer (if present) is appended to the artist field
- fixed Media Store items (local items from 'Music', 'Images', 'Video' root folders) added to
a 'Saved Playlist' not being playable
anymore after a full Media Store rescan (which can sometimes be necessary to fix Media Store
issues). This fix also makes it possible to copy such 'Saved Playlist' to another device that
has the same media files on its local storage,
and have the playlisted items play.
- fixed Qobuz and TIDAL playback possibly stopping before end of track on some renderers, especially for longer tracks
- fixed Android TV (and any device with no touch) top bar icons and 3 dot menu entries not
working anymore (regression)
- fixed downloads sometimes failing due to picking the wrong download URL
- fixed fullscreen image viewer sometimes showing low res images
- fixed volume change not working with Pyle renderers
- fixed wrong Playlist track order on Lumin and TEAC OpenHome renderers
- a few other minor fixes and tweaks
- updated some libraries used to build the app
3.5.2.2
- hotfixed wrong Playlist track order on Melco OpenHome renderers
3.5.2.1
- hotfixed failure to play Qobuz tracks to some OpenHome renderers
3.5.2
- added Library > Random albums
- added ability to share mixes from the TIDAL app to BubbleUPnP. That includes "My New
Arrivals" mixes
- added ability to export Saved Playlists to M3U8 and XSPF file formats into a selected folder. M3U8 is very
basic in term of metadata exported while XSPF (an open playlist format compatible with many
software) is more extensive.
Export is performed via the 'Export to M3U8/XSPF' action, prompting for a folder to export
to. This action is found in the relevant 3-dot menu: on a single Saved Playlist (3-dot menu
on playlist), a selection of Saved Playlists (in 'Saved Playlist' folder, long press first
playlist, tap other playlists then top 3-dot menu) or all Saved Playlists (top 3 dot menu of
'Saved Playlists' folder.
- improved loading of XSPF playlists (recognize more metadata)
- added OAuth TIDAL support to the OpenHome Local Renderer. It means that you can add TIDAL
tracks to it with another instance of BubbleUPnP (v3.5.2+) without requiring this instance
to run in the background to perform track advance. Linn Kazoo can also be used as well if
you logged first to TIDAL on the OpenHome Local Renderer, using BubbleUPnP
- added support for OpenHome renderers with TIDAL OAuth support. This includes OpenHome
renderers managed by BubbleUPnP Server 0.9-update41 (version not released yet, as of May
31th 2021) and the BubbleUPnP v3.5.2+ Local OpenHome Renderer
- sending/sharing media links from third party apps to BubbleUPnP now show the link URL as a
tappable link in the metadata dialog, allowing to reopen it in whatever app able to handle
it. This is also the case for such items previously added to a 'Saved Playlist'
- adding tracks to the Playlist for playback to an OpenHome renderer, plays the first track
immediately instead of waiting that all tracks have been added (which can be long)
- allow 'More > Gear icon > Look and Feel > More panel always visible' on more tablets
- fixed on Android 10 devices and below, an issue where tracks of local multi-disc albums in
'Library > Music' were not listed in proper order taking into account the discnumber tag (if
present)
- fixed Android Media Store scan of downloaded music on Android 11+, where only the first
downloaded track was scanned, resulting in most tracks not added to the Media Store (Library
> Music)
- fixed 'Now Playing > 3 dot menu > Shuffle Library > Albums' possibly being slow with the
'Local and Cloud' Library due to including cloud services. Now restricted to locally stored
albums
- fixed editing metadata of a Playlist tab item sometimes not not saved accross app restarts
- fixed rare issue where local tracks would not have the proper title and detected as
SHOUTcast streams
- fixed device orientation changes cancelling the "adding tracks to Playlist" action
initiated from the Library tab
- fixed Mini-Player in Library tab, sometimes not displayed when navigating back from an
album folder
- fixed crash in standalone Chromecast support on Android devices without Google Play
Services
- fixed playing 'Audio Cast' not always picking the correct stream format in 'Auto' mode,
resulting in failure to play. Affected upmpdcli based renderers in particular
- some fixes for devices with no touch support (ie Android TV)
- a few other Super Obscure(tm) minor fixes and improvements
- updated some libraries used to build the app
3.5.1.1
- hotfixed "No playable track found" error sending Qobuz tracks to Playlist
- fixed failure to load some iptv m3u playlists
3.5.1
- fixed recent failure to browse some TIDAL categories
- BubbleUPnP Server OpenHome TIDAL support stopped working due to a change in the login
procedure. Until this can be properly fixed in BubbleUPnP Server, this update fallbacks to
using non-OpenHome TIDAL support to still be able to play TIDAL to OpenHome renderers
handled by BubbleUPnP Server. The caveat is that you must keep BubbleUPnP running when
playing TIDAL tracks to such renderers
- the Local OpenHome renderer does not advertise supporting TIDAL OpenHome anymore for the
same reason than above
- added ability to do streaming over https from media servers managed by 'BubbleUPnP Server'
connected via https, in 'More > Gear icon > Internet access with BubbleUPnP Server > (Pick a
network) > https streaming'. Previously, http was always used for streaming, for broad
compatibility with renderers. To ensure this compatibility, 'Use https streaming' makes
BubbleUPnP do http to https proxying to BubbleUPnP Server, thus making the stream go through
the network connection of the Android device. This setting also applies if 'Advertise on
LAN' is enabled, when an external UPnP/DLNA Control Point browse such advertised media
server for playing to a renderer. This setting provides full end-to-end https communication
with BubbleUPnP Server, which can also be practical if BubbleUPnP Server is running behind a
reverse proxy (as there is only a single entry point: the https port of the reverse proxy)
- Qobuz: indicate tracks not streamable yet because album is not yet fully released with
"[not available]" appended to their title and filter out these unplayable tracks when
sending to Playlist tab. Previously these tracks where wrongly labeled as [Extract]
- a few other minor obscure fixes
3.5.0.1
- hotfix for broken subtitle extraction
3.5
- minimum Android version supported is now Android 5 (Lollipop)
- updated FFmpeg to v4.3.2
- fixed some devices with Chromecast built-in (such as Xiaomi Mi Smart Speaker) not playing
media at all
- fixed wrong cover (back instead of front) sometimes extracted in local music tracks when
browsing by filesystem (local and cloud)
- fixed wrong mp3 bitrate metadata extracted from local music tracks when browsing by
filesystem (local and cloud)
- fixed .aif audio files (AIFF) not listed in Library tab when browsing by filesystem (local
and cloud)
- fixed Google Drive music streaming possibly unexpectedly stopping mid-track on some
renderers
- fixed sending to Playlist mixed items types (audio and video) not filtering out video items
with an upmpdcli based renderer being the current renderer
- fixed MinimServer 3-dot menu 'Rescan Library' action not working with MinimServer 2
- fixed rare 'failure to download image' error when viewing image or album art in fullscreen
image viewer, with some media servers (Synology in particular)
- fixed failure to play gaplessy to USB Audio Player PRO when it is both the renderer and
library (workaround UAPP issue)
- fixed 'Audio Cast' settings entry (in More > gear icon) not always available even when
Xposed was installed
- a few other obscure fixes and tweaks
- updated many libraries used to build the app
3.4.18
- improved Chromecast transcoding support for 'Chromecast with Google TV' devices: do not
transcode natively supported h265 videos, nor multichannel AAC audio if
'Preserve multichannel audio' is enabled
- fixed failure to login to TIDAL on LUMIN renderers. You will need to keep BubbleUPnP
running while playing TIDAL tracks
- fixed Playlist track advance failure on Devialet renderers
- fixed Auralic Aries possibly becoming unresponsive when enqueuing Qobuz tracks
- added 'Playlist tab > 3 dot menu > Shuffle tracks' action for OpenHome renderers. When the
Playlist is in 'Album View' mode, the action is 'Shuffle albums'
- a few other minor fixes
3.4.17
- Chromecast transcoding: improved handling of unresponsive or long to analyze streams
- fixed playing tracks from the Library tab to an OpenHome renderer not refreshing technical
infos in the Now Playing tab until next track was played
- allow OpenHome TIDAL support of Lumin renderers again
- added support for opening supported playlist file formats (m3u, ...) as folders when
browsing storage cloud providers in the Library tab. This only makes sense for playlists
holding items that are http streams
3.4.16
- playing a video to Chromecast will display in the Now Playing tab whether transcoding is
perfomed, locally or remote. This indicator is displayed for audio track (in videos)
transcoding (light on CPU), video track transcoding (heavy on CPU), or both
- TIDAL OpenHome support is now only enabled for OpenHome renderers created with 'BubbleUPnP
Server'.
All other OpenHome renderers can still play TIDAL but it requires to keep BubbleUPnP running
for Playlist track advance to work while playing TIDAL tracks.
That change is caused by TIDAL login changes that made it stop working with some OpenHome
renderer's own TIDAL support
- made hiding/unhiding devices simpler in 'More > Gear icon > Hide/unhide renderers and
libraries'
- re-added in Settings scrobbling method with "WAIL Beta" app
- fast scrolling the 'Albums' folder of the 'Local and Cloud' Library with 'Sort by artist'
option enabled (top icon) now shows alphabetic indicator (artist's first letter), if there
are more than 50 albums
- fixed intermittent 'failed to upload subtitles' error sometimes displayed playing to
Chromecast
- fixed possible failure to seek in HLS streams played to Chromecast
- fixed playing h265 video to Sony Bravia TV 4K with embedded Chromecast unnecessarily
transcoding
- fixed Qobuz max available samplerate/bitdepth not always appended to track titles (when the
relevant setting is enabled in Qobuz settings)
- fixed sharing to BubbleUPnP a media link from a third party app resolving to multiple items
with an OpenHome renderer being current, resulting in items not always being added in the
proper order in the Playlist tab
- fixed charset detection not working loading local m3u playlists, possibly resulting in
failure to play. Fixed rare title parsing issue
- fixed on Android 8+ (Oreo) navigation bar not always the proper color when tabs are
disabled in Settings
- increased in Settings max possible UPnP action timeout value from 60s to 120s
- updated many libraries used to build the app
- a few other super obscure(tm) small tweaks and fixes
3.4.15.1
- fixed Chromecast local transcoding failing on some Android devices, for videos whose video
track must be transcoded (regression)
- fixed possible inability to seek in locally transcoded TS and MPEG streams played to
Chromecast
3.4.15
- removed Google Music
- several obscure fixes and minor tweaks
3.4.14
- fixed failure to play to Chromecast a few corner case videos requiring transcoding
- fixed playing OneDrive / Dropbox / TIDAL / Qobuz music tracks with a long duration possibly
stopping prematuraly on some renderers
- fixed Library search exact matches surfaced on top of results only working with the 'Local
and Cloud' library
- fixed missing items in Dropbox folders with a huge number of items
- added More > gear icon > Control > Sharing Handling > Always ask. This will always ask how
to handle the shared media, whether a media is currently playing or not
- check for app updates and propose once to do the update if app is not already up-to-date.
This happens 7 days after an update has been available. This can be disabled in About / Help
> Show app updates
- fixed playing gaplessly to the Local Renderer using JRiver Media Center for control not
working
- worked-around AdGuard causing issues with OpenHome renderers
- many other obscure fixes and small tweaks
3.4.13
- fixed crash on startup on old Sony devices running Android 5.1.1 when the license is
installed
- fixed failure to detect renderers and libraries on devices where the primary system
language is Turkish and English is not a secondary language
- TIDAL: in albums and track lists in Playlist and Library, display if they are of Master
quality with [Master] or [M] appended to the title. This does not make BubbleUPnP support
playing at Master quality (Hi-Res MQA) and FLAC 44.1 / 16 is still the maximum supported
playback quality. But it helps to choose which version to play when an album is listed both
as a regular and a master version (from which the 44.1 / 16 FLAC is generated by TIDAL) that
may sound different. You can think of it as choosing between an original recording and a
remaster. This can be disabled in 'More > gear icon > Local and Cloud > TIDAL > Show Master
indicator'
- TIDAL: in an artist folder, list favorited tracks for that artist in section "My Tracks"
- Library search exact matches are surfaced on top of results
- attempt at fixing intermittent "failed to probe Qobuz quality" error when playing Qobuz
tracks
- fixed log files not accessible on Android 11
3.4.12.1
3.4.12
- added Spanish translation
- improved media links extraction
- fixed rare case where not all media files were listed browsing a local filesystem folder in
Library
- fixed Libary folders containing mixed media items and folders not showing play and enqueue
icons in top bar (example: TIDAL > Tracks)
- a few other small minor fixes and tweaks
3.4.11
- fixed crash on app startup on Redmi devices and possibly other (non-Xiaomi) devices running
MIUI 12
- media links extraction improvements. In particular, sharing multiple items (a playlist or
album) from another app is much faster
- fixed inability to login to TIDAL and show documentation on Android 5.1 devices
- updated many libraries used to build the app
- other minor tweaks and fixes
3.4.10.1
- fixed crash on app startup on Xiaomi devices running MIUI 12 (MIUI bug)
- opensubtitles retrieval to get the subtitle list can be manually sped up by skipping the
"identifying video" step. Can be useful for video stored on slower storage (cloud)
- fixed failure to browse Qobuz on old Android versions with an OpenHome renderer active that
has native Qobuz support
- fixed possible \'no account configured\' message when sharing tracks from the Qobuz app to
BubbleUPnP with an OpenHome upmpdcli based renderer active
- a few other minor tweaks
3.4.10
- remember browse folder hierarchy of each Library, making it easier to switch back and forth
between libraries. Also applies when going back to the app after using the back button. This
is only effective for an app session (that is, until the app is exited via More > X icon or
X icon in notification)
- fixed some TuneIn stations not playing anymore
- fixed Now Playing tab sometimes not updated when playing track to OpenHome renderer from
Library tab
- fixed failure to login to Qobuz on some old Android versions
- fixed crash when sharing some specific albums from TIDAL app to BubbleUPnP
- fixed volume muted on track change on Freebox Player renderer
- fixed some SHOUTCast OGG/Opus https streams not playing on the Local Renderer
- fixed Now Playing Shuffle/Repeat toggles not always using a visible color when enabled
- fixed failure to play multi-channel LPCM transcodes to some renderers
- fixed playing transcoded audio being cut unexpectedly mid-track on some renderers
- fixed editing metadata of a 'Saved Playlist' item not reflected after exiting dialog
- display a warning dialog if app is installed on a removable SD Card rather than internal
storage
- other obscure small fixes and tweaks
3.4.9.1
- fixed intermittent failure to play Box streams
- fixed playing TIDAL videos to Local OpenHome Renderer not working
- fixed a few crashes. In particular, sharing some media from third party apps to BubbleUPnP
3.4.9
- TIDAL improvements: new web based login screen using OAuth2 allows login using: TIDAL
account, Facebook, Apple and Twitter
Revamped browse tree to be simplier and more similar to the TIDAL app. Fixed some albums not
listing all playable tracks.
Added support for intro accounts without subscription that can browse but not play.
Albums whose tracks are separated into multiple volumes are displayed as such
- added ReplayGain support to TIDAL and Qobuz. ReplayGain is enabled in Now Playing tab > 3
dot menu > ReplayGain
- fixed Qobuz/TIDAL playback issues when switching to/from OpenHome renderer to/from any
other type of renderer
- Now Playing tab now applies cover derived background color fullscreen in portrait
- added 'More > gear icon > Playlist > Show track position' for appending playlist track
position and total track count to track tiles
- fixed Chromecast displaying album artist instead of track artist for tracks having both
metadata
- fixed some YouTube videos not showing thumbnails in Playlist tab
- workaround for 'Freebox Player' renderer resetting volume after each track
- fixed playing media from Box (cloud service) failing after a while due to missing
authentication renewal
- fixed playing some Internet Radio streams to Chromecast unecessarily decoded to PCM
- fixed PS4 Media Player not listing 'Saved Playlists' tracks in correct order
- many other small obscure tweaks and fixes
3.4.8
- improved compatibility with 'Bose Home Speaker' renderers
- fixed tapping item in Playlist tab not updating cover in Now Playing tab (regression)
- fixed playing/enqueuing lots of tracks to OpenHome renderer from Library tab making user
interface unresponsive and possibly resulting in an
"App not responding" dialog. Moreover, adding tracks with a play action now plays the first
track immediately without waiting for all tracks to have been added to the Playlist tab
(which can take a while with OpenHome renderers).
- extract radio station name and genre for SHOUTcast streams added to the Playlist tab with
'Add Stream URL' or shared/sent from other apps
- fixed PS4 Media Player app not listing tracks of Media Store playlists (Music > Playlists)
in correct order
- fixed possible broken Playlist track advance on some HUAWEI devices
- fixed bookmarking a 'Music > Genre' subfolder not working
- added 2, 4, 8, 15 minutes durations for image slideshows. Useful for use as photo frame
- fixed TIDAL posibly not working with some Auralic renderers
- fixed rare occurence where the current Chromecast renderer could be lost when screen is
turned on
- removed 'Now Playing > 3-dot menu > Lyrics' as it does not work anymore with latest
Musixmatch app. The alternative is to setup its FloatingLyrics feature which works
independently of BubbleUPnP
3.4.7
- updated to targetSdkVersion 29 (Android 10) with required internal changes for Android 10
- use FFmpeg for metadata extraction in local and cloud filesystem based browsing of music
albums, adding support for more audio formats
- fixed Now Playing cover not always displayed correctly
- fixed failure to login to TIDAL on some upmpdcli based OpenHome renderers
- fixed track repeating if renderer is in a repeat track mode
- fixed local multidisc albums not listed in correct track order in 'Music > Albums'.
Metadata dialog now shows disc number if present. 'Library > track numbers' setting shows
disc number in titles if present. Track numbers < 10 are now displayed with a single digit
- fixed local AAC and ALAC files identified as MP3 instead of M4A on some Android devices
(Media Store bug), possibly resulting in failure to play
- fixed PlayStation 4 not listing AAC tracks in its Media Player app when browsing BubbleUPnP
as a media server
- fixed rare issue where local mp3 playback did not show the proper duration in the Now
Playing tab, depending on Library (seen with FRITZ!Box)
- fixed HiBy renderers not playing FLAC natively
- attempt at fixing OneDrive and Dropbox playback of some music tracks possibly stopping
unexpectedly before the end when played to some renderers
- added Google Drive shortcut support for folder and file shortcuts
- added MPEG-DASH audio support (seen with some BBC radio streams)
- when 'Playlist > Cursor follow playback' is enabled, playing item in Playlist tab is now
displayed centered in the tab. Fixes corner case where it was not always visible
- playing to a remote BubbleUPnP renderer instance does not require it to be licensed anymore
if the BubbleUPnP instance used to play to it is licensed
- improved swipe based removal of a track in a 'Saved Playlist' to prevent accidental removal
- tapping 'About/Help > Version' if licensed displays benefits of license
- updated some libraries used to build the app
- many other obscure fixes and minor tweaks
3.4.6
- fixed recent failure to login to TIDAL for some users
- fixed tapping 3-dot menu on items in non-scrolling lists sometimes triggering unwanted fast
scroll instead of displaying the menu. Note that while the scrollbar
is temporarily visible (while scrolling), it is expected that tapping along the right edge
of the screen (including 3-dot) will fast scroll
- moved 'Settings > Internet Radio > XiiaLive Control' to 'Control' settings
- added 'Settings > Individual UPnP/DLNA renderer settings > (pick renderer) > Supports
SHOUTCast' to indicate if the renderer supports playing Internet Radio using the SHOUTcast
protocol.
The default is renderer-dependent (some renderers report they support SHOUTcast, most do
not).
If this setting is enabled, the SHOUTCast stream is passed unmodified to the renderer for
playback.
Otherwise it is proxied as a regular mp3 or aac stream that has a better chance to play.
- fixed failure to play to most external renderers Radio Paradise Ogg-FLAC SHOUTcast streams
- if the Playlist tab contains videos and the 'Local Renderer' is current, display a dialog
with information about sequential local video playback not technically possible
- fixed failure to play reliably Google Music tracks on PS4 with its Media Player app
- fixed uncommon failure to login to Google Music resulting in 'could not find a registered
Google music device' error
- worked-around failure to login to TIDAL on Auralic renderers
- fixed Now Playing cover truncated is some very specific cases
- if the license has been bought from the 'Buy License' screen, it is applied immediately
after returning to BubbleUPnP from the Play Store
3.4.5.1
- fixed inability to pick srt subtitle file in file picker screen (regression)
- fixed inability to seek in streams sent from third party apps playing to Yamaha and
possibly other renderers
- fixed issue where lower part of the Now Playing cover could be cut in portrait after going
into landscape
- fixed issue where Now Playing cover was displayed too small in some cases
- fixed a few super obscure and rare crashes
3.4.5
- reduced Google Photos loading times of album list by 2-3x
- fixed failure to play Google Photos videos on some renderers
- fixed revoking Google Photos access in settings not working properly
- fixed Google Photos authentication renewal issue causing failure to browse after many days
- changed Image Viewer timings in seconds for slideshows by 'Fastest', 'Fastest+1s', etc.
'Fastest' will be faster than previous fastest choice
- added 3-dot menu action 'Choose subtitles files (SRT)' on videos items in Playlist and
Library tab, for associating a local srt subtitle file to the video
- fixed on Android 10 no thumbnails displayed for local video and image items (via 'Images'
and 'Video' subfolders)
- improved quality of local Chromecast transcoding on modern devices while reducing CPU usage
(which can still be very high depending on video)
- added 'More > gear icon > Chromecast Transcoding > Force video transcode' for local
transcoding
- fixed failure to play to Chromecast some h264 videos requiring transcoding
- fixed Chromecast track advance not working on Huawei devices running Android Oreo
- fixed playing Google Music tracks longer than 10 minutes stopping unexpectedly before the
end on some renderers
- fixed Google Music 'Recent Stations' folders not listing most recent stations first if
there were more than 1000 entries
- fixed tracks of local albums in 'Music > Albums' not listed in correct track number order
on some devices
- worked-around failure to login to TIDAL on Auralic Aries renderer. Requires to leave
BubbleUPnP running during playback
- fixed browsing Fritz!Box Media Server possibly not displaying all items
- fixed custom language set in settings not applying to some strings
- other obscure minor tweaks and fixes
3.4.4.1
- on devices prior to Android 4.4 (KitKat), fixed inability to browse 'Local and Cloud'
library (regression)
3.4.4
- added ability to change the app language independently of system language in 'More > Gear
icon > Look and Feel > Language'
- fixed inability to browse USB OTG storage on Android 10 devices and Android TV devices
- fixed USB OTG storage sometimes improperly labelled 'External SD Card'
- fixed limitation of 5000 items browsing JPLAY FemtoServer
- fixed Sleep Timer not working when: playing to an OpenHome renderer, screen is off, 'play
until end of track' is enabled, 'battery saving mode' is enabled
- fixed NAD renderers not playing FLAC and WAV without having to disable 'mime-type check'
- fixed playing to Chromecast v1 a video with PCM 24-bit audio not playing properly (white
noise)
3.4.3
- added German translation
- fixed Google Music station order, now listed from most recent to least recent. Renamed
folder to 'Recent stations'
- fixed failure to play DSD audio files from Google Drive (and possibly other obscure audio
formats)
- on Android 4.x, fixed crash when using 'View on IMDb' action on video and logging to
Dropbox
- fixed a few rare crashes
3.4.2
- added export/import of app settings and Saved Playlists in 'More > Export / Import'.
Data is exported/imported to/from a single archive file (zip) stored either on local storage
or Google Drive (requires the Google Drive app to be installed
with an account logged in). It is also posible to import from another running BubbleUPnP
instance on the local network.
The exported settings do not contain device specific settings nor any cloud service
credentials.
- fixed Google Drive streaming not working anymore due to recent API change
- on ChromeOS, fixed failure to play streams managed by the 'Local and Cloud' Library
(regression)
- fixed only first 10 Google Drive 'Shared Drives' being listed. Now the maximum is 100
- fixed intermittent Playlist track advance failure when playing to Windows Media Player
renderer
- fixed some Cambridge Audio renderers listing some obscure audio codecs they do not support
(and thus failing to play)
- fixed possible failure to play media from Google Drive after 1h of continuous playback
- fixed Qobuz/TIDAL FLAC playback being played as MP3/AAC on renderers not supporting FLAC.
Now BubbleUPnP
sends the FLAC stream decoded as PCM (with no loss of quality) to such renderers (example:
LG TV) unless
FFMpeg decoding has been disabled for the renderer in its settings (in which case it will
fallback to MP3/AAC)
- Fixed Qobuz/TIDAL not playing as FLAC on Yamaha renderers
- fixed upmpdcli renderer promoted to OpenHome renderer with BubbleUPnP Server not using
BubbleUPnP Server audio quality settings
for Qobuz/TIDAL
- fixed failure to save downloaded subtitle file on external SD card on some devices
- fixed downloading a track without album and album artist in metadata resulting in file
downloaded in "-" subfolder.
Now downloads such tracks in 'Unknown' subfolder
- fixed 'Control > Lock-screen background album art' not taking effect at next item played
- fixed 'Extract embedded subtitles' action not available in 3-dot menu of WEBM videos
- fixed scrolling device lists in (optional) Devices tab for making all devices accessible
- fixed Local Renderer and Local Media Server unique device identifiers (UDN) that could
change after an Android system update
- fixed Audio Cast xposed module not recognized if using Yahfa instead of Sandhook (EdXposed)
- other minor fixes
3.4.1
- added ability to sort local photos from newest to oldest in Library
- added ability for Yatse app (Kodi remote) to make use of BubbleUPnP's transcoding features
for Yatse to play to Chromecast non natively supported media. Requires BubbleUPnP License
and Yaste License for full functionality (otherwise, limited demo mode)
- fixed failure to play to Chromecast some HLS streams as well as Radio Paradise Ogg-FLAC
stream
- fixed 'Qobuz > (genre) > Qobuz Playlists' folder not listing playlists for just the
selected genre
- fixed possible failure to play some media on certain rare network setups
- fixed clearing Playlist tab not stopping playback on Chromecast and Fire TV
- fixed sharing from SoundCloud not working anymore
- fixed subtitle dialogs sometimes not showing all content or with buttons not shown
- possibly fixed failure to play from Google Drive after some time the had been started
- moved Audio Cast Xposed module to an external APK module that must be downloaded from
Xposed Installer or EdXposed Manager
3.4
- removed Amazon Cloud Drive support as Amazon has entirely stopped providing access to it to
third party apps
- added ability to extract embedded subtitles in MKV/MP4/MOV to srt file. Only embedded
subtitles stored in textual form can be extracted (image based subs are not supported).
Extracted subtitles are automatically associated to the video. Can be used as a general
utility, or to play the video to a renderer supporting srt subtitles.
To extract subtitles, use 3-dot menu on a supported video in Playlist and Library tabs. It
can also be performed from the Now Playing tab using the 'speech bubble' icon
- added 'Shared Drives' support to Google Drive
- added ability to display Now Playing seekbar position handle (More > gear icon > Now
Playing > Show playback pos. handle (seekbar))
- added 'TIDAL > Artists > (artist) > My Albums' section, listing favorited albums for the
selected artist
- improved compatibility with Radio Paradise Ogg-FLAC streams for playback to external
renderers
- fixed issue where seeking in some transcoded Chromecast videos did not work
- fixed 'failed to upload subtitles' error on Android 10 when playing to Chromecast
- fixed failure on Android 10 to play to Chromecast some videos (mostly from cloud) requiring
transcoding
- fixed issue where previously sent/shared media to BubbleUPnP were re-added to the Playlist
in certain cases
- fixed low resolution album art in 4x4 widget
- fixed failure to play Qobuz track extracts, causing Playlist track advance to stop
- fixed Audio Cast (Xposed module) not working properly on most Android Pie devices
- updated FFmpeg to the latest version (4.2.1)
- other small tweaks and obscure fixes
3.3.5.1
- hotfixed couple of crashes introduced in 3.3.5
- fixed Chromecast not transcoding unsupported music audio formats (WMA, ALAC, ...) anymore
nor applying ReplayGain if enabled (regression from v3.3.3)
- fixed 'Now Playing > 3-dot menu > Lyrics' crashing if Musixmatch app is installed
3.3.5
- added Library Search support for cloud storage services: Google Drive, OneDrive, Dropbox,
Box. When you initiate a search in the 'Local and Cloud' library, you will now see results
for folders, tracks and videos whose title contain the search term, for all the services
that you have enabled
- fixed 'Music > Artists' subfolders showing empty album folders on Android 10
- fixed a few corner-case issues sharing media from third party apps to BubbleUPnP that
resulted in media not playing
- fixed playing Qobuz to upmpdcli OpenHome based renderers (including some hardware
renderers) not working anymore.
Note that although the renderer is OpenHome, you will need to leave BubbleUPnP running while
Qobuz tracks are played.
- fixed adding TIDAL and Qobuz tracks to OpenHome renderers not supporting these services via
OpenHome being very slow
- fixed image sharing (3 dot menu > Share) to share image content instead of image URL,
suitable for attaching images in e-mails, upload to cloud services, etc
- fixed a few Audio Cast (Xposed module) issues and improvement to support more apps
- fixed 'Add to Android Library' feature of 'Internet access with BubbleUPnP Server' not
working on recent Android versions
- many other small fixes and tweaks
- updated some libraries used to build the app
3.3.4
- added Portuguese translation
- fixed local music album folders in 'Library > Music' not showing thumbnails on Android 10
- fixed 'Audio Cast' Xposed module not working with EdXposed. This brings 'Audio Cast'
support to Android Pie
- fixed a few 'Audio Cast' issues
- Library Search: selecting a previous search term in the dropdown menu does not immediately
start the search but fill the search text field
with the selected term, allowing to edit it prior to starting the search
- fixed 'More' menu theming issues on 10" tablets (or large free form window)
- re-added ability to override the 'Now Playing' tab theme in 'More > gear icon > Look and
Feel > Now Playing tab theme'
- fixed 'Share' action not working in 3-dot menu of images in Library. Added Share action to
fullscreen image viewer
- fixed crash sharing some specific Qobuz albums from the Qobuz app to BubbleUPnP
- fixed sharing media store items from other apps to BubbleUPnP not working on some devices
(mainly Samsung)
- moved scrobbling setting Settings to 'Control > Scrobbling Method'
- other minor tweaks
- stability fixes
3.3.3
- Qobuz enhancements:
- classical music albums are displayed splitted by "work" (if available). Track
metadata displays "Work" field
- track titles contain "version" if applicable (eg remix, live, etc)
- Now Playing tab and metadata dialog display Composer field
- display Hi-Res info in albums and tracks titles only if it is effectively
streamable in Hi-Res
- added 'More > gear icon > Local Renderer > Disable notification sounds' to disable
notification sounds during playback (instead of ducking playing audio)
- 'More > gear icon > Chromecast transcoding > Preserve multi-channel audio' is available
again due to fixed Chromecast firmware making it work properly
- fixed failure to load some external sd card bookmarked folders
- added 'More > gear icon > Library > Fast scroll min item count'
- fixed 'failed to convert subtitle' error on Android 10
- fixed rare failure to play FLAC locally
- fixed crash when exiting app on OnePlus running Pie
- various stability fixes and other minor fixes and tweaks
3.3.2
- in Library folders with more than 50 items that are alphabetically sorted, fast scrolling
shows letter sections
- fixed failure to browse some external SD Card folders with specific content
- fixed failure to browse bookmarked folders pointing to an external SD Card folder
- fixed redundant "External SD Card" and "SD Card" folders being listed in Library on some
devices (notably: Samsung)
- fixed Qobuz 'Similar Artists' folder not working anymore
- fixed Qobuz favorite artists folder not sorted by date favorited (most recent first)
- fixed failure to login to Google Music for some users [regression]
- fixed Google Music 'Thumbs up' and 'Last added' folders not properly sorted in reverse
chronological order (newest first)
- fixed notification not displayed properly on HTC devices running Android Pie
- fixed exiting app from notification not working properly if app is displaying a deep
settings screen
- many minor tweaks and fixes, including stability fixes (crashes and freezes)
3.3.1
- local filesystem browsing (Internal Storage, External SD Card, USB OTG) is now available
to all users (does not require license)
- more lenient license verification to workaround manufacturer specific issues that
could result in license verification failure
- revamped "Buy License" screen and flow
- new "Follow system theme" option for app theme: honors the system "light" or "dark"
theme (tested on Samsung's One UI and Android Q). The actual "light" and "dark" themes used
can be configured in 'Settings > Look and Feel > Follow system theme' section
- tweaks for playing nice with Android Q gestural navigation
- added Settings > E-mail tech support
- added Settings > Rate app
- improved accessibility, adding missing text labels to editable text fields and description
of images/icons
- stability fixes including: rare lockup with Chromecast, rare crash caused by FireTV
presence on the network, and more
- removed limitation in free version of playback to remote renderer of a maximum of 16 Google
Music and Dropbox items. Now unlimited
- removed 'Settings > Chromecast Transcoding > Preserve multi-channel audio' as it does not
currently work due to Chromecast firmware bug with Opus multichannel
- removed ability to set individual theme for navigation drawer, tabs, Playlist tab
- fixed many Qobuz folders limited to a maximum of 500 items. The new limit is 2000
- fixed Local Media Server and Local Renderer disappearance not anounced on the network on
app exit (was problematic mainly for PS4) [regression]
- fixed failure to stream some specific mp4 videos from Google Drive / Google Photos
- fixed issue on some locales to display local music genre folders in Library
- fixed failure on some locales to extract embedded subtitles with BubbleUPnP Server for
playing to Chromecast
- fixed Audio Cast Xposed module not working on Android 4.x
- other minor tweaks and fixes
- updated some libraries used to build the app
3.2.6
- adaptive icon
- removed GET_ACCOUNTS and MANAGE_ACCOUNTS permissions not needed anymore
- improved app stability
- fixed issues when screen if off on Huawei devices
- Added Settings > Disable Doze
- display proper license whitelisting instructions on Samsung devices running Android Pie
- fixed resuming video/track not working if app is not in the foreground
- updated libraries used to build the app
3.2.5
- fixed Android Q issues
- fixed possible issues with 'Battery saving mode' enabled when resuming from deep sleep:
- OpenHome renderers losing playback state and Playlist content
- UPnP AV renderers not having up-to-date volume
- UPnP AV renderers with 'Use eventing' enabled losing ability to perform Playlist
track advance
- fixed widgets not resizable full width on some devices
- fixed Google Photos not working on Android 4.x
- added ability to rename Bookmarks: in the Bookmarks folder, 3-dot menu on Bookmark > Rename
- added 'Play Next' action to 3-dot menu of items in the Playlist tab, moving the item just
next to the playing item
- playing item title in Playlist is colored in blue
- fixed 'Smart Sort' not sorting by tracknumber inferred album folders whose tracks do not
have an album tag
- fixed changing 'Renderer polling time' setting not being applied until restarting the app
- updated many librairies used to build the app
3.2.4
- improvements browsing BubbleUPnP (as a media server) from Samsung TV:
- show thumbnails when browsing
- show full cover when track is playing
- preserve proper order for albums and playlist folders
- ability to browse Qobuz and TIDAL
- improved loading times for cloud folders
- added support for direct playback of Shoutcast streams on Chromecast, allowing to exit the
app and have the stream still playing
- added ability to bookmark cloud storage folders (except Qobuz and TIDAL)
- improved sorting of 'Google Music > Tracks' folder (need Sync to take effect)
- fixed sending local media from some third party apps resulting in media not always playing,
especially enqueued media
- fixed possible inability to change volume when switching from a Chromecast to another
Chromecast
- fixed Now Playing's repeat/shuffle enabled status sometimes not properly shown in landscape
- automatically disable 'Battery saving mode' if 'Enable remote browsing' is enabled (as it
is not compatible with that feature)
- renamed 'Bookmark' 3-dot menu action to 'Add to bookmarks'
- targetSdkVersion 28 (Android Pie)
- other minor tweaks and fixes
3.2.3
- added Google Photos > Recent
- added Settings > Look and Feel > Show Devices tab
- fixed Playlist track advance broken on some renderers slow to respond (regression)
- attempt at making track advance work on Bose renderers using a workaround
- show Play/Enqueue button in Library folders containing mixed folders + tracks
- fixed TuneIn playback
- fixed status bar being colored in Now Playing and Library if 'Color art mode is disabled'
on non tall devices
- fixed rare crashes
3.2.2.1
- access Google Photos with the Google Photos API to replace the old Picasa Web Albums API
soon to be retired. Added ability to choose photo resolution (Original, 4K, 1080p, 720p) in
Settings > Local and Cloud > Google Photos. Lower
resolution improve loading times
- added 'My Mixes' support to TIDAL
- added 'Tracks by "artist"...' to 3-dot menu of tracks and albums in Library, Playlist and
Now Playing
- added ability to show the Stop button in Now Playing with 'Settings > Now Playing > Show
Stop Button'
- display renderer name in Now Playing in the top bar if present
- display renderer volume in Now Playing
- reduced font size on tablets for album headers in Library and Playlist (Album view mode).
Increased grid cell spacing
- tapping thumbnail in metadata dialog shows cover fullscreen
- added ability to remove Qobuz/TIDAL favorited album from the 3-dot menu of the album in
Library
- Chromecast transcoding: if both 'Preserve multi-channel' and '(E)AC3 passthrough' are
enabled, transcode multi-channel (eg DTS) to AC3 or EAC3 so it can benefit from passthrough
- on non-touch devices running pre-Oreo (eg old Android TV) where the bottom navigation bar
is not accessible with D-PAD, make it possible to access Settings via a 3-dot menu entry of
Playlist and Library tabs
- improved loading times of large Google Drive folders containing videos
- improved app stability when running in 'battery saving mode'
- fixed the rare corner case where a media server would not be detected if it was part of a
single UPnP device bearing both a renderer and a renderer and a media server (eg Cambridge
CXN)
- fixed some files not listed in Google Drive folders if their filename do not have a file
extension
- fixed status bar color when the More menu is always expanded on 10" tablets and large
window size
- fixed intermittent crash after login to opensubtitles.org with a username
- fixed crash on Android 4.1.x if the Local OpenHome renderer is started
- fixed local renderer and media server losing their unique device number (UDN) on some
Android devices, resulting
in losing their configuration and generating a large number of entries in other systems
caching devices (eg Windows, UPnP software, ...)
- fixed subtitles associated to video stored on cloud service not showing up when played to
Samsung TV
- fixed 'Now Playing' tab label truncated to 'Now' if system font size is increased from
default by user
- fixed SET_RENDERER intent not working with 'Local Renderer' and some renderers whose
display name is not their friendly name
- fixed crash selecting the OpenHome specific 'Songcast' action in the Now Playing 3-dot menu
- worked-around rare case where an album folder has a cover but not its tracks (fixes UAPP)
- attempt at fixing a rare OnePlus specific crash
- other obscure fixes and tweaks
3.2.1
- when connected to a playing Chromecast, do not stop playback when switching to another
renderer
- fixed subtitle and other icons missing in Now Playing tab when playing a video, on some
devices
- fixed starting app (especially from widget) possibly resulting in a blank Now Playing tab
for a few seconds
- fixed widgets sometimes being entirely white
- fixed widgets failing to update on some devices
- fixed 'Shuffle Play' action in Library not working
- fixed occasional crash in multi-window mode when resizing window
- fixed obscure OneDrive crashes
3.2
- fixed OneDrive not working anymore
- added support for native local playback (no use of FFmpeg) of WMA, DSD and APE on devices
that supports them (recent Samsung devices mostly)
- added Playlist tab > 3 dot menu > Search Playlist. Searches the Playlist for the first item
containing the search term in title, album or artist (configurable)
- added TIDAL track radio support. Go to 3-dot menu of a TIDAL track in Now Playing, Playlist
or Library and choose 'Play TIDAL track radio'. This populates the Playlist tab with 100
radio tracks and starts playback of the first track
- added ability to add Qobuz/TIDAL tracks to favorites from Now playing and Playlist tabs
(via 3-dot menu on track)
- added 'Settings > Having app issues when screen is off ?'. This shows instructions on how
to solve screen off issues
- changed the black theme to use a dark gray background for dialogs and menus for better
visibility. Old black theme is still available and now labeled 'Pitch Black'
- after 3 app runs after initial install (or immediately on upgrade) propose to enable
'Battery saving mode' with a popup and a link to explanations
- moved 'Battery saving mode' toggle from device chooser dialogs to the main app settings
screen
- fixed notification not showing properly on Xiaomi devices (Xiaomi bug). The fix makes it
not possible to display the X button in the notification
- fixed various small UI issues and inconsistencies regarding coloring and layouting
- possibly fixed Chromecast disconnected when screen goes off => on, on some devices
(OnePlus)
- limit Chromecast title to 40 chars to workaround NVIDIA Shield shifting video position
- fixed some Xiaomi devices failing local playback of FLAC
- fixed Box SSO login not working
- on Chromecast v1 and v2 do not force transcoding for h264 profile level greater than 4.1 as
these are now supported by firmware
- fixed MX Player resume popup that may appear unexpectedly when initiating playback from a
remote Control Point
- fixed 'Local renderer' and 'Local media server' not always listed in first position in
device chooser lists
- fixed standalone Google Cast discovery (only running on devices without Google Play
Services) crashing app randomly after a while. Fixed discovered devices being removed after
a few minutes
- fixed playing Qobuz 24-bit tracks to Chromecast showing wrongly 16-bit in Now Playing
screen (display bug only)
- fixed failure to play 'BubbleUPnP Server' managed streams stored in Saved Playlists after a
'BubbleUPnP Server' reinstall
- increased Now Playing cover quality when retrieved from remote networks managed by
'BubbleUPnP Server'
- added extras to standard app launch Intent to display the renderer chooser dialog on
startup. See updated Settings > About/Help > tips
- updated many libraries used to build the app
- many other obscure fixes and tweaks
3.1.2
- dark splash screen on startup
- UI improvements for tablets and Chrome OS: bigger fonts and playback buttons, layout tweaks
- improved experience on first launch, highlighting important elements on each tab
- added 'Settings > Look and feel > Bottom tabs > Enabled, icons only'. 'Icons only' is also
automatically applied to phones in landscape to save vertical height
- added 'Settings > Look and feel > Hide bottom tabs on scroll down'. Default to enabled on
phone, disabled on tablets
- added 'Settings > Look and Feel > Text size' for adjusting text size in lists and grids
- added 'Play tapped item next' to 'Settings > Library > Item tap action'
- added toggles in Settings > Library' to enable/disable all virtual folders individually
- Library: added sort options to any folder containing a list of music tracks, including
'Saved Playlists'
- Library: sort icon turns blue if sort order is different than 'default sort'
- Library: fixed album folders missing album header (and Play button) if it contained only
folders (MinimServer specific)
- Library: grids use up to 2 lines of text for item titles
- Library Search: show item count in title of each folder
- 'Settings > Local renderer > Unplug headset stops playback' is now 'Unplug headset pauses
playback'
- added support for Chromecast device detection on VPN with multicast support (OpenVPN). Need
to be explicitly enabled in Settings > Control > VPN Google Cast support
- fixed volume Toast not showing properly on Oreo+
- fixed volume Toast sometimes crashing on Android Pie
- fixed Now Playing tab sometimes not properly restored (blank) on screen orientation changes
- fixed app restart not working when 'Look and feel' settings were changed from 'More > Theme
icon > More theme settings...'
- fixed elapsed time displayed in Sleep Timer dialog (after a sleep timer is started) showing
incorrect values
- fixed failure to browse many folders in Library if Android language is set to Turkish or
Azerbaijani
- fixed playback on Chromecast stopping when screen goes off => on, on some devices
- fixed Audio Cast failure on some Nougat+ ROMs
- fixed on Oreo+ tapping widget cover not starting app (when not already started)
- fixed status bar icons not visible in Now Playing on some specific Settings combinations
- fixed startup crash on Amazon devices running FireOS 5.1.1
- other fixes and tweaks
3.1.1
- Hotfix: fixed crash on app startup on some devices
3.1
- made item selection background in list and grids more visible in dark and black themes
- shows more metadata in album headers in Playlist tab 'Album View' mode
- added 'Setttings > Library > Show composer in album lists'
- in Library grid views, use up to 2 lines for item titles
- in Library grid views with separator cells (for example: year), fixed sizing issue causing
missing text for some cells
- added 'Settings > Control > Remove from Recent Apps' to control the behavior of removing
BubbleUPnP from the Recent Apps list.
Choice are 'Always exit app', 'Never Exit app' and 'Exit app only if idle'. The last choice
is the default with BubbleUPnP exiting only
if it is not actively working (controlling a renderer, serving content, downloads, ...)
- fixed going back to a parent folder in Library sometimes not restoring previous list
position correctly
- fixed 'Settings > Library > Play displays now playing' sometimes causing album art to not
display after a playback action triggered in the Library tab
- fixed too small pre-buferring of local playback of Internet radio streams, possibly causing
audio dropouts in spotty network conditions
- fixed swiping side drawer soon after app startup showing delayed toolbar
- fixed notification exit button (X) not exiting BubbleUPnP if its last screen (whether
visible or not) was some Settings screen or the image viewer. This also
prevented 'Kill on inactivity' to work if at the time it kicks in BubbleUPnP was on such
screen
- On Oreo 8.0, fixed dark notification ('Settings > Look and feel > Dark notification')
unreadable text when 'Settings > Control > Exit (X) button' is enabled
- made current active device more visible in device selection bottom sheets
- in Now Playing, use up to 2 lines to display combined "artist | composer"
- in Now Playing, show a Snackbar message to mention that Stop can be performed by
long-pressing the Pause button
- Show optional confirmation dialog when exiting app (X icon in side drawer). Can be changed
in Settings > Control > Confirm app exit
- updated Amazon Fling SDK to latest version (1.3.5)
- fixed crash in Library when switching to grid view while scrolling
- fixed several other rare and obscure crashes
3.0
UI refresh
Inspired from Material Theming for a fresh and cleaner new look while remaining familiar.
- new accent color
- Material Design icons
- optimized for bottom navigation
- new bottom navigation bar
- easier device selection with floating action buttons
- cleaner layouts: spacing, fonts
- top and bottom bars autohide on scrolling down
- new notifications using standard Android templates
- simplified navigation drawer
- better use of 18:9 screens
- many popup dialogs replaced with bottom sheets
- new fully white and fully black themes. Improved other themes. Fast theme switcher
- pre-Lollipop devices get most of new UI
- and more !
Highlights
- optimizations across the board: app startup time, UI responsiveness, CPU usage, battery
usage (details)
- new battery saving mode can be toggled on/off in device chooser dialogs
- proper Android TV support: added launcher icon, fixed D-PAD navigation, fixed missing top
bar, fixed unusuable image viewer
- bookmarks overhaul, now listed as flat list
Changes
- added Admob Consent SDK (GDPR). Shown when entering the Library tab for the first time in
free version. Consent status can be changed afterwards in Settings > About / Help > Reset
ads consent
- added specific warning dialog on first app startup on HUAWEI devices about HUAWEI specific
battery optimization interfering with app for proper operation when screen is off
- search UPnP/DLNA devices on localhost network interface (127.0.0.1)
- allow to browse the 500 more recent Qobuz featured Playlists (previously: 100)
- 'Settings > Internet access with BubbleUPnP Server > Music playback trancoding' settings
now apply to all renderers (previously it only applied to local music playback, eg to the
local renderer.
There is a new 'Max bitrate (external renderers)' applying to playback to external renderer
which may have a faster connection to the Internet than the Android device.
- in Playlist tab, added 3-dot menu 'Download' action to items and albums (in album view)
- improved 'buy license' dialogs text
- notification: Exit (X) button can be disabled in Settings > Control > Exit (X) button.
- "Clear playlist" action in Playlist tab has a toggle do disable popup. Can be reverted in
Settings > Playlist
- added Settings > Now Playing > Show remaining time. If disabled, show track duration
- Playlist tab: total item count and duration are displayed in top bar
- Library tab: don't entirely fail if there's a failure to load a single folder in a
selection of multiple folders (example: TIDAL album favorite giving a 404)
- Library tab: Bookmarks and 'Saved Playlists' root folder: if folder is empty display empty
list icon + instructions for adding bookmarks / create Saved Playlists
- Library tab: ability to enable/disable listed cloud providers with +/- button
- Library tab: display empty icon + text in an empty folder
- 'Saved Playlists' can be accessed as a list from the "More..." side menu
- Now Playing tab: dragging seek slider shows drag handle during drag
- minimum supported version upped from Android ICS (4.0) to Jelly Bean (4.1)
Fixes
- fixed ReplayGain setting not being applied at all in all cases
- fixed local renderer not playing OPUS on pre-Marshmallow devices (via FFmpeg)
- fixed local renderer seeking in 24-bit WAV generated by FFmpeg possibly resulting in white
noise
- fixed 'Kill on inactivity' not working in some usage scenarios
- fixed and improved layouts for super small window sizes: split screen on phones on Nougat+
- fixed playing to an OpenHome renderer preventing 'Kill on inactivity' to kick in
- pausing playback on a non-OpenHome renderer timeouts (stops playback) after 30 minutes for
allowing 'Kill on inactivity' to possibly kick in
- fixed some Sony BDP renderers not always playing next track in Playlist
- fixed Library tab Download action not present in 3-dot menu of most folders, not present in
3-dot menu of topbar in normal and multiple selection mode.
To prevent accidently downloading a super huge number of items recusively, Hitting '3-dot
menu > Download' shows a confirmation popup if the current folder has subfolders or more
than 50 items
- fixed Audio Cast Xposed module failing to load on some devices
- fixed XiiaLive integration not working on Oreo
- fixed license app installed causing package name to be used instead of app name in
'Settings > Network & Internet > Data usage > Wifi data usage'
- fixed reconnecting to Chromecast not reconnecting to eventual existing session
- fixed HEOS library listed twice
- fixed obscure Library search track title bug where if there was 2 tracks as result, first
one was removed
- fixed removing app from recents apps (X button) not stopping the service and exit the app
cleanly
- fixed SoundCloud media link extraction not working on lower than Android Nougat
- fixed 'Settings > Playlist > Cursor follows playback' not working properly
- fixed local renderer not playing OPUS on pre-Marshmallow devices (via FFmpeg)
- fixed many ANRs
- other super obscure fixes(tm)
2.9.4
- on Marshmallow+, permission WRITE_EXTERNAL_STORAGE (which implies READ_EXTERNAL_STORAGE)
previously mandatory and
requested on first app run is not mandatory anymore to use the app and now requested only
when a feature requires it:
accessing the Android media store (read), browsing the local filesystem (read), Downloading
on internal storage (write) and more.
This change is effective on new installs. On app updates this permission is already granted
but you can manually disable it if you do not need it in Android Settings > Apps >
BubbleUPnP > Permissions > Storage
- app now targets Oreo 8.1 (API 27) with some changes taking into account Oreo behavior
- on Oreo, permission GET_ACCOUNTS is not requested anymore to enumerate Google Accounts for
accessing Google Music, Google Drive and Google Photos, since it is not necessary
- some data (downloaded subtitles, Google Music metadata, BubbleUPnP Server music track
caching) is not stored in the "BubbleUPnP" root folder on internal storage anymore but
stored in the app specific folder (this data is now deleted on app uninstall). On app
upgrade to this version, this data is moved to the relevant new folders
- changed downloads default folder: now use system default public folders for music, movies
and images instead of "BubbleUPnP" folder at the root of internal storage.
- On Marshmallow+, subtitles retrieved with OpenSubtitles are part of app backup/restore (if
enabled system wide)
- in Now Playing, notification and widgets, changed behaviour of the prev button to be more
in line with other audio players.
Tapping this button if a track is playing go back to the beggining of the current track if
at least 5s has been played from the beginning (otherwise it plays previous track). If it is
tapped again within 5s it goes to previous track and play it.
Tapping this button if track is paused or stopped will go to previous track without playing
it
- local playback: if playback fails using Android stock audio decoders, attempt again using
FFmpeg decoding. This fixes in particular playback of FLAC with id3v2 tags which is non
standard and not supported by Android.
- local playback: fixed some SHOUTcast streams not identified as such resulting either in
failing to play entirely, or taking a long time to play
- fixed Download notification not updating properly on Nougat+
- downloading a folder that is not explicitely a music album but contains audio tracks will
now download each track
in its own album sub-folder (when 'Settings > Download > Preserve folder structure' is
disabled)
- fixed donwloading media link extraction support files failing on some devices
- fixed (for good this time) inability to seek in some videos on Chromecast
- Using a Qobuz Sublime subscription, it is possible to display samplerate/bitdepth for hires
albums and track titles, for quick identification of hires material in lists and grids. For
this to work, a Qobuz Sublime subscription is required, 'Settings > Local and Cloud > Qobuz
> Audio Quality' must be above 44.1 kHz / 16 bit (it's not by default) and 'Settings > Qobuz
> Local and Cloud > Show Hires Info' must be enabled (it is by default)
- in Now Playing, added '3-dot menu > Booklet' when current item is audio. This allows to
open a PDF album booklet stored in Documents/BubbleUPnP/booklets following certain naming
convention (use this option for details)
- Caching music tracks streaming from media servers wrapped by BubbleUPnP Server now caches
lossless tracks such as FLAC (previously it was limited to lossy tracks). Default cache size
is increased from 500MB to 2GB
- On Nexus Player, the navigation drawer menu is always expanded to workaround specific
platform bug, which at least allow to access settings.
Most top level 3-dot menus are still missing due to the same platform bug. Not using a mouse
(or emulated pointer) is still problematic and suboptimal.
- removed collecting anonymous app usage analytics
- removed Settings > Invite a friend
- a few other obscure changes and tweaks
2.9.3
- added a separate setting for E-AC-3 passthrough in Settings > Chromecast transcoding.
Useful if you have an AC-3 decoder not supporting E-AC-3 decoding.
When using BubbleUPnP Server for transcoding, v0.9-update30 is needed for that setting to be
available
- fixed seeking not available when playing some videos to Chromecast
- fixed failure to play local files whose path contained unicode supplementary characters
(Emoji, mostly)
- fixed failure to play DSD on some renderers
- fixed issue where playing to Neutron renderer running locally (and possibly other
non-BubbleUPnP renderers running locally) would always pause audio after 2s
- fixed a rare issue where playing to a renderer could fail or an alternate audio format
would be played
- fixed a rare issue where local audio playback could be interrupted after 20s
- added the ability for an OpenHome renderer that is also a Songcast receiver to play from
any Songcast sender detected on the network, via Now Playing > 3-dot menu > Songcast
- fixed a few obscure crashes
2.9.2
- BubbleUPnP Server 0.9-update28 released. Changelog
- support for FFmpeg PCM audio decoding offloaded to BubbleUPnP Server 0.9-update28+ for
playback to external UPnP/AV renderers.
This is the default if such version of BubbleUPnP Server is found on the local network.
Offloading reduces app CPU usage when FFmpeg decoding is involved, as well as possibly
take advantage of BubbleUPnP Server's wired connection to the network.
This can be disabled in 'Settings > UPnP Tweaks > BubbleUPnP Server FFmpeg decoding' to use
local decoding instead.
When a track is playing and BubbleUPnP Server is performing FFmpeg audio decoding,
the Now Playing screen indicates it with 'FFmpeg (remote)'.
Moreover, 'Settings > Individual UPnP/DLNA renderer > (pick renderer) > FFmpeg audio
decoding'
indicates if BubbleUPnP Server is used for decoding or if decoding is performed locally by
the Android device.
- fixed possible stuttering playing to Chromecast some videos requiring audio transcoding
- fixed Playlist track and video advance playing to Chromecast not always working
- in Now Playing tab album view mode, fixed long track titles and track artist possibly
displayed trunctated
- on Android Oreo 8.1, fixed notification not properly updated after using notification
volume buttons
- new UPnP/DLNA renderers defaults settings for FFmpeg PCM audio decoding (only on new
installs, newly discovered renderers or preference page reset):
max supported samplerate: 192 kHz, do not downmix multichannel to stereo nor convert 24 bit
audio to 16 bit.
- many other obscure tweaks and fixes
2.9.1
- fixed several issues related to FFmpeg, that could result in audio not playing and/or
various toast error messages
- added better defaults for 'Max samplerate' and 'Convert-24 bit to 16-bit' settings for many
popular renderers
- 'Settings > Chromecast Transcoding > Preserve multi-channel audio' can be used again with
new Chromecast firmware 1.30.x
- 'Settings > Chromecast Transcoding > AC-3 passthrough' now also applies to E-AC-3 (Dolby
Digital Plus) when local transcoding is used (BubbleUPnP Server will need an update)
- fixed failure to perform local Chromecast transcoding of some TS streams (mostly iptv). It
still will not work with these unusuable iptv TS streams requiring looping for playing for
more than 30s
- fixed Denon HEOS renderers listed twice
- fixed bottom part of the (dark) transparent navigation drawer being opaque
- BubbleUPnP Server settings are now in 'Settings > Internet access with BubbleUPnP Server',
with some minor changes
and updated text and screens that honor current theme
- check that the installed APK matches the device's best ABI and display a warning if not the
case, with the ability to install the better version. Can only possibly happen when
installing BubbleUPnP by sideloading the APK
- many other obscure improvements, tweaks and fixes
2.9
Playback support for most audio formats and codecs, ReplayGain support
BubbleUPnP now integrates FFmpeg for audio decoding, making it possible to play (almost) any
audio format/codec to any renderer. This only applies to standalone audio tracks, not to audio
in videos:
- local playback: support for playing audio not natively supported by Android (ALAC, WMA,
DSD, AIFF and more). Supports gapless and 24-bit for ALAC
- local playback: replace Android stock audio decoders to workaround some Android bugs
(notably FLAC on some devices)
- remote playback: support for playing audio not natively supported by renderers
- remote playback: enforce renderer specific restrictions in term of max samplerate
supported, multichannel support, 24-bit support, to make audio playable that would not play
otherwise
- support for ReplayGain for all renderer kind except OpenHome
For local playback, FFmpeg audio decoding is configured in Settings > Local Renderer.
For UPnP/DLNA external renderers, FFmpeg audio decoding is configured for each renderer in
Settings > Individual UPnP/DLNA renderers settings.
The defaults are rather conservative (48 kHz max samplerate, convert to 16 bit, downmix
multi-channel to stereo) so if your renderer is
more capable you will definitely want to change them.
Each settings page has detailed help describing the settings.
ReplayGain processing is supported for any track that has ReplayGain info (in tags) playing to a
non-OpenHome renderer. It can be enabled in the Now Playing tab (3-dot menu)
with ReplayGain track and album modes available.
When FFMpeg audio decoding is active while playing a track, it is indicated on the Now Playing
screen as:
'FFmpeg: Format (WAV or LPCM) | samplerate | bitdepth (16 or 24 bit) | channel count |
ReplayGain'
The last ReplayGain field is only displayed if both the playing track has ReplayGain tags and
ReplayGain processing is enabled.
Invidual settings for renderers and libraries
In previous versions, UPnP tweaks were global for all devices. Now they can be set for each device
requiring a change.
For renderers, go to Settings > Individual UPnP/DLNA renderer settings. For librairies, go to
Settings > Individual UPnP/DLNA libraries settings.
It can also be accessed from the top side menu: 3-dot menu of a device > Settings.
Chromecast transcoding
- local transcoding is now available and enabled out of the box, no need to install it
anymore
- improved local transcoding performance significantly, especially on arm64-v8a devices
- added ReplayGain support and display of FFmpeg transcode info for audio on the Now Playing
screen (for local transcoding only currently, as BubbleUPnP Server needs to be updated)
- added local transcoding support for Android x86 (mostly Chromebook) and x86_64
- added 'Settings > Chromecast Transcoding > Preferred transcoding method' to either prefer
BubbleUPnP Server remote transcoding (default) or local transcoding
- fixed local transcoding failing with audio tracks containing embedded album art as png
- force disabled 'Settings > Chromecast > Preserve multichannel audio' for all Chromecast
models, forcing stereo. This setting will be reenabled when the fixed firmware is deployed
(confirmed by Google)
Other
- various tweaks in Settings pages. Added help and reset buttons to some pages
- added ability to hide specific renderers and libraries in Settings > Hide/Unhide devices
- attempt at fixing controlling the Xbox One renderer for music (Groove app) possibly being
unreliable
- added media link extraction support for Android x86 (mostly Chromebook) and x86_64 on
Lollipop+
- fixed taping an image in a Library folder containing a large number of images not always
displaying the tapped image
- fixed failure to download media link extraction support files on some devices
- Audio Cast settings can now be set per renderer
- fixed restoring app settings backup on install not working on Lollipop
- fixed browse failure of Qobuz albums not having a released date in metadata returned
- detect and load properly local and cloud .m3u files improperly encoded as UTF-8 (which
should have been .m3u8)
- added support for MKA (file ext: mka, mime-type: audio/x-matroska) and raw AC3 files (file
ext: .ac3, mime-type: audio/ac3)
- fixed some SHOUTcast streams sent from other apps (XiiaLive in particular) or entered via
'Add Stream URL' taking forever to be added to the Playlist tab
- fixed playing Acestream HLS streams (via Ace Stream Engine app) broken in latest version
(regression). Now may work with DLNA TV and other renderers supporting playing HLS.
Acestream is always proxied by BubbleUPnP for technical reasons
- added missing toggle 'Settings > Local and Cloud > Configure media allowed for remote
browsing > Google Drive'
- worked-around HUAWEI bug preventing to play to some renderers FLAC managed by Android media
store