]>
diplodocus.org Git - flac-archive/blob - tags.pl
696a97dd158665c71a82d8f4131a9a4d6c13fd50
1 package epg
::flac
::archive
::tags
;
21 s/^([^=[\]]+)(\[(\d+)])?=// || die("no field name in $_");
24 # TODO album tags should be illegal after track tags
26 if ($3 == $tracknum + 2) {
28 } elsif ($3 != $tracknum + 1) {
29 $tracknum++; # increment from 0 to 1 for error message
30 die("illegal track number jump from $tracknum to $3")
32 push(@{$tracks[$tracknum]->{$name}}, $_);
34 push(@{$album{$name}}, $_);
41 sub mangle_for_file_name
{
43 $fn =~ s/[!,.?]//g; # discard these punctuation marks
44 $fn =~ s/\s+/_/g; # replace all whitespace with _
45 $fn =~ s/[^A-Za-z0-9_]/-/g; # everything else with -
46 $fn =~ s/_[_-]/_/g; # collapse repeated _ or - to _
47 $fn =~ s/-[_-]/_/g; # more
48 $fn =~ s/^[_-]+//; # discard any _ or - at beginning
49 $fn =~ s/[_-]+$//; # at end too