Hello, there!

I've just tried out Exaile and it looks promising so far. A small
annoyance when playing tracks that do not have the album field set is
that the title bar shows something like

"Exaile: playing TITLE from  by ARTIST"

A quick fix is to check the track.album field for a value and skip the
"from ALBUM" part when it its not set.

Patch should apply cleanly to current SVN trunk head.


Thanks,
Thomas

Index: xl/media/__init__.py
===================================================================
--- xl/media/__init__.py	(revision 2744)
+++ xl/media/__init__.py	(working copy)
@@ -342,7 +342,10 @@
         """
             Returns a string representation of the track
         """
-        return "%s from %s by %s" % (self._title, self.album, self.artist)
+        if self._album:
+            return "%s from %s by %s" % (self._title, self.album, self.artist)
+        else:
+            return "%s by %s" % (self._title, self.artist)
 
     def set_bitrate(self, rate):
         """
Index: xl/gui/main.py
===================================================================
--- xl/gui/main.py	(revision 2744)
+++ xl/gui/main.py	(working copy)
@@ -1085,26 +1085,45 @@
 
         # set up the playing/track labels based on the type of track
 
-        self.window.set_title(_("Exaile: playing %(title)s from %(album)s by %(artist)s") %
-            {
-                'title': track.title,
-                'album': track.album,
-                'artist': track.artist
-            })
-        self.artist_label.set_label(_("from %(album)s\nby %(artist)s") % 
-            {
-                'album': album, 
-                'artist': artist
-            })
-
-        if self.tray_icon:
-            self.tray_icon.set_tooltip(_("Playing %(title)s\nfrom %(album)s\nby %(artist)s") %
+        if track.album:
+            self.window.set_title(_("Exaile: playing %(title)s from %(album)s by %(artist)s") %
                 {
                     'title': track.title,
                     'album': track.album,
                     'artist': track.artist
                 })
+            self.artist_label.set_label(_("from %(album)s\nby %(artist)s") % 
+                {
+                    'album': album, 
+                    'artist': artist
+                })
+         
+            if self.tray_icon:
+                self.tray_icon.set_tooltip(_("Playing %(title)s\nby %(artist)s") %
+                    {
+                        'title': track.title,
+                        'album': track.album,
+                        'artist': track.artist
+                    })
+        else:
+            self.window.set_title(_("Exaile: playing %(title)s by %(artist)s") %
+                {
+                    'title': track.title,
+                    'artist': track.artist
+                })
+            self.artist_label.set_label(_("by %(artist)s") % 
+                {
+                    'artist': artist
+                })
+         
+            if self.tray_icon:
+                self.tray_icon.set_tooltip(_("Playing %(title)s\nby %(artist)s") %
+                    {
+                        'title': track.title,
+                        'artist': track.artist
+                    })
 
+
         row = self.db.read_one("tracks, paths", "paths.name, user_rating", 
             "paths.name=? AND paths.id=tracks.path", (track.loc,))
 
_______________________________________________
Exaile-devel mailing list
[email protected]
http://exaile.org/mailman/listinfo/exaile-devel

Reply via email to