]> diplodocus.org Git - flac-archive/blob - fa-tags
Drop references to abcde and its license.
[flac-archive] / fa-tags
1 #! /usr/bin/env perl
2
3 # $Id$
4
5 use strict;
6 use warnings;
7
8 use Getopt::Long;
9 use Pod::Usage;
10
11 use MusicBrainz::Client::Simple;
12
13 my $help;
14 GetOptions(
15 'help|h|?' => \$help,
16 ) or pod2usage();
17 $help and pod2usage(-exitstatus=>0, -verbose=>1);
18
19 my $trackcount = shift or pod2usage();
20
21 my $mb = new MusicBrainz::Client::Simple;
22 my @result = $mb->lookup_cd;
23 die($mb->get_error) unless $mb->success;
24
25 open(F, '>candidate-tags-0') or die("open('>candidate-tags-0'): $!");
26 print(F "$_=\n") for ('ARTIST', 'ALBUM', 'DATE');
27 print(F "TITLE=\n") for 1 .. $trackcount;
28 close(F) or die("close('>candidate-tags-0'): $!");
29
30 my $i;
31 for my $album (@result) {
32 $i++;
33 open(F, '>', "candidate-tags-$i") or die("open('>candidate-tags-$i'): $!");
34
35 print(F 'ARTIST=', $album->get_artist->get_name, "\n");
36 print(F 'ALBUM=', $album->get_name, "\n");
37 print(F "DATE=\n");
38
39 my @tracks = $album->get_tracks;
40 my $name;
41 my $track;
42 for my $j (1 .. $trackcount) {
43 if ($track = shift(@tracks)) {
44 $name = $track->get_name;
45 } else {
46 $name = '';
47 }
48 print(F "TITLE=$name\n");
49 }
50
51 close(F) or die("close('>candidate-tags-$i'): $!");
52 }