From dd99ea7c8efcc00522752a8fdc14aa479b9a0f2d Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Sat, 1 Sep 2012 20:59:09 +0200 Subject: 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) 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 { -- cgit v1.2.3