MusicBrainz Tagger 0.10.3

The 0.10.3 version of the tagger fixes a number of bugs and provides new options for configuring the file names.

This bug fix version fixes problems in the id3v2 tags generated by the
0.10.2 version. This version also supports logging, removing id3v2 tags
from ogg files, sports new toolbar icons, shows special too short
and silence trms.

With the increased load on the TRM signature server tagging clients may encounter
TRM server busy messages and the tagger now captures those and reminds the user
to donate money to MusicBrainz when the TRM server becomes busy. The tagger also
supports the new %type (album type), %status (album status), %year, $month, %date
(for first release date of the album) and %country (first release country)
variables for the saving tagged files. These values are now also written to
the metadata tags.

Bugs and RFEs Closed

Robert Kaye

ChangeLog

The 2.1.1 version of libmusicbrainz improves support for dealing with and overloaded TRM server that occaisonally returns 503 Resource Busy to prevent the sigserver from taking over the entire site.

The following changes were made for 2.1.1:

  • Return special TRMs for special conditions for TRM generation:

    c457a4a8-b342-4ec9-8f13-b6bd26c0e400 — Sigserver busy and overloaded
    f9809ab1-2b0f-4d78-8862-fb425ade8ab9 — Source file is too short to calculate TRM
    7d154f52-b536-4fae-b58b-0666826c2bac — File is silence

  • If the TRM signature server becomes overloaded, it will now start
    returning HTTP 503 error codes and the TRM generator will catch that
    and return the Sigserver busy TRM shown above.

Robert Kaye

Server Updates

A bug fix when adding albums, additions to the RDF web service.

Changes mainly of interest to MusicBrainz Users

Bug #874401 has been fixed.  This bug meant that when you added
“Various Artist” albums, any sortnames you specified for new artists
were ignored.  Now you can specify both the name and sortname as
you create the artist, as you’d expect.

Changes mainly of interest to MusicBrainz Programmers

Web service changes: release dates, and release type and status have been
added to the QuickTrackInfoFromTrackId query.  This query uses
the same RDF prepresentation that the GetAlbumFromGlobalId function
returns.  This query will be deprecated for the next version of the web
service; the QuickTrackInfoFromTRMId function has also been
deprecated.

Changes mainly of interest to MusicBrainz Server Programmers

We’re switching over to use
Memcached for our cacheing
implementation (after a short spell with Cache::SizeAwareFileCache at the
last release).  Of course this means you’ll probably want to install
Memcached on your machine if you want to run a MusicBrainz server.

Some obsolete cleanup scripts have been ditched, and “RemoveBadTOCs.pl” has
been completely rewritten (and renamed).

In Discid.pm,
_FindFreeDBEntry has been removed – it wasn’t used any more, and if
we had happened to invoke it there was a nasty bug in there waiting to bite,
which would have caused data corruption of the TOC table.

Bugs and RFEs Closed

Dave Evans

Server Updates

A miscellaneous collection of bug fixes, and some back-end changes, and integrated Amazon cover art.

Changes mainly of interest to MusicBrainz Users

Amazon Cover Art

MusicBrainz now matches its database against the Amazon.com catalog. 
For each match found we display the album cover art in the album detail
page.  We’ve also added links for more information on the albums at
Amazon, and a “buy” link that lets you purchase the album from your
preferred Amazon store.

Associated with this are two new preferences: one lets you choose your
preferred Amazon store (e.g. the one closest to you); the other one
turns off both the cover art and the links to Amazon.  One of the
conditions under which this content is licensed from Amazon is that we
must display the “buy” link whenever we display the cover art —
so don’t ask us to show cover art without the “buy” links, because we can’t
do that.  It’s both, or neither.

Once we have a non-profit corporation for MusicBrainz, we will be able
start using our associate IDs and start earning a small percentage on albums
sold via MusicBrainz.  In the process of adding the Amazon cover art,
we’ve also reworked the way that artist, album and moderation links are
shown to make the album page less cluttered.

FreeDB

These changes only affect “FreeDB moderations” — i.e. when
a web service client requests album information based on
a MusicBrainz disc ID (and TOC) that we’ve not seen before,
causing the corresponding album to be automatically imported from FreeDB.

Firstly, the code used to turn the TOC into a FreeDB ID was flawed;
sometimes it yielded the correct FreeDB ID, and sometimes it didn’t. 
Of course, this has now been fixed.  However it is likely that there
are now some albums which have been automatically imported into MusicBrainz
but which were then associated with the wrong disc ID and TOC. 
It should be possible to write a “fix” script to identify and remove such
broken data; however that script so far has not been written.

