libmusicbrainz

This page has not been reviewed by our documentation team (more info).
Products ► libmusicbrainz

The MusicBrainz client library, libmusicbrainz (also known as mb_client), is a development library written in C++ to provide data lookup and retrieval capabilities for the MusicBrainz API within third-party applications. Its cross-platform architecture supports Windows, Linux and macOS, with official binary packages released for the popular Red Hat and Debian GNU/Linux distributions and their derivatives.

Version 5.0 or newer of the library is required to connect to the current version of the MusicBrainz web service, which is not backwards-compatible with earlier versions of the MusicBrainz server software.

If you are looking for an example of how to integrate libmusicbrainz into a standalone, user-facing graphical application, we recommend looking at our own Picard music tagging software.

Download

The most recent stable version of libmusicbrainz is v5.1.0, released November 13, 2014.

Download libmusicbrainz v5.1.0 libmusicbrainz-5.1.0.tar.gz (75.4 KiB)
Checksums
MD5: 4cc5556aa40ff7ab8f8cb83965535bc3
SHA-224: 58dbd824d10d6ee90ac427a85e6ea77b71066d947ea2e5dfed2d9957

Older releases are available on the MusicBrainz FTP Server.

Source code

The source code is managed using the Git version control system and available publicly on GitHub. If you have the Git command-line client installed on your device, you can download the complete repository using the command:


git clone https://github.com/metabrainz/libmusicbrainz.git.

Documentation

For details on how to use the library, please consult the official API documentation.

Compiling from source

The compiling the library is managed using the freely-available, cross-platform CMake build system from Kitware, version 2.6 or newer.

Dependencies

Compiling from source code requires the presence of two other mandatory dependencies:

  • neon – an HTTP/1.1 and WebDAV client library
  • libxml2 – an XML toolkit implemented in C, originally developed for the GNOME Project

Two further optional dependencies are needed in order to build the API documentation embedded in the source code:

  • Doxygen – a documentation generator tool
  • Graphviz – graph visualization software used by Doxygen to create the illustrations present in the API documentation

Ubuntu Linux

To build libmusicbrainz from source code on Ubuntu Linux, open a session in a terminal emulator and issue the following sequence of commands.

sudo apt update
sudo apt install build-essential cmake doxygen dpkg-dev git graphviz gzip libneon27-gnutls-dev libxml2-dev pkgconf tar
git clone https://github.com/metabrainz/libmusicbrainz.git
cd libmusicbrainz && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE:STRING="Release" -DLIB_SUFFIX:STRING="/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" ..
cmake --build .
sudo cmake --install .

Licensing

The MusicBrainz client library is licensed under the terms of the GNU Lesser General Public License, version 2.1.[1]

Deprecated versions

Since 2011, all versions of libmusicbrainz prior to version 4 are been deprecated and are unsupported.

Third-party alternatives



  1. COPYING.TXT, libmusicbrainz public source code repository at GitHub.