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