Secondly, the minimum number of tracks need for an automatic import to
proceed has been raised from 2 to 5 (bug #800776).

Finally, the logic that tries to prevent the automated import of “Various
Artists” albums has been considerably strengthened; this should mean that
the FreeDB Moderations page will
tend to contain less junk in future.

Edit Artist Name bug fix

Previously, when an “Edit Artist Name” moderation was applied, the artist’s
page index (used for browsing) would be changed, when it should have
remained unchanged.

For example, if there was an artist “Bob Price”
(sortname: “Price, Bob”), then changing the name to “Bob Pryce” would have
moved that artist from the “P” page to the “B” page.  Since the “Edit
Artist Sortname” moderation also (correctly) modified the page index value,
the page which Bob ended up on would depend on whether the most recently
applied moderation was the “Name” or the “Sortname” moderation.

This bug has now been fixed, but it is likely that there are still some artists in
the database who are on the wrong index page as a result.  Editing
their sortnames will fix the error.  At some point a “fix” script needs to
be written to find and correct such broken data.

Privacy

Previously, by using the “I forgot my password” feature, it was possible to
discover the e-mail address of any user.  This (bug #893529) was fixed
on the live server the day it was reported (so it falls between the previous
release and this one).

You’ll know if someone abused this flaw to find
your address, because you will have received the “this is your password”
reminder e-mail, even though you didn’t ask for it to be sent.  As far
as I am aware, the only person this happened to was me, and that was because
the bug finder was testing
out the bug on me before he reported it 🙂

Other Changes

“Add Track” moderations on “Various Artists” albums previously showed a
blank artist name/sortname (on the voting pages, for example).  From
now on newly entered “Add Track” moderations will show the correct artist;
moderations which were already in the database before this release will just
not show the artist name (bug #868238).

When selecting an “inline moderation” to display on a “Various Artists” page,
the server no longer first picks a moderation “by the same artist”,
since it is very unlikely that
the selected moderation will have anything to do with the page you’re
looking at.

Many more timezones have been added to the allowed list, as seen on the
preferences page (bug #757534).  Also a few extra
date/time display formats have been added.

You can now choose your preferred Google domain (e.g. http://www.google.de). 
The MusicBrainz logo on the Google results pages is much nicer too 🙂

Some dates were being incorrectly displayed as being Jan 1st, 1970 (or
maybe Dec 31st, 1969, depending on your time zone).  These dates
are now correctly displayed as “never”.

The cache expiration of the sidebar panel content (server stats, top
moderators, top voters) became broken during
the move to the new Mason
It’s fixed now.

New and Changed Documentation

A couple of typos have been fixed on the MM page
Another has been fixed on the mq_examples page.

Added the mb_server codebase.

Added release number / CVS Tag information to the
CVS modules page.

Changes mainly of interest to MusicBrainz Programmers

The database dumps
will now be performed every other day, instead of every day.

Changes mainly of interest to MusicBrainz Server Programmers

Perl

The MusicBrainz scripts now look for the Perl binary at
/home/httpd/musicbrainz/mb_server/cgi-bin/perl instead of
/usr/bin/perl.  Thus, you can now easily run your mb_server
from one installation of Perl, but have your system-wide Perl (which maybe
your operating system depends on extensively) be kept separate. 
All you’ll probably have to do is copy the Perl binary you were previously
using into the new path.

This change is described in the INSTALL file.

Cacheing

A cacheing layer has been added: MusicBrainz::Server::Cache
Currently this is based on Cache::SizeAwareFileCache (from the
Cache::Cache distribution).  There are new options in
DBDefs.pm to control this.  In
the future the implementation of the cache might change; code using the
cache should neither care nor notice if it does.

So far the following things are cached in this way: user data
(UserStuff.pm); FreeDB responses; and user voting history statistics (as
displayed on the “profile” page).

Discid / FreeDB

As noted above, the FreeDB ID algorithm has been fixed — previously it
would sometimes give the wrong answer.  In fact much of
Discid.pm
and
FreeDB.pm
have been tidied up and revamped:

  • Discid->GenerateAlbumFromDiscid has been tidied up,
    as has Insert and InsertTOC.
  • Discid->GetAlbumAndIdFromDiscid has been removed.
  • Discid->ParseTOC has been added – this takes a TOC and returns
    lots of useful things from it, including the track count, lengths,
    MusicBrainz disc ID, and FreeDB ID.
  • In FreeDB.pm, _lba_to_msf and IsNumber have been removed,
    and Lookup has been greatly simplified.
  • Finally, FreeDB.pm now caches query responses from the FreeDB server.

Other Changes

Other changes include:

  • XML::DOM is not required,
    so it has been removed from the dependency list in the
    INSTALL file.
  • A hack has been added to
    MusicBrainz.pm
    to avoid re-executing the same SQL again and again for every page,
    when it only needs to be done once (when the database connection is first
    made).  However this is a hack! — it’s not
    done using proper DBI techniques, and it may break things, somewhere, some
    day.  Let us know if it causes you any trouble!
  • mq.pl now logs the authenticated user
    (if known) into the access log.  The URL logged is now of the form
    /mm-2.0/QUERYNAME, like
    mq_2_1.pl has been doing for a while
    now.  Also these two scripts have been tweaked in various small,
    cosmetic ways so as to make them as similar as possible.

Bugs and RFEs Closed

Dave Evans

ChangeLog

The 2.1.0 version of libmusicbrainz improves mp3 duration checking, adds query strings for release dates and amazon asins.

The following changes were made for 2.1.0:

  • Moved the python bindings into a new seperate project
  • rewrote the mp3 duration detection code to be more robust by making it vastly easier. In the process the bitzi related code has been tossed. This should make the libary smaller and the mp3 duration checking faster.
  • Due to the bitzi code being removed, the SHA1 and Bitprint related functions have been removed.
  • Added query items for Release Dates/Countries, Amazon Asins and Amazon cover art URLs
  • Move include files into include/musicbrainz so that the example files will compile outside of the libmusicbrainz client source tree.

Robert Kaye

Server Updates

Two new moderation suggestion reports – duplicate albums, and more duplicate artists.

Not many changes today.  Well, we did have a main release only
two days ago!

Changes mainly of interest to MusicBrainz Users

Matthias Friedrich and Wendell T. Hicken have created two new reports:
one listing
duplicate albums
and another one with
more duplicate artists.

“Guess Case” will now put “(bonus disc)” (or “disk”) in lower case.

Changes mainly of interest to MusicBrainz Server Programmers

The database import script is now potentially much faster
(down from 2 hours to 20 minutes).  It also no longer asks two
questions at the start, so it’s easier to run it completely unattended.

The unused “trmstats.pl” script has been removed.

Dave Evans

Server Updates

Voting “inline”, a faster voting infrastructure, send e-mails using your real e-mail address, and a small number of other changes.

Changes mainly of interest to MusicBrainz Users

Inline Moderation

(This feature by Robert Kaye)

In an effort to reduce the voting backlog, the system now shows you
one vote at a time whenever you’re on an artist, album or track page.
The moderation chosen is, in order of preference: for this artist; for one of
your subscribed artists; for an artist related to this artist; or anything
at random.  When you click one of the three voting buttons (yes, no,
abs) then the voting panel reloads to show something else to vote on.
The rest of the page remains unchanged.

Faster Voting Pages

The moderation database tables have been reorganised behind the
scenes.  The result of this is that
the voting pages (in particular)
should be much faster.  See “Moderation Table Restructuring” below
for more technical details of what’s actually changed.

Reveal My E-Mail Address

When sending an e-mail to another moderator, it’s now possible
(as long as you’ve told MusicBrainz your e-mail address) to choose
to reveal your e-mail address to the other party.  Doing so makes it
much easier for them to reply to you.  The default setting is
controlled by a new preference, which in turn
defaults to “off” (i.e. don’t reveal my address).
Read the help for more information.

Other Changes

  • When searching for moderations, you can now search for mods
    on artists related to some given artist.
  • Tied votes are now passed (previously there had to be a clear majority to
    win).
  • When sending an e-mail to another moderator, sometimes extra quotes were
    added to the subject line (so instead of the subject being Hi
    there
    for example, it would be “Hi there”).  These
    stray quotes have now been removed.
  • The HTML generated by a “Link with Icon” (for an artist, album or track
    link) now ensures that the icon will be on the same line as the text which
    follows.
  • For “Edit Artist Alias”, “Edit Artist Sortname”, “Edit Track Number” and
    “Merge Artist” moderations, if the record being changed is missing then close
    the moderation with a “Failed prerequisite” status instead of “Internal
    error”.
  • The “Show TRM” page now sorts the matched tracks by artist and album, and
    only shows each album once (even if more than one track on that album
    matches the TRM).
    Example.

New and Changed Documentation

Changes mainly of interest to MusicBrainz Programmers

If you download and import the MusicBrainz database (including the
moderation tables) from time to time, read “Moderation Table Restructuring”
(below).

Changes mainly of interest to MusicBrainz Server Programmers

Mason

(This feature by Duncan Findlay)

The MusicBrainz server now uses Mason
1.25 (previously we used 1.05).  Mason underwent something of a
redesign following 1.05, so making it past this “hurdle” should help us in
the future.

Moderation Table Restructuring

The moderation-related tables have been reorganised, so as to speed up the
voting pages.  Almost all queries against the moderation tables deal
with open moderations, but Postgres seemed to be having trouble optimising
those queries (despite an index on moderation.status).  Well, maybe we
missed something obvious, maybe not.  Anyway, what we’ve done is to
split the three tables (moderation, moderationnote and votes) into six
(moderation_open, moderation_note_open, vote_open;
and
moderation_closed, moderation_note_closed, vote_closed).  So most
queries can now just refer to moderation_open, which is a MUCH smaller table
than moderation used to be.

As a side-effect, the data for closed moderations is now dumped into a
separate file (mbdump-closedmoderation.tar.bz2), making the
mbdump-moderation.tar.bz2 file much smaller.  Hence, if you
want to download open moderation data but have no need for closed
moderations, life has just become a little easier for you.

Other Changes

The CreateTables-mysql.sql
script has been removed.  It was generally poorly maintained, and
hardly ever tested, and the costs of maintaining it outweighed the
benefits.  If you want to create a MusicBrainz database in MySQL,
start with the CreateTables.sql
script.


RDFDump.pl
has been fixed. RDF dumps now contain all artists
we have in the database.

Bugs and RFEs Closed

Dave Evans