Picard 2.4 Beta 2

Following the first Picard 2.4 beta we have released Picard 2.4 beta 2 to address a couple of reported issues. Thanks a lot to everyone who tested the last beta and reported issues. The following bugs have been fixed in beta 2:

  • [PICARD-1864] – Adding single files does ignore existing MBIDs
  • [PICARD-1866] – Coverart pane does not update during / after saving files
  • [PICARD-1867] – Guess format fallback is broken
  • [PICARD-1868] – CAA type selection dialog does not translate “Unknown”

See our previous blog post about Picard 2.4 beta 1 for the changes since the last stable release.

Picard 2.4 beta 2 is available for download from the download page.

Please report bugs on the Picard issue tracker and provide feedback in the community forums.

Please also help translate Picard. There have been many changes to the user interface and existing translations need to be updated for the final 2.4 release. Translating is easy and can be done online: Head over to MusicBrainz’s translation page on Transifex and click on “Help Translate MusicBrainz”.
Once you have registered an account on Transifex you can start translating. For Picard the primary resource to translate is “picard“, but there is also the “picard_appstream” resource which is used for providing descriptions for various Linux software-center applications.

Picard 2.4 Beta 1

Picard 2.4 Beta 1 is now available. There have been some important changes and we would like to gather feedback with this beta release before releasing the final Picard 2.4.

This release contains code changes by Gabriel Ferreira, Laurent Monin, Bob Swift, Philipp Wolfer, RaysDev, Wieland Hoffmann and new contributors Adam James and jcaesar.

Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback.

What’s new?

The most notable change in this release are significant performance improvements when handling large amount of files thanks to the excellent work of Gabriel Ferreira.

We would also like to get some feedback on the new scripting auto completion feature and the scripting documentation provided directly inside Picard. Windows 10 users can also try Picard’s new support for Windows 10 dark mode.

Here is the full list of changes:

Bugfixes

  • [PICARD-1753] – Fix font size of script editor and log view on Windows
  • [PICARD-1807] – Wrong error handling when using python-libdiscid
  • [PICARD-1813] – $title function throws error on empty value
  • [PICARD-1820] – PLUGIN_VERSION no longer displayed correctly in plugins dialog
  • [PICARD-1823] – Genre tag ordering is non-deterministic
  • [PICARD-1826] – “no appropriate stream found” when saving .ogg (OPUS) file
  • [PICARD-1838] – Files with a .dff file extension are interpreted as DSF files and fail to load
  • [PICARD-1853] – Crash if tags contain null character
  • [PICARD-1855] – Relationships not tagged for non-album track
  • [PICARD-1859] – “ValueError: Invalid literal” followed by crash when opening certain files

New Features

  • [PICARD-1704] – Support Windows 10 dark mode
  • [PICARD-1797] – Autocompletion for script functions and variables
  • [PICARD-1798] – Add support for inline translatable script documentation

Improvements

  • [PICARD-824] – Expand all option submenus by default
  • [PICARD-920] – Remember selected options page
  • [PICARD-1117] – Instrumental recordings of a work should set language to “No lyrics”
  • [PICARD-1796] – Consider release date when matching files to releases
  • [PICARD-1805] – Make it easier to add the first script
  • [PICARD-1818] – Make PyQt5.QtDBus optional
  • [PICARD-1829] – Add support for disc numbers in cluster Info dialog tracklists
  • [PICARD-1831] – Mitigate performance impacts of file selection and UI updates during processing
  • [PICARD-1840] – Instrumental recordings of a work should drop the lyricist credit
  • [PICARD-1842] – AIFF and DSF: Add support for albumsort, artistsort, titlesort and discsubtitle
  • [PICARD-1843] – Improve load and clustering performance
  • [PICARD-1844] – Further improve loading and clustering performance
  • [PICARD-1845] – Add “lookup in browser” for musicbrainz_discid tag in metadata view
  • [PICARD-1846] – Metadata.unset should not raise KeyError
  • [PICARD-1847] – Restructure tag compatibility options
  • [PICARD-1852] – Make about a separate dialog
  • [PICARD-1854] – Improve sorting performance in main window
  • [PICARD-1856] – Use pgettext function in Python 3.8

Download

Picard 2.4 beta 1 is available for download from the download page.

Helping out

The easiest way to help us getting a great Picard 2.4 release is using and testing this release candidate. Please report bugs on the Picard issue tracker and provide feedback in the community forums.

Please also help translate Picard. There have been many changes to the user interface and existing translations need to be updated for the final 2.4 release. Translating is easy and can be done online: Head over to MusicBrainz’s translation page on Transifex and click on “Help Translate MusicBrainz”.
Once you have registered an account on Transifex you can start translating. For Picard the primary resource to translate is “picard“, but there is also the “picard_appstream” resource which is used for providing descriptions for various Linux software-center applications.

If you are a software developer you are very welcomed to provide fixes and features. Picard is free software and the source code is available on GitHub. See Developing on the Picard website to get started.

Picard 2.3.2 released

