diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2012-09-01 20:59:09 +0200 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2012-09-06 19:58:38 +0200 |
commit | dd99ea7c8efcc00522752a8fdc14aa479b9a0f2d (patch) | |
tree | 283177ba1ad7fb94168a3e8c7725ee5c4421bc34 | |
parent | 28f0cc5814a8630c2eca51c0b655f0bcc9260dde (diff) |
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
-rw-r--r-- | data/sound-juicer.schemas.in | 4 | ||||
-rw-r--r-- | 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 { |