libmusicbrainz
- 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.
| 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
- C#/Mono/.NET:
- Common Lisp - cl-musicbrainz
- Go
- Haskell:
- Java - musicbrainzws2-java
- JavaScript/Node.js:
- Objective-C - libmusicbrainz-objc
- Perl - WebService::MusicBrainz
- PHP:
- Python - python-musicbrainzngs
- Ruby:
- Rust - musicbrainz_rs: Crate (GitHub)
- ↑ COPYING.TXT, libmusicbrainz public source code repository at GitHub.