Picard 2.3.2 has been released and is available for download. This is mainly a bug-fix release with few minor improvements, see below for a full list of changes.

This release contains code changes by zas, rdswift, outsidecontext, RaysDev and new contributors Undearius and Gabrielcarvfer, who also is working on some interesting changes regarding UI responsiveness.
Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback.

Download

Picard 2.3.2 is available for download from the download page.

Changes

Below is a list of all changes since Picard 2.3.1. If you are upgrading from an older version you might want to read previous release post.

Breaking change:

$find script function now returns “” rather than -1 on not found, for the sake of consistency. You may want to review your scripts.

Notable improvements:

Picard was trying to guess the file format based on file content. This was very IO expensive and in many cases not needed. So we decided to change the logic to:

  • Try guessing the format by file extension first
  • If no extension or no matching file extension is available, guess by file content
  • If format was guessed by extension and loading the file with mutagen fails with an exception, retry with guessing by file content. Retry loading if the newly guessed format is different from the format guessed by extension.

Also notable, On Windows 10, support for fractional scaling was implemented.

The complete list of changes is the following:

Bug

  • [PICARD-1775] – $firstwords function doesn’t catch IndexError
  • [PICARD-1776] – $datetime crashes when invalid format specified
  • [PICARD-1781] – Have $find return “” rather than “-1” on not found
  • [PICARD-1783] – Deleting performer, comment or lyrics tag fails for some cases in ID3, Vorbis, MP4 and Apev2 tags
  • [PICARD-1784] – Host not found error when downloading PDF artwork
  • [PICARD-1785] – $delete(_id3:TXXX:foo) does not delete the ID3 frames
  • [PICARD-1786] – Deleting tag stored in ID3 TIPL frame only removes first occurrence
  • [PICARD-1787] – Deleting case-insensitive TXXX frames does not delete anything
  • [PICARD-1788] – Saving ID3 tags marked as case-insensitive causes duplicated TXXX frames
  • [PICARD-1790] – Crash when selecting plugin that can be updated
  • [PICARD-1791] – Network access is disabled error under VPN service
  • [PICARD-1795] – iTunes tags not removable (reappear after being deleted)
  • [PICARD-1801] – List index out of range when saving Vorbis file
  • [PICARD-1803] – Instrument EWI is rewritten “e w i”

Improvement

  • [PICARD-1777] – Support fractional scaling on Windows 10
  • [PICARD-1800] – Simplify Unicode ‘Bullet’ to ASCII ‘Hyphen-minus’
  • [PICARD-1809] – Optimize format detection logic

Picard 2.3.1 released

Picard 2.3.1 has been released and is available for download. This is mainly a bugfix release, but also some smaller improvements and features made it into this version. Notable changes are the addition of the $sortmulti and $reversemulti scripting functions, overall better handling of releases with multiple release countries and some fixes for the AcoustID fingerprinting. See below for a full list of changes.

This release contains code changes by zas, rdswift, outsidecontext and new contributor RaysDev, who also is working on some interesting changes for the next release. Thanks a lot again to everybody who contributed to this in release with code, translations, bug reports and general feedback. The Picard 2.3 release already was well received, but it is thanks to you all that we can provide a sizeable list of improvements just 10 days later.

Download

Picard 2.3.1 is available for download from the download page.

Changes

Below is a list of all changes since Picard 2.3. If you are upgrading from an older version you might want to read what is new in Picard 2.3.

Bug

  • [PICARD-1745] – Packaged libdiscid is not compatible with macOS 10.12
  • [PICARD-1748] – Many release events can cause the versions context menu to overflow
  • [PICARD-1750] – Existing acoustid_fingerprint tags are not considered for AcoustID submission
  • [PICARD-1754] – DEL always removes release or file from main window
  • [PICARD-1756] – Plugin update fails to compare plugin versions with double digit versions
  • [PICARD-1757] – Crash on loading a release if $div(n,0) is used in a script
  • [PICARD-1760] – Prevent duplicates in top tags editor
  • [PICARD-1762] – Dropping a PDF file on cover art image box doesn’t work
  • [PICARD-1765] – Adding uppercase tags to preserved tags list is not handled correctly
  • [PICARD-1772] – Unexpected results with $num function
  • [PICARD-1773] – Untrapped error on $mod with zero input
  • [PICARD-1774] – $lenmulti with missing name returns “1”

New Feature

  • [PICARD-1743] – Add script functions $sortmulti and $reversemulti to sort and reverse multi-value variables
  • [PICARD-1751] – Provide a %_releasecountries% variable

Improvement

  • [PICARD-1746] – Change Generate AcoustID Fingerprints shortcut to Ctrl+Shift+Y / ⌘⇧Y
  • [PICARD-1752] – Use preferred release countries to select a matching release country if there are multiple
  • [PICARD-1755] – “Supported Languages” on Microsoft Store shows only English (United States)
  • [PICARD-1759] – Make editing tags in top tags list more intuitive
  • [PICARD-1771] – Completely ignore release types set to zero in preferred releases