summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
43bd68d)
album. Closes: #669143
git-svn-id: http://abcde.googlecode.com/svn/trunk@335
a0fa61bc-5347-0410-a1a9-
7f54aa4e1825
+sub calc_sha1($) {
+ my $filename = shift;
+ my $s = Digest::SHA->new(1);
+ $s->addfile($filename);
+ return $s->hexdigest;
+}
if ($command =~ m/^id/) {
my $disc = new MusicBrainz::DiscID($device);
if ($command =~ m/^id/) {
my $disc = new MusicBrainz::DiscID($device);
my $response = $ws->search({ DISCID => $discid });
my @releases = $response->release_list();
my $releasenum = 0;
my $response = $ws->search({ DISCID => $discid });
my @releases = $response->release_list();
my $releasenum = 0;
foreach my $release (@releases) {
my $a_artist = $release->artist()->name();
foreach my $release (@releases) {
my $a_artist = $release->artist()->name();
print OUT "PLAYORDER=\n";
print OUT ".\n";
close OUT;
print OUT "PLAYORDER=\n";
print OUT ".\n";
close OUT;
+
+ # Check to see that this entry is unique; generate a checksum
+ # and compare to any previous checksums
+ my $checksum = calc_sha1("$workdir/cddbread.$releasenum");
+ foreach my $sum (@sums) {
+ if ($checksum eq $sum) {
+ unlink("$workdir/cddbread.$releasenum");
+ $releasenum--;
+ last;
+ }
+ }
+ push (@sums, $checksum);
}
} elsif ($command =~ m/calcid/) {
# Calculate MusicBrainz ID from disc offsets; see
}
} elsif ($command =~ m/calcid/) {
# Calculate MusicBrainz ID from disc offsets; see
users.
* Fix encoding call for m4a. (Closes issue 31).
* Fix do_musicbrainz() for the case where there are no matches.
users.
* Fix encoding call for m4a. (Closes issue 31).
* Fix do_musicbrainz() for the case where there are no matches.
+ * When using Musicbrainz, checksum and only output unique matches for an
+ album. Closes: #669143
-- Steve McIntyre <93sam@debian.org> Mon, 30 Apr 2012 16:59:14 +0100
-- Steve McIntyre <93sam@debian.org> Mon, 30 Apr 2012 16:59:14 +0100