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)

Changes to our style process

At the MusicBrainz Summit last month in Copenhagen, one of the topics to
be discussed was the state of the style guidelines and style process.
One thing those present agreed on was that the process was in need of
reform, for several reasons: the complexity of the process,
inconsistency with other processes in the project, the high level of
individual commitment required to make changes, long-running discussions
without conclusion or followthrough, and ultimately the state of the
final product, the style guidelines themselves. The inaccessibility of
our existing process meant that many users, both new and old, avoided
the style process, and this hurts the project: style is part of what
makes MusicBrainz what it is, and low participation means our guidelines
have grown both internally inconsistent and out of sync with community
practice. Nor is the style process a new problem for MusicBrainz:
historically, it’s changed several times and some past style leaders
have vanished into thin air.  After all, it is a hard job, for a
volunteer, to convince many voices to come to a consensus.

To improve upon these issues, we’ve decided to make two major changes.

First: to designate our JIRA issue tracker at tickets.musicbrainz.org as
the central coordination point for style issues. This way, any issue, be
it style-related or code-related, is reported and discussed in the same
place (and should an issue be misfiled, it’s easily corrected). The
issue tracker can also collect links to other discussions, in edit
notes, the forums, IRC, etc., and store links to related issues such as
features in need of implementation.

Second: to promote our current Style Leader to Style Benevolent Dictator
For Life (Style BDFL). Nicolás Tamargo (reosarevok) will then be in
charge of considering tickets and implementing changes in the style
guidelines. This change shifts the burden of evaluating style issues
from the community to our newly appointed BDFL. For simple changes and
for simple improvements to consistency and writing style, the BDFL can
change things directly, without need for lengthy discussion. Of course,
his work won’t happen in a vacuum: for changes that are complex or
contentious, the role of the BDFL will be to gather feedback and
determine the next steps before making changes. To this end, he may
occasionally call for a non-binding vote on a particular topic, to
collect a snapshot of community opinion to augment existing discussion,
all in order to make a better informed decision.

We hope that this new process will make contribution to the creation of
style guidelines easier and less onerous a commitment for everyone, and
that the resulting style guidelines will be more up-to-date, more
consistent, and more clearly written and organized. To test it out,
we’re going to try this process for 6 months, and then review how things
have progressed and if the process needs further tweaking or even
complete replacement.

Screenshot of editing place coordinates using a map.

Server update, 2014-10-13 (a day late)

I’m slacking again and it’s a day late, but here’s another server release, almost kinda on schedule!

We’ve included a few nice improvements this release:

  • Better ways to use Track MBIDs (added in May 2013!), by both linking to their URLs on the site and by allowing them to be used as a linked entity for release lookups (this work by ianmcorvidae, with a bit added by chirlu).
  • Place coordinates can now be selected using a map on the edit page and feedback on proper coordinate formatting needn’t wait for a full form submission (thanks nikki!). This new interface can be seen in the image accompanying this post!
  • When the Internet Archive is likely to reject Cover Art Archive uploads, a warning should now be shown on the site (thanks to the IA for implementing an endpoint to use for this, and nikki for integrating it).
  • Data entered on the site should now be normalized according to Unicode Normalization Form C (or NFC), which means that, for example, a character entered with a separate combining acute accent will be normalized to a combined character where one is available (thanks to chirlu for this work).
  • A variety of edit listing pages, including edit search, should be faster due to an overhaul in our query generation and database indexing (thanks to chirlu for this!).
  • A variety of other bug fixes and smaller improvements, as usual (thanks to bitmap, ianmcorvidae, nikki, and chirlu for various pieces).

The git tag for this release is v-2014-10-13.

The full list of issues, as usual:

Bug

  • [MBS-7750] – Video attribute displays confusingly as “(true)”
  • [MBS-7875] – “Recording of” relationship inherits instrument from artist
  • [MBS-7886] – Internal server error when trying to include ratings for places in the webservice
  • [MBS-7888] – Searching in a new tab from relationship editor disables search button
  • [MBS-7892] – Instrument merge process has not been updated for creditable attributes
  • [MBS-7893] – Disambiguation not displayed in area search results
  • [MBS-7905] – ISE when including place-rels and fmt=json
  • [MBS-7915] – Tracklist missing on “Set track durations” page
  • [MBS-7916] – “Set track durations” preview is broken for single-track mediums

Improvement

  • [MBS-3725] – webservice discid lookup should accept query with only a toc
  • [MBS-5553] – Tell the user before uploading when the Cover Art Archive is down
  • [MBS-6010] – Normalise text to NFC
  • [MBS-6829] – Select place location using a map
  • [MBS-6972] – Provide immediate feedback when editing coordinates
  • [MBS-7634] – Standardise lightbox image links from Commons
  • [MBS-7693] – Release Editor’s “edit the release group” does not open in a new tab
  • [MBS-7831] – Votes by Editor is ordered by edit time, but would be more useful ordered by vote time.
  • [MBS-7869] – Make edit search faster
  • [MBS-7895] – Make reordering mediums an auto-edit
  • [MBS-7896] – Deal better with track MBIDs when merging releases
  • [MBS-7897] – Provide a way to look up things by track MBID via the WS
  • [MBS-7898] – Link to track MBIDs from the tracklist

Looking for someone to represent MusicBrainz Music Hack Day Boston

Music Hack Day Boston is happening on Nov 8-9 and I am looking for someone to attend and represent MusicBrainz/CritiqueBrainz there. Ideally this person would be knowledgeable about how our Web Service works, what data MusicBrainz has and how our schema is laid out. You must be comfortable giving a short (~5 minute) presentation about MusicBrainz/CritiqueBrainz at the beginning of the event. And you should also be comfortable answering questions during the event.

If you live in or near Boston and are interested in helping out and attending MHD Boston, please leave a comment here and I will get in touch.

Thanks!

Search server release: 2014-10-08

Paul Taylor has written a few fixes for the current search server, which we just deployed. Thanks for your hard work on this release, Paul!

Release Notes – MusicBrainz Search Server – Version 2014-10-08

Bug

  • [SEARCH-258] – Search api returns zero results with unicode hyphen instead of dash in query
  • [SEARCH-314] – Combining diacritics are not handled correctly
  • [SEARCH-328] – Phrase search fails on Artist field if the artist credit is a multiple name credit and the join phrase within db contains no whitespace
  • [SEARCH-373] – Searching places by tag doesn’t work
  • [SEARCH-379] – JSON recording response embeds track artist credit inside an artist credit
  • [SEARCH-383] – JSON return an array called ‘artist’ instead of ‘artists’
  • [SEARCH-387] – Search Server Indexing Failure

Improvement

  • [SEARCH-386] – Use bigrams to improve relevancy of CJK results

Server update, 2014-09-29/2014-09-30

A day late on this, due to the summit, sickness, and a variety of travel. But we’ve got you all another release to kick around!

The git tag for this release is v-2014-09-30.

We’ve only got two actual tickets this release, which follow:

Bug

  • [MBS-7642] – Areas displayed in wrong order?
  • [MBS-7871] – Features using localStorage don’t handle quota exceeded/out of device space errors

Other work that was done this release primarily relates to sitemaps and json-ld (for which we haven’t been making tickets) and refactoring of guess case code, as well as some other small fixes. The full list of commits is available at https://github.com/metabrainz/musicbrainz-server/compare/v-2014-09-15…v-2014-09-30 for the specifically curious.