Category Archives: Development

Announcing libmusicbrainz release 5.1.0

I have released a new version of libmusicbrainz. The main changes in this release are the removal of ‘non-free’ XML parsing code, replacing it with libxml2.

N.B. Due to the ABI change, the soname of this library has been bumped. Existing applications will need to be recompiled against the new version.

The following are the main changes in this release:

  • Fix LMB-33 – Handle ‘ended’ element in ‘relation’
  • Fix LMB-34 – Remove non-free XML parser and replace with libxml2
  • Add support for cross-compilation and building out of tree

The release is available here:

libmusicbrainz-5.1.0.tar.gz
(
MD5 checksum: 4cc5556aa40ff7ab8f8cb83965535bc3)

Documentation for the new version is available under

http://metabrainz.github.com/libmusicbrainz/

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.

 

 

MHD San Francisco 2014

MusicBrainz is represented at Music Hack Day San Francisco 2014 this weekend!

If you’re a hacker who is participating, this page collects a number of interesting things about MusicBrainz that lets you get started with MusicBrainz easily.

If you’d like some help with MusicBrainz, come see Rob in the the back of presentation area. Rob is the guy with the crazy hair and the bright orange t-shirt.

Have fun!

Our embedded RDFa will be going away in two weeks

We’ve been trying to find anyone making use of the RDFa embedded in our pages, but we’ve been unable to find anyone.

Given that the RDFa makes our templates much harder and cumbersome to edit, we’ve decided to go ahead and remove our RDFa support in two weeks time.

Since we could not find anyone who actually uses our RDFa, this shouldn’t be a problem. But we suspect that someone, somewhere will be angry with us for removing the RDFa support without any warning or without being asked for feedback. :-/

Announcing python-musicbrainzngs, release 0.5

We’ve just release a new version of python-musicbrainzngs, a library for accessing the Musicbrainz webservice from python.
Version 0.5 comes with a lot of new features, including:

  • Support for URL entities
  • Support for Area entities
  • Support the experimental JSON webservice
  • Support fuzzy disc lookup by TOC
  • add a -count element to browse and search requests
  • added support for link type UUIDs
  • deprecated puid and echoprint support

And a number of bug fixes and other small changes. See the CHANGES file  for more information.

For consistency with online repositories and distribution packages, we’ve renamed some URLs. You can now find the library on github and readthedocs at:

You will be automatically redirected if you access the old urls.

Thanks to Johannes Dewender, Ian McEwen, Wieland Hoffmann, Simon Chopin and Ryan Helinski for contributing to this release.

The new version can be downloaded from github, pypi, or installed with pip

python-discid 1.1.0 (and 1.0.3) released

New versions of python-discid are available.

Changes in 1.1.0

  • feature: #36 add Disc.toc_string
  • #38 remove DiscId (deprecated since 0.5.0)

Changes in 1.0.3

  • fix: #37 test_emptyness: Assertion disc->success failed

Python-discid 1.0.3 is a bugfix version for the recent libdicid 0.6.0 release and python-discid 1.1.0 adds the TOC string, which is also part of new libdiscid versions. The TOC can be used for fuzzy searches in the web service.
The toc string feature was backported and can be used together with any version of libdiscid >= 0.2.2.

The bugfix for 1.0.3 is only relevant for running the test suite (which is done at install time usually). It shouldn’t affect normal operation. If you don’t have any problems, you don’t need to upgrade.

The DiscId class was already deprecated in the 0.5.0 beta, but still works in 1.0.x releases.
The correct usage is to create a Disc object with read() or put().
See also basic usage of python-discid.

Downloads are available at pypi. Packages are available for some linux distributions.
Recent stable and git versions of python-discid and other MusicBrainz client libraries and tools are now available for many Ubuntu versions at the MusicBrainz Stable and https://launchpad.net/~musicbrainz-developers/+archive/daily PPAs.

libdiscid 0.6.0 (and 0.6.1) released

This is a feature release of libdiscid.

It took more time than planned, but 0.6.0 is done now with lots of changes.
Main changes are the TOC string api (handy for fuzzy lookup) and a much better default drive detection on all platforms.
An example to use libdiscid together with libmusicbrainz (including fuzzy lookup) is also provided now.

Unfortunately I found one major bug only while merging changes to another branch. Libdiscid 0.6.1 fixes reading of ISRCs on Windows again (introduced in 0.6.0).

The full set of changes:

Bug

  • [LIB-48] – Fix asserts/return values on empty object
  • [LIB-59] – windows: unable to read ISRC (0.6.1)

Improvement

  • [LIB-52] – validate parameters for put()
  • [LIB-53] – don’t use old redirect for submission_url

New Feature

  • [LIB-28] – allow using numbers as devices on Mac OS X
  • [LIB-41] – Add TOC (id) to API
  • [LIB-43] – Use first CD drive letter on Windows as default device
  • [LIB-45] – Linux/BSD/Solaris: search for an existing default device from a list of devices
  • [LIB-54] – Add example: libmusicbrainz / query for metadata
  • [LIB-55] – Allow using numbers as devices on Windows
  • [LIB-56] – Allow using device numbers on Linux

I want to thank Philipp Wolfer for the Windows drive detection, Laurent Monin for the TOC string API and also Sebastian Ramacher and Lukáš Lalinský for smaller changes.

Testing wanted for raw ISRC reads

Reading ISRCs raw from the device with SCSI commands ([LIB-11, duplicate ISRC problems) is already implemented for Linux and Windows and works quite well on most drives. There is no code for support on Mac, yet. The Windows and Linux implementation still need some testing (with different drives).

If you are willing to test this or really need this feature you can build the code in the “isrc_raw” branch from the github repository.
There is also a windows binary available.
We do want to know about problems (some drives are already reported with strange behavior, possibly due to Alignment), but also a short note about working systems is helpful to get a bit of insight on how rare or frequent failures are.

We also happily accept patches to send SCSI commands on Mac OS X. There is some information in the ticket how this could work, but this is probably the most difficult of the platforms to implement.

Information, documentation and other links are at:
http://musicbrainz.org/doc/libdiscid
That includes builds for Windows and Mac OS X.