Code

you can specify %shortalbum% for playlist song markup, parent directory is shown...
authorAndreas Obergrusberger <tradiaz@yahoo.de>
Thu, 5 Oct 2006 18:19:46 +0000 (18:19 +0000)
committerAndreas Obergrusberger <tradiaz@yahoo.de>
Thu, 5 Oct 2006 18:19:46 +0000 (18:19 +0000)
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@4871 09075e82-0dd4-0310-85a5-a0d7c8717e4f

ChangeLog
src/screen_file.c
src/strfsong.c

index aa4335090e78fbc7fa02daad2471fcec42b4b7aa..554dcae32127a8e72268eaa4c1f21d14afd38443 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,17 @@
-2006-08.8 Andreas Obergrusberger <tradiaz@yahoo.de> 
+2006-10-5 Andreas Obergrusberger <tradiaz@yahoo.de>
+       * Daniel sent me patches that will show the parent
+         directory in the browse screen title
+       *...and a patch that allows the user to specify
+        shortened album names in for example the playlist screen
+        via %shortalbum% 
+       
+2006-08-8 Andreas Obergrusberger <tradiaz@yahoo.de> 
        * Here it is! the splash screen. asking you for password 
          everytime and featuring a nice animation :)
        * ncmpc will now always ask for a password when it's not 
          permitted to execute a command
 
-2006-08.8 Andreas Obergrusberger <tradiaz@yahoo.de> 
+2006-08-8 Andreas Obergrusberger <tradiaz@yahoo.de> 
        * Avuton fixed some warning
        * fixed a bug that doubled empty lines
          when loading lyrics from hd
index 2d8c1dea83a763fd2dee138cd7c53a4727c43a3a..b2d320f0bcafcd45d89f435b5f50d3943ca133c0 100644 (file)
@@ -549,7 +549,20 @@ browse_close(void)
 static char *
 browse_title(char *str, size_t size)
 {
-  g_snprintf(str, size, _("Browse: %s"), basename(filelist->path));
+  char *pathcopy;
+  char *parentdir;
+  pathcopy = strdup(filelist->path);
+  parentdir = dirname(pathcopy);
+  parentdir = basename(parentdir);
+  if( parentdir[0] == '.' && strlen(parentdir) == 1 )
+    {
+      parentdir = NULL;
+    }
+  g_snprintf(str, size, _("Browse: %s%s%s"),
+            parentdir ? parentdir : "",
+            parentdir ? "/" : "",
+            basename(filelist->path));
+  free(pathcopy);
   return str;
 }
 
index 3f60875ea455064247f9c638a40a8e133b930ae5..287fcbdce63b68105a3357450ad5dbee2407f3a6 100644 (file)
@@ -170,6 +170,22 @@ _strfsong(gchar *s,
        temp = song->title ? utf8_to_locale(song->title) : NULL;
       else if (strncmp("%album%", p, n) == 0)
        temp = song->album ? utf8_to_locale(song->album) : NULL;
+      else if (strncmp("%shortalbum%", p, n) == 0)
+       {
+         temp = song->album ? utf8_to_locale(song->album) : NULL;
+         if (temp)
+           {
+             gchar *temp2 = g_strndup(temp, 25);
+             if (strlen(temp) > 25)
+               {
+                 temp2[24] = '.';
+                 temp2[23] = '.';
+                 temp2[22] = '.';
+               }
+             g_free(temp);
+             temp = temp2;
+           }
+       }
       else if (strncmp("%track%", p, n) == 0)
        temp = song->track ? utf8_to_locale(song->track) : NULL;
       else if (strncmp("%name%", p, n) == 0)