[sound-juicer] Zero-pad track number in %dn pattern



commit dd99ea7c8efcc00522752a8fdc14aa479b9a0f2d
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sat Sep 1 20:59:09 2012 +0200

    Zero-pad track number in %dn pattern
    
    59fc2c6523f changed the "Number - Title" file pattern to use %dn
    instead of %tN. However, the track number is not 0-padded in %dn,
    which gives badly sorted tracks in some situations, and was
    the cause of several bug reports. This commit changes the %dn pattern
    to 0-pad the track number to restore things as they were when %tN was
    used. Let's hope there were not many users who preferred non-zero-padded
    filenames...
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677865

 data/sound-juicer.schemas.in |    4 ++--
 src/sj-extracting.c          |    6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/data/sound-juicer.schemas.in b/data/sound-juicer.schemas.in
index e5697fd..038363a 100644
--- a/data/sound-juicer.schemas.in
+++ b/data/sound-juicer.schemas.in
@@ -124,8 +124,8 @@
         %tC -- track composer (lowercase)
         %tp -- track composer (sortable)
         %tP -- track composer (sortable lowercase)
-        %dn -- disc and track number (i.e Disk 2 - 6, or 6)
-        %dN -- disc number, zero padded (i.e d02t06, or 06)
+        %dn -- disc and track number, track zero padded (i.e Disk 2 - 06, or 06)
+        %dN -- condensed disc and track number, zero padded (i.e d02t06, or 06)
         </long>
       </locale>
     </schema>
diff --git a/src/sj-extracting.c b/src/sj-extracting.c
index 820e35c..4802d57 100644
--- a/src/sj-extracting.c
+++ b/src/sj-extracting.c
@@ -971,8 +971,8 @@ lower_sanitize_sortname (const char *sortname, const char *name,
  * %tC -- track composer (lowercase)
  * %tp -- track composer (sortable)
  * %tP -- track composer (sortable lowercase)
- * %dn -- disc and track number (i.e Disk 2 - 6, or 6)
- * %dN -- disc number, zero padded (i.e d02t06, or 06)
+ * %dn -- disc and track number, track zero padded (i.e Disk 2 - 06, or 06)
+ * %dN -- condensed disc and track number, zero padded (i.e d02t06, or 06)
  */
 char*
 filepath_parse_pattern (const char* pattern, const TrackDetails *track)
@@ -1160,7 +1160,7 @@ filepath_parse_pattern (const char* pattern, const TrackDetails *track)
       case 'n':
         /* Disc and track number */
         if (track->album->disc_number > 0) {
-          char *s = g_strdup_printf ("Disc %d - %d", track->album->disc_number, track->number);
+          char *s = g_strdup_printf ("Disc %d - %02d", track->album->disc_number, track->number);
           string = sanitize_path (s, filesystem_type); /* strip spaces if required */
           g_free (s);
         } else {



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