[Slim-Checkins] r33917 - in /7.8/trunk/server: Changelog7.html Slim/Music/Info.pm

[email protected] Wed, 28 Mar 2012 08:37:26 -0000
Newsgroups gmane.music.equipment.slimdevices.cvs
Message-ID <[email protected]>
Author: ayoung
Date: Wed Mar 28 01:37:26 2012
New Revision: 33917

URL: http://svn.slimdevices.com/slim?rev=33917&view=rev
Log:
Fixed bug 17174: Title info doesn't update correctly when multiple SBs are playing same station

Inform (the sync-group master) of other players that are playing the same station when a station's
current title is updated.

Modified:
    7.8/trunk/server/Changelog7.html
    7.8/trunk/server/Slim/Music/Info.pm

Modified: 7.8/trunk/server/Changelog7.html
URL: http://svn.slimdevices.com/slim/7.8/trunk/server/Changelog7.html?rev=33917&r1=33916&r2=33917&view=diff
==============================================================================
--- 7.8/trunk/server/Changelog7.html (original)
+++ 7.8/trunk/server/Changelog7.html Wed Mar 28 01:37:26 2012
@@ -11,6 +11,7 @@
 	<li>Bug Fixes:</li>
 	<ul>
 		<li><a href="http://bugs.slimdevices.com/show_bug.cgi?id=8180">#8180</a> - Squeezecenter prevents user logout after restart </li>
+		<li><a href="http://bugs.slimdevices.com/show_bug.cgi?id=17174">#17174</a> - Title info doesn't update correctly when multiple SBs are playing same station</li>
 		<li><a href="http://bugs.slimdevices.com/show_bug.cgi?id=17729">#17729</a> - On Linux SBS 7.4.1 and above: service cannot be stopped or restarted after an 'internal' restart</li>
 		<li><a href="http://bugs.slimdevices.com/show_bug.cgi?id=17933">#17933</a> - Failure to parse m3u playlists with relative paths</li>
 	</ul>

Modified: 7.8/trunk/server/Slim/Music/Info.pm
URL: http://svn.slimdevices.com/slim/7.8/trunk/server/Slim/Music/Info.pm?rev=33917&r1=33916&r2=33917&view=diff
==============================================================================
--- 7.8/trunk/server/Slim/Music/Info.pm (original)
+++ 7.8/trunk/server/Slim/Music/Info.pm Wed Mar 28 01:37:26 2012
@@ -520,6 +520,18 @@
 	
 			# For some purposes, a change of title is a newsong...
 			Slim::Control::Request::notifyFromArray( $client, [ 'playlist', 'newsong', $title ] );
+		
+			# Bug 17174: Inform other players that may be listening to the same station
+			# We only do this if we have a client with this setCurrentTitle(),
+			# which will be the case for in-stream metadata.
+			foreach ( Slim::Player::Client::clients() ) {
+				next unless $_ && $_->controller() && $_->isPlaying();
+				next if $_ == $client;                   # Ignore the client above
+				next if Slim::Player::Sync::isSlave($_); # And only include masters of any sync-group
+				if ( (Slim::Player::Playlist::url($_) || '') eq $url ) {
+					Slim::Control::Request::notifyFromArray( $_, [ 'playlist', 'newsong', $title ] );
+				}
+			}
 		}
 
 		main::INFOLOG && $log->info("Setting title for $url to $title");