Picard 1.3 released

Version 1.3 of Picard has been released today, with some notable features and bug fixes.

This release has few visible changes, but overall performance and stability were much improved. A lot of minor annoying issues were fixed. Cover art code was reworked, and notably one can now enable fallback on release group cover art if no cover art exists for a specific release.

Logging was improved, user can now enable debug mode from About →View Error/Debug Log, it may help to see what is going on if needed, passwords and sensible information were hidden from the log, so user can now safely post his log to get help.

To report any issue concerning this release, please use our bug tracker. As usual you can also get help on forum or on IRC (freenode, #musicbrainz).

Special thanks to Sophist, Wieland Hoffmann, Michael Wiencek, Johannes Dewender, Lukáš Lalinský, Frederik “Freso” S. Olesen, and the whole MusicBrainz Team.
Many thanks to all users, developers, bug reporters and translators. Code contributions since 1.2 are visible on Github Contributors graph.

Unfortunately the OAuth support patch (PICARD-305) didn’t make it in this release.

Picard 1.3 can be downloaded on the Picard’s website.

Be aware that downgrading from 1.3 to 1.2 may lead to configuration compatibility issues, better save your configuration before installing 1.3 if you intent to go back to 1.2.

Among changes since 1.2:

  • The “About” window now displays the versions of libraries used by Picard
  • Picard now correctly handles matching of MP3 files saved in ID3v2.3 tags (which is the version that Microsoft Windows and iTunes both use).
    Note: You may need to re-save your tags once to get them to match in future.
  • A sort tags plugin is now provided as tag data is no longer displayed sorted by default.
  • A new tag, musicbrainz_releasetrackid, containing the MusicBrainz Track MBID introduced in the May 2013 schema change release, is now written to files.
  • Add %_recordingtitle% (PICARD-515)
  • Fix plugin install bugs (PICARD-444)
  • Fix Options → File naming examples to handle primary/secondary release types (PICARD-516)
  • A new advanced option is available to permanently set the starting directory for the file browser and “Add files/folder” buttons.
  • Requests to Musicbrainz against your own account e.g. for collections are now handled through SSL (PICARD-337)
  • Refresh of Albums using Ctrl-R and selection of Other Releases are now more responsive during batch lookups.
  • Main window is now emitting a “selection_updated” signal, plugin api version bumps to 1.3.0
  • Append system information to user-agent string
  • Compilation tag/variable functionality (for tagging & file naming) has been split into two:
    %compilation% is now aligned with iTunes, and set only for Various Artists type compilations
    %_multiartist% variable now indicates whether this release has tracks by multiple artists
    (in order to prepend the artist name to the filename as shown in the default file naming script)
  • autodetect the CD drive on Mac OS X (PICARD-123)
  • Ignore directories and files while indexing when show_hidden_files option is set to False (PICARD-528)
  • Add ignore_regex option which allows one to ignore matching paths, can be set in Options → Advanced (PICARD-528)
  • Added an “artists” multi-value tag to track metadata, based on the one in Jaikoz, which contains the individual artist names from the artist credit. Also useful in scripts (joining phrases like ‘feat:’ are omitted) and plugins.
  • Added “_artists_sort“, “_albumartists“, “_albumartists_sort” variables for scripts and plugins.
  • Made Picard use the country names also used on the MusicBrainz website (PICARD-205)
  • New setup.py command `get_po_files` (Retrieve po files from transifex)
  • New setup.py command `regen_pot_file` (Regenerate po/picard.pot)
  • New Work tag (which for Classical music is often different from the track title) saved as ID3 TOAL tag.
  • New Composer Sort Order tag (variable %composersort%).
  • Improve the Other Releases list to prioritise and separate releases which match the correct number of tracks and your Options → Metadata → Prefered Releases settings for Country and Format.
  • New %_absolutetracknumber% variable numbering tracks sequentially regardless of disc structure (so you can numbers tracks on multi-disc releases without a disc number)
  • Support dropping image directly from Google image results to cover art box
  • Add %_musicbrainz_tracknumber% to hold track # as shown on MusicBrainz release web-page e.g. vinyl/cassette style A1, A2, B1, B2
  • Show the ID3 version of the file in the Info… dialog (Ctrl-I) (PICARD-218)
  • Fixed a bug where Picard crashed if a MP3 file had malformed TRCK or TPOS tags (PICARD-112)
  • Add –files option to setup.py build_ui, used to force .ui to .py regeneration (PICARD-566)
  • New setup.py command `update_constants` (Regenerate countries.py and attributes.py)
  • Made Picard use release groups, medium formats and cover art types also used on the MusicBrainz website
  • Use MusicBrainz Server translations for release groups, medium formats and cover art types
  • Add checkbox to toggle debug at runtime in log/debug view dialog
  • Add a plugin to add Artist Official Homepage relationships to the website tag (ID3 WOAR tag)
  • Add integrated functions $eq_any, $ne_all, $eq_all, $ne_any, $swapprefix and $delprefix.
  • Add %_performance_attributes%, containing performance attributes for the work e.g. live, cover, medley etc.
  • Use $inmulti in file naming scripts i.e. …$if($inmulti(%_performance_attributes%,medley), (Medley),)
  • Add optional `priority` parameter to `register_album_metadata_processor()` and `register_track_metadata_processor()`
    Default priority is `PluginPriority.NORMAL`, plugins registered with `PluginPriority.HIGH` will be run first, plugins registered with `PluginPriority.LOW` will run last
  • Add Standardise Performers plugin to convert e.g. Performer [piano and guitar] into
    Performer [piano] and Performer [guitar].
  • Add support for release group cover art fallback (PICARD-418, PICARD-53)
  • Add a clear button to search box
  • Honour preferred release formats when matching AcoustIds (PICARD-631)
  • Prevent ZeroDivisionError in some rare cases (PICARD-630)

About next stable Picard release

Picard team decided to release a new stable version of Picard before the end of the summer.
To help us, advanced users, translators and developers are encouraged to:

Exact release date is not yet known, and features aren’t yet frozen, but the only important change we’ll try to get in before final release is OAuth support (PICARD-305), we still accept minor patches until feature freeze is announced.

Since Picard is now using some translation resources from MusicBrainz project, translators should make sure following resources are up-to-date:

A simplified list of changes made since 1.2 can be read there.

Be aware that downgrading from 1.3 to 1.2 may lead to configuration compatibility issues, better save your configuration before using 1.3 branch if you intent to go back to 1.2.

 

 

Fire damages the Internet Archive

A fire at the Internet Archive (our friends!) has caused $600,000 in damage. Fortunately no one was harmed and no data was lost:

A fire at the Internet Archive’s San Francisco scanning center has destroyed an estimated $600,000 of digitization and scanning equipment. Fortunately no one was injured in the blaze, but the property damage has ruined “some physical materials” that were yet to be digitized, and restricted the nonprofit organization’s ability to record the history of the web.

MusicBrainz just donated $50 to the Internet Archive and asks you to consider making a donation as well.

Picard 1.2 released

Version 1.2 of Picard has been released today, with some notable features and bug fixes.

As announced recently, PUID support is being removed from MusicBrainz on October 15. This release of Picard has followed suit by removing all support for AmpliFIND/PUID scanning and submission. AcoustID is now the default (and only) method of scanning files. If you’re currently using AmpliFIND as your fingerprinting system, then after installing Picard 1.2 you must enable AcoustID in your options, under the “Fingerprinting” section.

Those who have the Picard cover art plugin installed will likely want to remove it. Picard 1.2 has built-in support for downloading cover images from a variety of sources, without the need for a plugin. Please see the new configuration under Options -> Cover Art.

Something important to note for people who build/package Picard is that Python 2.6 is now the minimum required version.

Special thanks to Wieland Hoffmann, Laurent Monin, Lukáš Lalinský, and everyone who’s helped contribute/report bugs for this release!

Picard 1.2 can be downloaded at:
http://musicbrainz.org/doc/MusicBrainz_Picard

Changes since 1.1:

  • Picard now requires at least Python 2.6
  • Removed support for AmpliFIND/PUIDs
  • Add support for the Ogg Opus file format
  • It’s now possible to download cover images without any plugin. Cover Art Archive images can be downloaded by image type
  • Improved directory scanning performance
  • Prefer already-loaded releases of the same RG when matching files
  • Allow dropping new files onto specific targets
  • Add basic collections management support (PICARD-84)
  • Allow adding custom tags in the tag editing dialog (PICARD-349)
  • Fix replacing of Windows-incompatible characters (PICARD-393)
  • Save both primary and secondary release types (PICARD-240)
  • Handle errors from the AcoustID service better (PICARD-391)
  • Accept HTTPS URLs on drag-and-drop (PICARD-378)

Announcing the Cover Art Archive

In a server update last April we quietly said that “we’ve also improved cover art support slightly.” What we actually did was release the first version of the Cover Art Archive, a cooperation between MusicBrainz and the Internet Archive. First, a little background:

Cover art (the images associated with music products) adds a great amount of value to the digital music experience. Many projects and apps on the net use these images to add color and depth to their music tools. However, there isn’t a cleanly organized, publicly available resource where everyone can access these images. You can use Amazon product images, but your project needs to be able to abide by their Terms of Service, which doesn’t work for everyone. Many projects use Google Images to source their cover art, but that is an inexact science since they may not always find the right image.

The Cover Art Archive aims to solve these problems by making these images available to the public. But since we are not lawyers, we can not say what can and can not be done with these. So use them at your own risk! That said, everyone on the internet is using these images anyway and the common understanding is that if you’re selling music you’re pretty safe. We suggest that when you try to figure out what to do, make sure that you respect the artists and their labels and make the music world a better place.

All images in the Cover Art Archive are indexed by the release’s MBID, and all metadata can be parsed by a JSON document. For instance, to fetch the front cover for any given release, construct this URL:

http://coverartarchive.org/release/76df3287-6cda-33eb-8e9a-044b5e15ffdd/front

Once you GET this resource, you will be redirected to the proper Internet Archive URL that yields either an image file or a 404 error if we do not have this image. For lots more details on how to use the Cover Art Archive, please take a look at our API documentation. So far, there are Java, C and Perl bindings to the API.

For some stunning examples of what people have already done with the Cover Art Archive, please take a look at these links:

So far, we’ve collected nearly 100,000 images that are attached to 54,000 releases for a 5% coverage in MusicBrainz. The largest file we have clocks in at 23MB and the largest image is 16,000 x 7842 (125 megapixels!). For all of the juicy stats on this project, check out our cover art statistics page.

We’ve just gotten started and we need your help! Won’t you please consider uploading some images to this archive? To get started, log in with your MusicBrainz account (or create a new one) find your favorite release and then click on the cover art tab to view the existing pieces of art and/or upload new ones. For more details, see our How to add cover art guide.

Thank you to everyone who has worked hard to make this project a reality! And thank you to Brewster Kahle and the Internet Archive for fostering this project!

Picard 1.1 released

Three months after the big release of Picard 1.0, we’ve released version 1.1 today with a good batch of changes.
Before discussing those, let’s say thanks to everyone who has contributed to version 1.1! Wieland Hoffmann (Mineo), Lukáš Lalinský, Frederik S. Olesen (Freso), and Johannes Weißl (weisslj) have all made some notable changes to make this release possible.
Users of the German translation should no longer experience any menu display issues. (Sorry for the annoyance that has caused!) Speaking of languages: the “language” tag now stores the lyrics language instead of the tracklist language.
Windows users should also no longer run into any trouble with drag-and-drop after launching Picard for the first time.
The new version can be downloaded at:
http://musicbrainz.org/doc/MusicBrainz_Picard.
Please report any new bugs at:
http://tickets.musicbrainz.org/
Here’s the list of changes since 1.0:
* Always show basic tags in metadata comparison box, even if empty (title,
artist, album, tracknumber, ~length, date) (PICARD-201)
* Fixed AcoustID submission failure after removing files from Picard (PICARD-82)
* Allow multi-select in new MetaDataBox for delete/remove tags (PICARD-194)
* File browser remembers last directory/no longer crashes on OS X (PICARD-104)
* Removed the “Run Picard” option from the Windows installer (PICARD-11)
* Refreshing a non-album track correctly clears previous track metadata (PICARD-220)
* Fixed the preserved tags setting for tags with uppercase characters (PICARD-217)
* Added a completion box to the preserved tags setting, and clarified how it works
* Store lyrics language in tags instead of text representation language (PICARD-242)
* Fix various oddities in the metadata comparison box (PICARD-255, PICARD-256)

Three months after the big release of Picard 1.0, we’ve released version 1.1 today with another good batch of changes.

Before discussing those, let’s say thanks to everyone who has contributed to version 1.1! Wieland Hoffmann (Mineo), Lukáš Lalinský, Frederik S. Olesen (Freso), and Johannes Weißl (weisslj) have all made some notable changes to make this release possible.

Users of the German translation should no longer experience any menu display issues. (Sorry for the annoyance that has caused!) Speaking of languages: the “language” tag now stores the lyrics language instead of the tracklist language.

Windows users should also no longer run into any trouble with drag-and-drop after launching Picard for the first time.

The new version can be downloaded at:

http://musicbrainz.org/doc/MusicBrainz_Picard

Please report any new bugs at:

http://tickets.musicbrainz.org/

Here’s the list of changes since 1.0:

  • Always show basic tags in metadata comparison box, even if empty (title, artist, album, tracknumber, ~length, date) (PICARD-201)
  • Fixed AcoustID submission failure after removing files from Picard (PICARD-82)
  • Allow multi-select in new MetaDataBox for delete/remove tags (PICARD-194)
  • File browser remembers last directory/no longer crashes on OS X (PICARD-104)
  • Removed the “Run Picard” option from the Windows installer (PICARD-11)
  • Refreshing a non-album track correctly clears previous track metadata (PICARD-220)
  • Fixed the preserved tags setting for tags with uppercase characters (PICARD-217)
  • Added a completion box to the preserved tags setting, and clarified how it works
  • Store lyrics language in tags instead of text representation language (PICARD-242)
  • Fix various oddities in the metadata comparison box (PICARD-255, PICARD-256)

Picard 1.0 released

Lukáš Lalinský announced the long-awaited release of Picard 1.0 today:

It took us a long time to get here, but I’m very happy to announce the release of Picard 1.0!

This version includes a new UI for viewing tags, some options have been rearranged and a number of bugs fixed. The file naming formats for single and various artist releases have been merged. If you were using a different format for various artist releases, Picard will upgrade the format automatically for you, but you might need to review the result. This version also comes with support for two audio fingerprinting solutions (AcoustID and AmpliFIND), but fingerprint scanning is disabled by default – you have to enable it and choose which one you want to use first.

Many thanks to Robert Kaye (ruaok), Phillipp Wolfer (outsidecontext), Michael Wiencek (bitmap), Chad Wilson (voiceinsideyou) and many many others who helped the project along the way from 2003 when it was started!

You can download the new version at:
http://musicbrainz.org/doc/MusicBrainz_Picard.

If you notice any problems, please report them at:
http://tickets.musicbrainz.org/

Complete list of changes since version 0.16:

  • New UI: Extended comparison of existing vs. MB metadata & tags (PICARD-43)
  • Merged the renaming and moving options pages
  • Removed the VA file naming format option (there is now a single format option) (PICARD-159)
  • Add %license% tag
  • Made %writer% available to tagger scripts and plugins with contents of songwriter (PICARD-21)
  • Allow two multi-valued variables to be merged in tagger scripting (PICARD-139)
  • Allow multi-valued variables to be transformed in tagger script and then set back in tags as multi-valued (PICARD-147)
  • Fix $copy not preserving multi-value variables as documented (PICARD-138)
  • Load/save free-text tags for ID3 as TXXX frames (PICARD-148)
  • Fix writing of MusicBrainz Work Id / musicbrainz_workid to tags (PICARD-88)
  • Handle mimetype for embedding cover art from EXIF jpegs (PICARD-27)
  • Change cover art box to open MusicBrainz release rather than Amazon
  • Support manual drag-and-drop of cover art onto a release via cover art box
  • Only open browser on left-click of cover art box (PICARD-190)
  • Fix Lookup in Browser (previously ‘tag lookup’) for clusters (PICARD-186)
  • Lookup in Browser will now not use MBIDs to lookup unmatched files/clusters
  • Add Date/Country to CD Lookup results dialog (PICARD-198)
  • Fix/reset album folksonomy tag counts while refreshing releases (PICARD-4)
  • Plugins actions can now create sub-menus using the MENU class attribute
  • New plugin hook register_clusterlist_action
  • Display the port Picard is listening on at bottom right status bar (PICARD-191)
  • Make album drops from right hand pane to left default to “unmatched files” again (PICARD-33)
  • Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
  • Update artist translation to use new alias features (primary flag, sort names) (PICARD-200)
  • Deleted tags aren’t indicated as changes (PICARD-165)
  • Picard log entries have inaccurate timestamp (PICARD-45)
  • Interface doesn’t allow keyboard only management (PICARD-103)
  • Added option to preserve timestamps of tagged files (PICARD-31)
  • Added keyboard shortcut to reload release (PICARD-99)
  • Medium formats weren’t listed in order in the “Other versions” menu (PICARD-91)
  • Couldn’t select multiple directories in “Add Folder” window on OS X (PICARD-74)

Picard 0.16 released with AcoustID support

Lukáš Lalinský announced here:

Hello,

We released a new version of Picard today. This new release includes a number of bug fixes. Unicode punctuation is now replaced by default for new users. Title standardization has been removed, as track titles now follow the same style guidelines as recording titles.

One larger change that is hidden by default is support for AcoustID fingerprinting. AcoustID is a new, completely open source, audio fingerprinting project, started by me last year. I’m really glad to finally integrate it with Picard. Integration with the MusicBranz website is planned for later. Configuring Picard to use AcoustID instead of AmpliFIND should be completely transparent, there are no visual differences in the scanning process. Note that this feature requires downloading an extra application, see the AcoustID wiki page for details.

Changes since version 0.15.1:

  • Added AcoustID support.
  • Fixed track metadata plugins.
  • Added new internal %_totalalbumtracks% tag field. (PICARD-16)
  • Track metadata plugins now run also on non-album tracks. (PICARD-7)
  • Fixed custom Various Artists name on the %albumartist% field. (PICARD-5)
  • Album artist is now correctly “translated”. (PICARD-1)
  • Unicode punctuation is now converted to ASCII by default.
  • WavPack correction files are moved together with the main files. (PICARD-15)
  • Unicode filename normalization on OS X.
  • Original release date is now saved into %originaldate%.
  • Allow tagging with localized artist aliases (PICARD-17)
  • Added a quit confirmation dialog. (PICARD-46)
  • Standalone recordings can be tagged with relationships now. (PICARD-10)
  • Refreshing an album will refresh its “other versions” listing. (PICARD-8)
  • “Unicode punctuation to ASCII” now works on album-level metadata. (PICARD-50)
  • DJ-mix tags should only be written to the medium where they apply. (PICARD-20)
  • Support URL redirects in web service/network request module (PICARD-54)
  • Jamendo and Archive.org cover art is displayed on web page, but not loaded by Picard plugin (PICARD-52)
  • Edits to metadata in “Details…” menu not reflected in UI (PICARD-13)
  • The status bar/new metadata box is updated when a selected file/track is changed. (PICARD-14)

You can download the new version, as usual, at http://musicbrainz.org/doc/MusicBrainz_Picard

The FreeDB gateway has been updated to NGS!

I’m pleased to announce that the FreeDB gateway, which lets you fetch MusicBrainz data via FreeDB enabled applications, has been updated to use the NGS database. As of now, its updating with new data from the main MusicBrainz server and you should be able to look up new CDs.

To use the FreeDB gateway, set the FreeDB server in your application to freedb.musicbrainz.org on port 80. For more information, please take a look at our wiki page for the gateway.

Thanks to Lukas for porting this code to NGS!