<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									WhiskeyRiver Forum - Recent Topics				            </title>
            <link>https://getwhiskeyriver.com/community/</link>
            <description>WhiskeyRiver Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Sat, 30 May 2026 05:26:16 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>iOS (and Android) bug when trying to play to a JRiver access key server (not the device running WR) which is a client of another JRiver &quot;main&quot; library server</title>
                        <link>https://getwhiskeyriver.com/community/bugz-ios/ios-and-android-bug-when-trying-to-play-to-a-jriver-access-key-server-not-the-device-running-wr-which-is-a-client-of-another-jriver-main-library-server/</link>
                        <pubDate>Sun, 24 May 2026 16:12:24 +0000</pubDate>
                        <description><![CDATA[The connectivity is  Whiskey River on Ipad or S23 connected to JRiver access key jrJiax which pulls the library from &quot;main&quot; library server access key TmdofT.
When I ask WR to play to jrJiax...]]></description>
                        <content:encoded><![CDATA[<p>The connectivity is  Whiskey River on Ipad or S23 connected to JRiver access key jrJiax which pulls the library from "main" library server access key TmdofT.</p>
<p>When I ask WR to play to jrJiax the app screen shows playback but there's no audio output on the desire playback device jrJiax (my laptop) but the playback actually comes from the "main" library server  TmdofT. <br /><br />My expectation is that actual playback should be on the access key server specified in WR (jrJiax in this case) NOT the access key that is the main source of the music (TmdofT in this case). If I wanted playback to be on Tmdoft,  I would connect to that access key.</p>
<p>Can this be corrected in both versions as dev time permits?</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>craigmcg1965</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/bugz-ios/ios-and-android-bug-when-trying-to-play-to-a-jriver-access-key-server-not-the-device-running-wr-which-is-a-client-of-another-jriver-main-library-server/</guid>
                    </item>
				                    <item>
                        <title>iOS Beta Screenshots</title>
                        <link>https://getwhiskeyriver.com/community/general-discussion/ios-beta-screenshots/</link>
                        <pubDate>Fri, 15 May 2026 21:13:57 +0000</pubDate>
                        <description><![CDATA[]]></description>
                        <content:encoded><![CDATA[2
3
4
1
5
6
7
8]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/general-discussion/ios-beta-screenshots/</guid>
                    </item>
				                    <item>
                        <title>Pixel 8 Pro JRiver Local Playback No Sound</title>
                        <link>https://getwhiskeyriver.com/community/bugs/pixel-8-pro-jriver-local-playback-no-sound/</link>
                        <pubDate>Sat, 02 May 2026 20:43:21 +0000</pubDate>
                        <description><![CDATA[Not sure if I&#039;m overlooking something simple. I&#039;m connected to my jriver server and can access my library. Playback is set to be on the phone but trying to play any audio I get no sound and ...]]></description>
                        <content:encoded><![CDATA[<p>Not sure if I'm overlooking something simple. I'm connected to my jriver server and can access my library. Playback is set to be on the phone but trying to play any audio I get no sound and the file does not appear to be playing as the progress bar shows the total track time but is stuck at 0:00. </p>
<p>If I set playback to be on the server that works fine.</p>
<p>Playing internet radio in the app works fine.</p>
<p>JRemote 3 and MO 4Media both work and playback fine on the phone.</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>mds6575</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/bugs/pixel-8-pro-jriver-local-playback-no-sound/</guid>
                    </item>
				                    <item>
                        <title>iOS Development Update</title>
                        <link>https://getwhiskeyriver.com/community/general-discussion/ios-development-update/</link>
                        <pubDate>Thu, 30 Apr 2026 15:23:06 +0000</pubDate>
                        <description><![CDATA[The development phase for the iOS version is 98% complete.  All of the existing functionality (from Android) is there however I&#039;m leaving it at 98% right now because I know I will have forgo...]]></description>
                        <content:encoded><![CDATA[<p>The development phase for the iOS version is 98% complete.  All of the existing functionality (from Android) is there however I'm leaving it at 98% right now because I know I will have forgotten something.  Testing will start as soon as Apple hands over the Developer License (still waiting) so we can use their Beta testing tools for distribution.</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/general-discussion/ios-development-update/</guid>
                    </item>
				                    <item>
                        <title>Planned Updates for 1.4</title>
                        <link>https://getwhiskeyriver.com/community/releases-updates/planned-updates-for-1-4/</link>
                        <pubDate>Thu, 30 Apr 2026 15:16:55 +0000</pubDate>
                        <description><![CDATA[Integrate Language Pack
Play/Shuffle with Play Doctor (for JRiver users)Expand Recent Imports # on dash and own screen (with more imports and a shuffle option)
Allow for multiple tracks to...]]></description>
                        <content:encoded><![CDATA[<p>Integrate Language Pack</p>
<p>Play/Shuffle with Play Doctor (for JRiver users)<br /><br />Expand Recent Imports # on dash and own screen (with more imports and a shuffle option)</p>
<p>Allow for multiple tracks to be added to playlist in one call.</p>
<p>Refine Spotlight playlist logic to reduce duplicate spotlights as well as work on better ways to make more interesting</p>
<p>Preset EQ replacement/expansion AND Genre -&gt; to -&gt; EQ Preset/Custom matching (dynamic EQ based on Genre) - new screens</p>
<p>Bug: Found a logic bug when searching by name of a track.  Producing 0 results when search term is more than 1 word.</p>
<p>Bug: found a bug in JRiver Play on Server mode.  Can lose polling in some cases.  Screen doesn't update and can't go to next or prev tracks</p>
<p>&nbsp;</p>
<p>ANything else?</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/releases-updates/planned-updates-for-1-4/</guid>
                    </item>
				                    <item>
                        <title>Update Notes 1.3.01-36-stable</title>
                        <link>https://getwhiskeyriver.com/community/releases-updates/update-notes-1-3-01/</link>
                        <pubDate>Thu, 30 Apr 2026 15:07:51 +0000</pubDate>
                        <description><![CDATA[Chromecast Support
 Added Google Cast SDK (play-services-cast-framework:21.5.0) dependency
 Created CastOptionsProvider — required Cast SDK entry point using the Default Media Receiver (CC...]]></description>
                        <content:encoded><![CDATA[<div> </div>
<div><strong>Chromecast Support</strong></div>
<div><span> Added Google Cast SDK (play-services-cast-framework:21.5.0) dependency</span></div>
<div><span> Created CastOptionsProvider — required Cast SDK entry point using the Default Media Receiver (CC1AD845); no custom Cast receiver app needed</span></div>
<div><span> Created ChromecastManager — discovers Chromecast devices via MediaRouter/Cast SDK, reuses the existing MediaHttpServer to serve local files or proxy JRiver streams, controls playback via RemoteMediaClient</span></div>
<div><span> Extended DlnaDevice with a CHROMECAST device type and castRouteId field</span></div>
<div><span> Added CastProtocol enum (DLNA/CHROMECAST) and castProtocol field to CastSession so any code path knows which protocol is active</span></div>
<div><span> Updated CastViewModel to hold both managers, merge their device lists and session state into unified flows, and route all cast operations by device type</span></div>
<div><span> Updated device picker (DlnaDeviceSelector) to show a "Google Cast" section above "DLNA Devices", with the Cast icon for Chromecast items and updated empty-state text</span></div>
<div><span> Updated MediaPlaybackService so DLNA-specific cooldown/watchdog only runs when castProtocol == DLNA; added a Chromecast renderer path for queue advances</span></div>
<div> </div>
<div><strong>Playback State Persistence &amp; Crash Recovery</strong></div>
<div><span> Play queue, current track index, and playback position (updated every 10 seconds) are persisted per library to SharedPreferences (jriver_queue_* / local_queue_* prefixed keys)</span></div>
<div><span> last_active_library_mode key tracks which library was most recently playing for crash recovery</span></div>
<div><span> On app restart: resumes the last active library if it has a saved queue, otherwise falls back to the user's startup library preference</span></div>
<div> </div>
<div><strong>Startup Library Default</strong></div>
<div><span> Tapping the checkmark next to a JRiver server or Local Folder in the Server/Library screen now persists that choice as the default startup library</span></div>
<div><span> Startup logic prioritizes crash recovery (last active library with saved queue) → user startup preference → system default</span></div>
<div> </div>
<div><strong>Now Playing Button Visibility</strong></div>
<div><span> The musical note (Now Playing) button in the top app bar is now always visible when the play queue contains any tracks, even if nothing is actively playing</span></div>
<div> </div>
<div><strong>Downloading Playlists/Albums:</strong> </div>
<div><span> Download UI Overhaul (No Flicker)</span></div>
<div><span> Replaced the dismissable Dialog with a persistent full-screen Box overlay using graphicsLayer { alpha } — the overlay stays up for the entire download session; user must tap Close</span></div>
<div><span> Fixed per-file progress bar not updating: added "File Size" to JRiver API fields request so BrowseItem.filesize is populated</span></div>
<div><span> Fixed "Preparing..." delay (3–5 seconds): HttpLoggingInterceptor level changed from BODY (which buffered entire files) to HEADERS</span></div>
<div><span> Fixed download cancellation: _isCancelled flag and progress map now reset at the start of each downloadFiles() call so re-downloading after a cancel works</span></div>
<div><span> Removed redundant snackbar notification — the persistent overlay conveys completion status</span></div>
<div><span> Removed the explicit notification permission prompt for downloads (still present for media playback notifications)</span></div>
<div> </div>
<div><strong>Performing Near You section:</strong></div>
<div><span> Performing Near You Past shows are now filtered out quicker — only events on or after today are shown on both dashboards</span></div>
<div><span> Deduplicated events that appear multiple times due to artist name variations: uses word-set subset matching (stripping stop words) combined with normalized venue + date + city</span></div>
<div><span> Venue normalization strips leading "The" before removing non-alphanumeric characters (fixes "Commonwealth Room" vs "The Commonwealth Room" duplicates)</span></div>
<div> </div>
<div><strong>Recent Imports Album Navigation</strong></div>
<div><span> Fixed: clicking an album in "Recent Imports" on the JRiver dashboard was showing tracks from all albums with the same name (bug) — now routes through a Files/Search API call filtered by both album and artist name</span></div>
<div> </div>
<div><strong>Shifted Internet Radio station configs to cloud and updated.</strong></div>
<div>Allows Internet Radio preset stations to be reconfigured on the fly if needed.</div>
<div> </div>
<div><strong>Playlists auto-recreate (for Local) after downloading a playlist from JRiver to Local.</strong></div>
<div>Downloading JRiver playlists not only downloads the tracks, but recreates the playlists in the local library.</div>
<div> </div>
<div><strong>Tour Dates &amp; Convex DB</strong></div>
<div><span> Confidence-Based (Dynamic) TTLs: artists with many past tours get a shorter TTL (refreshed more often); artists that rarely or never tour get an exponentially longer TTL, reducing unnecessary calls</span></div>
<div><span> Fixed invalid Convex field name error for non-ASCII characters (e.g., ł) by adding a .replace(//g, "") step in normalizeToASCII</span></div>
<div><span> Tour dates in Now Playing now use a "show stale while refreshing" pattern — cached data is shown immediately, Refresh runs are in the background</span></div>
<div><span> Convex venue coordinate lookup is checked before calling the geocoding API, reducing redundant geocoding requests</span></div>
<div><span> Admin scripts are compatible with the new dynamic TTL logic (internal)</span></div>
<div> </div>
<div><strong>Geocoding Provider</strong></div>
<div><span> Switched providers (for venue-city mapping)</span></div>
<div><span> Old provider code retained as a commented fallback</span></div>
<div><span> Existing inter-call delay preserved</span></div>
<div> </div>
<div><strong>Local Library Podcasts Section</strong></div>
<div><span> Podcast section now always renders with at least the "Search" tile, even when no subscriptions or cached data exist</span></div>
<div><span> Removed extra bottom padding from the Local Library dashboard Podcast section to match the JRiver dashboard layout</span></div>
<div> </div>
<div><strong>JRiver Library Config extras:</strong></div>
<div><span> Added a custom port number field when "IP Address" is selected during server setup</span></div>
<div><span> Defaults to 52199 (HTTP) or 52200 (HTTPS), updating automatically when the SSL toggle changes — but does not override a port the user has manually entered</span></div>
<div> </div>
<div><strong>Local Full Rescan Confirmation Dialog addition:</strong></div>
<div><span> Added a confirmation dialog before a Full Rescan warning that local playlists will be deleted if the user proceeds</span></div>
<div> </div>
<div><strong>Other changes</strong></div>
<div>Added option to stream from original source format or transcode.</div>
<div>Added option to transcode or keep original format when downloading.</div>
<div> </div>
<div><strong>Other bugs</strong></div>
<div>Local File Playback Fix (EACCES Permission Denied for Downloaded Tracks)</div>
<div><span> Fixed a bug where hasRestoredQueue was set prematurely in setServer(), preventing queue restoration from running</span></div>
<div><span> Fixed Current Play Position bug for app crash restart that was setting saved start position for the first track that was played after startup which should only do that if user is continuing what was currently playing before crash/shutdown.</span></div>
<div><span> Fixed "dead spot" UI issue where the invisible overlay was intercepting touches: overlay now collapses to 0.dp when hidden</span></div>
<div>JRiver was defaulting to transcoding to mp3 (whoops) from a previous buffer test.<br />When transcoding to mp3 for downloads, JRiver does not embed tags into the file, fixed this using JAudioTagger  using JRiver metadata</div>
<div>.</div>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/releases-updates/update-notes-1-3-01/</guid>
                    </item>
				                    <item>
                        <title>Everything appears to be transcoded to MP3</title>
                        <link>https://getwhiskeyriver.com/community/bugs/everything-appears-to-be-transcoded-to-mp3/</link>
                        <pubDate>Wed, 29 Apr 2026 13:22:57 +0000</pubDate>
                        <description><![CDATA[I&#039;ve recently purchased the app but find the sound quality lacking, which I believe is because everything appears to be re-recoded into mp3.]]></description>
                        <content:encoded><![CDATA[<p>I've recently purchased the app but find the sound quality lacking, which I believe is because everything appears to be re-recoded into mp3.</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Memento</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/bugs/everything-appears-to-be-transcoded-to-mp3/</guid>
                    </item>
				                    <item>
                        <title>Play Doctor and list of recently uploaded albums</title>
                        <link>https://getwhiskeyriver.com/community/new-features/play-doctor-and-list-of-recently-uploaded-albums/</link>
                        <pubDate>Tue, 14 Apr 2026 09:49:46 +0000</pubDate>
                        <description><![CDATA[Hi, I just bought the app and am liking the look&amp;feel and functionalities! Is it possible to add Play Doctor feature and larger (maybe by dropping down) default list of albums sorted by ...]]></description>
                        <content:encoded><![CDATA[<p>Hi, I just bought the app and am liking the look&amp;feel and functionalities! Is it possible to add Play Doctor feature and larger (maybe by dropping down) default list of albums sorted by the date imported?</p>
<p>Thanks!</p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>bl0w</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/new-features/play-doctor-and-list-of-recently-uploaded-albums/</guid>
                    </item>
				                    <item>
                        <title>Planned Updates for 1.3</title>
                        <link>https://getwhiskeyriver.com/community/releases-updates/planned-updates-for-1-3/</link>
                        <pubDate>Wed, 08 Apr 2026 20:01:53 +0000</pubDate>
                        <description><![CDATA[Playlist auto-recreates (for Local) after downloading a playlist from JRiver to Local.Shifted Internet Radio station configs to cloud and updated.Persist current play queue, current playing ...]]></description>
                        <content:encoded><![CDATA[<p>Playlist auto-recreates (for Local) after downloading a playlist from JRiver to Local.<br /><br />Shifted Internet Radio station configs to cloud and updated.<br /><br />Persist current play queue, current playing track, and current playing position of track when restarting app OR restarting after network outage or crash.<br /><br />Weather based and other daily playlist reordering on dash<br /><br />adding Chromecast for Google device compatibilty<br /><br />added option to stream from original source format or transcode</p>
<p>added option to transcode or keep original format when downloading<br /><br />fixes..<br />JRiver was defaulting to transcoding to mp3 (whoops) from a previous buffer test<br />When transcoding to mp3 for downloads, JRiver does not embed tags into the file, fixed this using JAudioTagger  using JRiver metadata</p>
<p><br />Lots more items....<br /><br /> </p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/releases-updates/planned-updates-for-1-3/</guid>
                    </item>
				                    <item>
                        <title>Update Notes - 1.2.01-31-stable</title>
                        <link>https://getwhiskeyriver.com/community/releases-updates/update-notes-1-2-01-31-stable/</link>
                        <pubDate>Wed, 08 Apr 2026 19:54:04 +0000</pubDate>
                        <description><![CDATA[Just published on Store v1.2 --Changelog — Session ending Apr 3, 2026Settings — Content FilteringAdded four new toggle controls: Show Spotlight Playlists, Show Internet Radio, Show Podcasts,...]]></description>
                        <content:encoded><![CDATA[<p>Just published on Store v1.2 --<br /><br />Changelog — Session ending Apr 3, 2026<br /><br /><strong>Settings — Content Filtering</strong><br />Added four new toggle controls: Show Spotlight Playlists, Show Internet Radio, Show Podcasts, Show Audiobooks<br />Each toggle persists to SharedPreferences and hides its corresponding UI section when disabled<br />Browse Section<br /><br />Browse category tiles now sort in a fixed order: Artist → Album → Genre → Composer → Highly Rated → everything else<br />Podcast tile removed from the browse grid (consolidated into the Dashboard Podcasts section)<br />Audiobooks tile hidden when the "Show Audiobooks" toggle is off<br />All of the above applies to both JRiver and Local Library dashboards via the shared AudioVideoTabSection</p>
<p><br /><strong>Podcasts Dashboard Section</strong><br />Section now always visible (previously hidden if no subscribed podcasts)<br />A "Search" tile appears first, using the thumb_podcasts cover image, and navigates to PodcastIndex search<br />Subscribed podcast tiles follow the Search tile<br />Context Menu</p>
<p><strong>Other</strong><br />"Play Now" and "Shuffle Now" options no longer appear when long-pressing an individual track (they remain for folders/albums)<br />JRiver Play Tracking<br /><br />Added File/Played API call to JRiverApiService and JRiverRepository<br />Called at the same time local play history is recorded, so JRiver's "Number Plays" and "Last Played" fields stay in sync<br />Album Labels</p>
<p><strong>Browse Screens</strong><br />Maximum label lines on browse screens increased from 2 to 3</p>
<p><br /><strong>Play Queue Drag-and-Drop</strong><br />Tracks in the Play Queue can now be reordered by long-pressing anywhere on the track row and dragging<br />Removed the dedicated drag handle column that was previously required</p>
<p><br />Added sh.calvin.reorderable:2.5.1 dependency</p>
<p><br /><strong>Social Backend (jr_users)</strong><br />Changed Encryption (at rest)<br /><br /><br /><strong>New Audio features::</strong><br />Phase 1: DSP Pipeline + Parametric EQ — 7 files created/rewritten, 3 existing files modified<br />Phase 2: ReplayGain — 2 new files, 4 existing files modified<br />Phase 3: Gapless Playback — 0 new files, 1 existing file modified<br />Phase 4: Bit-Perfect / Hi-Fi Mode — 2 new files, 2 existing files modified<br />Phase 5: UX Polish — 1 new file, 2 existing files modified<br /><br />Added additional Gain setting for tracks that have no ReplayGain metadata<br />Compact "Hi-Fi" / "DSP" badge for NowPlaying screen<br /><br /></p>]]></content:encoded>
						                            <category domain="https://getwhiskeyriver.com/community/"></category>                        <dc:creator>Stevo</dc:creator>
                        <guid isPermaLink="true">https://getwhiskeyriver.com/community/releases-updates/update-notes-1-2-01-31-stable/</guid>
                    </item>
							        </channel>
        </rss>
		