my $artist;
my $album;
my $date;
+ my $discnum;
my $track;
open(TAGS, '-|', 'metaflac', '--export-vc-to=-', $fn)
$album = $value;
} elsif (/^DATE=/i) {
$date = $value;
+ } elsif (/^DISCNUMBER=/i) {
+ $discnum = int($value);
} elsif (/^ARTIST\[/i) {
push(@$artists, $value);
} elsif (/^TRACKNUMBER=/i) {
}
close(TAGS) or die("close(metaflac --export-vc-to=- $fn): $?");
- return ($artist, $album, $date, $track);
+ # If no TITLEs, stick a dummy in here.
+ if (@$titles == 0) {
+ push(@$titles, undef);
+ }
+
+ return ($artist, $album, $date, $discnum, $track);
}
sub arg {
sub flac2mp3 {
my $fn = shift;
- my $title = shift;
- my $artist = shift;
- my $album = shift;
- my $date = shift;
+ my $title = (shift or 'unknown');
+ my $artist = (shift or 'unknown');
+ my $album = (shift or 'unknown');
+ my $date = (shift or 'unknown');
my $track = int(shift);
my $skip_arg = shift;
my $until_arg = shift;
for my $fn (@ARGV) {
my @args = get_decode_args($fn);
my (@artists, @titles);
- my ($artist, $album, $date, $track) = get_tags($fn, \@artists,
- \@titles);
+ my ($artist, $album, $date, $discnum, $track) = get_tags($fn, \@artists,
+ \@titles);
+
+ # lame doesn't seem to support disc number.
+ defined($discnum) and $album .= " (disc $discnum)";
# Stupid hack: only a single-track file should have the
# TRACKNUMBER tag, so use it if set for the first pass through