banshee r3447 - in trunk/banshee: . src/Core/Banshee.ThickClient/Banshee.Gui.Widgets



Author: jwillcox
Date: Thu Mar 13 18:33:41 2008
New Revision: 3447
URL: http://svn.gnome.org/viewvc/banshee?rev=3447&view=rev

Log:
2008-03-13  James Willcox  <snorp snorp net>

        * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs: 
        Correctly update after cover art appears  



Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs	Thu Mar 13 18:33:41 2008
@@ -293,7 +293,7 @@
                 cr.PaintWithAlpha (stage.Actor.Percent);
                 return;
             }
-            
+
             // XFade only the cover art
             cr.Rectangle (0, 0, Allocation.Height, Allocation.Height);
             cr.Clip ();
@@ -305,29 +305,30 @@
             CairoExtensions.PopGroupToSource (cr);
             
             cr.PaintWithAlpha (1.0 - stage.Actor.Percent);
-            
+
             // Fade in/out the text
             cr.ResetClip ();
             cr.Rectangle (clip.X, clip.Y, clip.Width, clip.Height);
             cr.Clip ();
-            
+
             bool same_artist_album = incoming_track != null ? incoming_track.ArtistAlbumEqual (current_track) : false;
+            bool same_track = incoming_track != null ? incoming_track.Equals (current_track) : false;
             
             if (same_artist_album) {
-                RenderTrackInfo (cr, incoming_track, false, true);
-            }
+                RenderTrackInfo (cr, incoming_track, same_track, true);
+            } 
                    
             if (stage.Actor.Percent <= 0.5) {
                 // Fade out old text
                 CairoExtensions.PushGroup (cr);
-                RenderTrackInfo (cr, current_track, true, !same_artist_album);
+                RenderTrackInfo (cr, current_track, !same_track, !same_artist_album);
                 CairoExtensions.PopGroupToSource (cr);
                
                 cr.PaintWithAlpha (1.0 - (stage.Actor.Percent * 2.0));
             } else {
                 // Fade in new text
                 CairoExtensions.PushGroup (cr);
-                RenderTrackInfo (cr, incoming_track, true, !same_artist_album);
+                RenderTrackInfo (cr, incoming_track, !same_track, !same_artist_album);
                 CairoExtensions.PopGroupToSource (cr);
                 
                 cr.PaintWithAlpha ((stage.Actor.Percent - 0.5) * 2.0);
@@ -410,7 +411,7 @@
         {
             TrackInfo track = ServiceManager.PlayerEngine.CurrentTrack;
 
-            if (track == current_track) {
+            if (track == current_track && current_pixbuf != missing_pixbuf) {
                 return;
             } else if (track == null) {
                 incoming_track = null;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]