[Slim-Checkins] r9245 - in /branches/6.5/server: HTML/EN/html/docs/display.html Slim/Buttons/Common.pm Slim/Control/Request.pm Slim/Player/Client.pm Slim/Schema/Playlist.pm Slim/Utils/UPnPMediaServer.pm

adrian at svn.slimdevices.com adrian at svn.slimdevices.com
Tue Aug 29 10:30:43 PDT 2006


Author: adrian
Date: Tue Aug 29 10:30:38 2006
New Revision: 9245

URL: http://svn.slimdevices.com?rev=9245&view=rev
Log:
Bug: N/A
Description: merge from trunk 9238:9339 & 9243:9244

Modified:
    branches/6.5/server/HTML/EN/html/docs/display.html
    branches/6.5/server/Slim/Buttons/Common.pm
    branches/6.5/server/Slim/Control/Request.pm
    branches/6.5/server/Slim/Player/Client.pm
    branches/6.5/server/Slim/Schema/Playlist.pm
    branches/6.5/server/Slim/Utils/UPnPMediaServer.pm

Modified: branches/6.5/server/HTML/EN/html/docs/display.html
URL: http://svn.slimdevices.com/branches/6.5/server/HTML/EN/html/docs/display.html?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/HTML/EN/html/docs/display.html (original)
+++ branches/6.5/server/HTML/EN/html/docs/display.html Tue Aug 29 10:30:38 2006
@@ -775,7 +775,11 @@
 
 <p>A plugin should register alternative lines function at client
 connect time with the client methods customVolumeLines and
-customPlaylistLines.  For example:</p>
+customPlaylistLines.</p>
+
+<p>To avoid server status messages appearing on top of a custom
+screen, a plugin can also turn off the common play/stop/pause status
+messages by setting $client->suppressStatus().</p>
 
 <pre>
 sub initPlugin {
@@ -786,6 +790,7 @@
     my $client = shift->client || return;
     $client->customVolumeLines( \&volumeLines );
     $client->customPlaylistLines( \&playlistLines );
+    $client->suppressStatus(1);
 }
 
 sub volumeLines {

Modified: branches/6.5/server/Slim/Buttons/Common.pm
URL: http://svn.slimdevices.com/branches/6.5/server/Slim/Buttons/Common.pm?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/Slim/Buttons/Common.pm (original)
+++ branches/6.5/server/Slim/Buttons/Common.pm Tue Aug 29 10:30:38 2006
@@ -419,7 +419,7 @@
 
 			Slim::Buttons::Common::pushMode($client, 'playlist');
 
-			$client->showBriefly($client->string('STOPPING'), "");
+			$client->showBriefly($client->string('STOPPING'), "") unless suppressStatus($client);
 		}
 	},
 
@@ -1800,6 +1800,10 @@
 sub suppressStatus {
 	my $client = shift;
 
+	my $suppress = $client->suppressStatus();
+
+	return $suppress if (defined ($suppress));
+
 	return undef unless $client->display->hasScreen2();
 
 	my $screen2 = $client->modeParam('screen2active');

Modified: branches/6.5/server/Slim/Control/Request.pm
URL: http://svn.slimdevices.com/branches/6.5/server/Slim/Control/Request.pm?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/Slim/Control/Request.pm (original)
+++ branches/6.5/server/Slim/Control/Request.pm Tue Aug 29 10:30:38 2006
@@ -1435,7 +1435,7 @@
 	# contine execution unless the Request is still work in progress (async)...
 	$self->executeDone() unless $self->isStatusProcessing();
 
-	$::perfmon && $now && $requestTask->log(Time::HiRes::time() - $now) && msg("    Execute: $funcName\n");
+	$::perfmon && $now && $requestTask->log(Time::HiRes::time() - $now) && msg("    Execute: $funcName\n", undef, 1);
 }
 
 # perform end of execution, calling the callback etc...

Modified: branches/6.5/server/Slim/Player/Client.pm
URL: http://svn.slimdevices.com/branches/6.5/server/Slim/Player/Client.pm?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/Slim/Player/Client.pm (original)
+++ branches/6.5/server/Slim/Player/Client.pm Tue Aug 29 10:30:38 2006
@@ -78,7 +78,7 @@
 
 	# The following indexes are unused:
 	# 2, 3, 8, 11, 12, 13, 16, 23, 24, 25, 26, 27, 33, 34, 53
-	# 64, 65, 66, 67, 68, 72, 82, 83
+	# 64, 65, 66, 67, 68, 72, 82,
 
 	$client->[0] = $id;
 	$client->[1] = Slim::Utils::Prefs::getClientPrefs($id); # _prefs
@@ -145,6 +145,7 @@
 	$client->[79] = undef; # irRefTimeStored
 	$client->[80] = undef; # syncSelection
 	$client->[81] = []; # syncSelections
+	$client->[83] = undef; # suppressStatus
 	$client->[84] = 0; # songBytes
 	$client->[85] = 0; # pauseTime
 	$client->[87] = 0; # bytesReceivedOffset
@@ -1517,6 +1518,11 @@
 	@_ ? ($r->[81]->[$i] = shift) : $r->[81]->[$i];
 }
 
+sub suppressStatus {
+	my $r = shift;
+	@_ ? ($r->[83] = shift) : $r->[83];
+}
+
 sub songBytes {
 	my $r = shift;
 	@_ ? ($r->[84] = shift) : $r->[84];

Modified: branches/6.5/server/Slim/Schema/Playlist.pm
URL: http://svn.slimdevices.com/branches/6.5/server/Slim/Schema/Playlist.pm?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/Slim/Schema/Playlist.pm (original)
+++ branches/6.5/server/Slim/Schema/Playlist.pm Tue Aug 29 10:30:38 2006
@@ -113,6 +113,9 @@
 				position => $position++
 			});
 		}
+
+		# updating playlist can take several seconds - maintain streaming 
+		main::idleStreams();
 	}
 }
 

Modified: branches/6.5/server/Slim/Utils/UPnPMediaServer.pm
URL: http://svn.slimdevices.com/branches/6.5/server/Slim/Utils/UPnPMediaServer.pm?rev=9245&r1=9244&r2=9245&view=diff
==============================================================================
--- branches/6.5/server/Slim/Utils/UPnPMediaServer.pm (original)
+++ branches/6.5/server/Slim/Utils/UPnPMediaServer.pm Tue Aug 29 10:30:38 2006
@@ -199,7 +199,7 @@
 		while ( my $chunk = <$io> ) {
 			
 			# This can be slow if we have a huge file to process, so give back some time
-			main::idleStreams( 0, 1 );
+			main::idleStreams();
 			
 			if ( $chunk =~ /<container(.*?)<\/container>/sg ) {
 				my $node = $1;
@@ -241,7 +241,7 @@
 					while ( my $itemChunk = <$io> ) {
 						
 						# This can be slow if we have a huge file to process, so give back some time
-						main::idleStreams( 0, 1 );
+						main::idleStreams();
 						
 						if ( $itemChunk =~ /<item(.*?)<\/item>/sg ) {
 							my $node = $1;
@@ -383,4 +383,4 @@
 	$callback->( $container, @{$passthrough} );
 }
 
-1;
+1;



More information about the checkins mailing list