#!/usr/bin/perl

use MP3::Tag;

$prettyfile = $ARGV[0];
$prettyfile =~ s{^/home/phil/music}{...};
$prettyfile =~ s{^/var/lib/mpd/music/phil}{...};
while (length($prettyfile) > 80) {
    $prettyfile =~ s{^\.\.\./}{};
    $prettyfile =~ s{^[^/]+/}{.../};
}
print "$prettyfile:\n";

$mp3 = MP3::Tag->new($ARGV[0]);

if (defined $mp3) {
    $mp3->get_tags;
    
    if (exists $mp3->{ID3v2}) {
	$id3v2 = $mp3->{ID3v2};
	
	for $t (qw(TALB TPOS TSST TRCK TIT1 TIT2 TIT3 TCOM TPE1 TPE2 TPE3 TPE4 TOAL)) {
	    my ($info, $name) = $id3v2->get_frame($t);
	    if (defined $info) {
		print "$t $info\n";
	    }
	}
	
	my ($info, $name) = $id3v2->get_frame('TLEN');
	if (defined $info) {
	    $min = int($info/1000/60);
	    printf("TLEN \%d:\%02d\n", $min, $info / 1000 - $min * 60 + 0.5);
	}
    } elsif (exists $mp3->{ID3v1}) {
	$id3v1 = $mp3->{ID3v1};
	print " Album: ", $id3v1->album, "\n";
	print " Track: ", $id3v1->track, "\n";
	print "  Song: ", $id3v1->song, "\n";
	print "Artist: ", $id3v1->artist, "\n";
    }
}