Andy Hawkins has continued to make great work on the 4th version of libmusicbrainz, and has just announced the second beta release. Andy writes:
I am pleased to announce the second Beta release of libmusicbrainz4, a client library for retrieving data from the MusicBrainz service using the latest /ws/2 web service.
This is a significant rewrite of the code since Beta 1, but this should mean it is much easier to maintain going forward. Unfortunately it is not ABI compatible with Beta 1, which will mean all client applications will need to be recompiled (and are likely to require some code changes).
The main changes are in the areas of list handling, with a cleaner internal implementation of lists. Additionally, the C interface is now generated automatically from an XML description file, and there is correct handling for some XML schema changes that have been made since the first release. Finally, the ownership of items in the C interface has changed slightly, please check the documentation for each method in the C interface for full details.
Note that some include files have been removed. I would recommend that you clean out the ‘include/musicbrainz4’ directory in your install location before installing this newer version.
The library is available to download here:
Documentation is generated from the source (make docs), an online copy is available here:
Please also check the sample programs (under ‘examples’) for details on how to use the library.
If you find any issues, please report them using JIRA (under the project ‘libmusicbrainz’) here:
As ever, please feel free to ask any questions about the library either here or via the #musicbrainz-devel channel on IRC (when I’m around).