Monday, June 13, 2011

Misc. Fixes

With all of my reviews open for most of the week (and nowhere to push my changes to without a 0.15 branch), there's no exciting new features to report on today. But I still fixed a good amount of issues people were having:
  • Track times now sort numerically (previously it would sort 10:00 before 2:00). (code review)
  • A bunch of small fixes to clustering (check for duplicate clusters, allow clustering albums with no alphanumeric characters). (code review)
  • Updated Picard's release format list so that it matches the main server (meaning they should become translatable now). (code review)
  • Track lookups are now queued (albums will load simultaneously with track lookups, and won't be stuck on [loading album-information]). (code review)
  • Some compatibility fixes for the lastfm plugin. (commit)
  • Added Ctrl+I as a shortcut for Edit->Details. (commit)
The standardized metadata diff passed code review and was merged into lp:picard over the weekend, too. The feature has been getting more feedback, so if I make any revisions I'll mention them in the next post.

This week I plan on starting collections support (which might overlap into the next week) and try to bring back preferred release country support (which depends on whether or not a server issue gets fixed).

Sunday, June 5, 2011

Standardized Metadata

Now that MusicBrainz has "tracks" separate from "recordings," MB editors can capture small title variations across releases where they'd previously have to standardize them according to Consistent Original Data and other guidelines. Even artist credits now allow for variance from actual artist names per track and release. This flexibility is great for the database, but Picard users might be annoyed by the inconsistency it can bring into their collections.

This was my motivation for adding options to ignore all of this lower-level metadata and use the more-standardized recording titles, release group titles, and artist names to tag with.

The default option "as on cover" is meant literally, and will tag your files with metadata as it likely appears on a specific release: using track titles, release titles, and artist credits.

Implementing the logic for this was very simple. All of the standardized metadata we need is available from a single /ws/2 release request, so it was just a matter of choosing what to parse. The hard part was developing the actual GUI options (and in fact, what you see above is still tentative). I'd never been very familiar with Qt Designer, so it took me a few hours to figure out how to space and align things exactly. I introduced an odd graphical glitch along the way too, which has since been fixed. (Thanks to Philip Jägenstedt for reporting the issue.)

There's now the question of whether or not these options are intuitive to users (especially those not familiar with how MusicBrainz stores things now). Then again, the same could be said for plenty of other options already in Picard…

Anyway, the code review has been submitted, so we'll have to wait and see how the feature evolves from here. Once it's reviewed by other developers and accepted (possibly after a few revisions), I can merge everything into the main Picard branch for it to become part of the next version. (0.15 final?)