Difference between revisions of "Developer Resources"

From MusicBrainz Wiki
(In preparation for a new menu structure)
 
(Client libraries: Updated link for MetaBrainz.MusicBrainz, and added links for MetaBrainz.MusicBrainz.CoverArt and MetaBrainz.MusicBrainz.DiscId too.)
 
(25 intermediate revisions by 15 users not shown)
Line 1: Line 1:
 +
See also [[Development]].
 +
 
== Client libraries ==
 
== Client libraries ==
  
; [[python-musicbrainz2]]
+
; [[libcoverart]]  
:  A client library written in Python which provides easy object oriented access to the MusicBrainz database using the [[XML Web Service|XML web service]].
+
:  A C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
 +
 
 +
; [[libmusicbrainz]]  
 +
:  A C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
  
 
; [[libdiscid]]
 
; [[libdiscid]]
 
:  A C library for creating MusicBrainz disc IDs from audio CDs.
 
:  A C library for creating MusicBrainz disc IDs from audio CDs.
 +
:: See also: [[Disc ID Calculation]].
  
; [[libmusicbrainz]]  
+
; [https://python-musicbrainzngs.readthedocs.org/ python-musicbrainzngs]
: A development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
+
:  A client library written in Python which provides easy access to the MusicBrainz database using the [[XML Web Service|XML web service]] (version 2)
 +
 
 +
; [https://github.com/maxkueng/node-musicbrainz node-musicbrainz]
 +
: A MusicBrainz API V2 client for node.js
 +
 
 +
; [https://github.com/Zastai/MetaBrainz.MusicBrainz MetaBrainz.MusicBrainz]
 +
: A native .NET implementation of libmusicbrainz. ([https://www.nuget.org/packages/MetaBrainz.MusicBrainz NuGet Package])
 +
 
 +
; [https://github.com/Zastai/MetaBrainz.MusicBrainz.CoverArt MetaBrainz.MusicBrainz.CoverArt]
 +
: A native .NET implementation of libcoverart. ([https://www.nuget.org/packages/MetaBrainz.MusicBrainz.CoverArt NuGet Package])
 +
 
 +
; [https://github.com/Zastai/MetaBrainz.MusicBrainz.DiscId MetaBrainz.MusicBrainz.DiscId]
 +
: A native .NET implementation of libdiscid. ([https://www.nuget.org/packages/MetaBrainz.MusicBrainz.DiscId NuGet Package])
 +
 
 +
== Bots ==
 +
* https://github.com/lalinsky/musicbrainz-bot
 +
** https://github.com/murdos/musicbrainz-bot (a fork of lalinsky's one)
 +
 
 +
A full list of users with the bot flag can be found on http://musicbrainz.org/privileged
  
 
== Developer documentation ==
 
== Developer documentation ==
  
 
; [[XML Web Service|XML web service]]
 
; [[XML Web Service|XML web service]]
:  The new, REST-based webservice API for direct access to MusicBrainz data (Please review the libraries above before writing your own implementation).
+
:  The REST-based webservice API for direct access to MusicBrainz data (Please review the libraries above before writing your own implementation).
 +
:: '''See also:''' [[XML Web Service/Version 2/examples|Examples]]
 +
:: [[Development/XML Web Service/Version 2/Search|Search server information]] and [[Text Search Syntax]]
 +
:: [https://github.com/metabrainz/mmd-schema/blob/master/schema/musicbrainz_mmd-2.0.rng RelaxNG schema]
 +
:: [[Release Editor Seeding]]: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet
 +
:: [[User:kuno/ws/js|'''(internal)''' JS autocomplete API]]
  
 
; [[Server Setup|Server setup]]
 
; [[Server Setup|Server setup]]
 
: The [[MusicBrainz Server]] is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
 
: The [[MusicBrainz Server]] is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
 +
: The [[MusicBrainz Database]] contains all the metadata information available on musicbrainz.org and it's free for anyone to [[MusicBrainz Database/Download|download]] and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions as part of the Server Setup above or use [https://github.com/lalinsky/mbslave mbslave].
 +
: [[User:kuno/Server/Environment_variables|Server environment variables that may prove useful]]
 +
: [http://svn.musicbrainz.org/search_server/trunk/README Search Server Setup] if you're brave enough to want to try.
 +
: [[User:kuno/Testing|Some javascript testing information]]
 +
 +
; Embedded metadata
 +
: [[Picard Tag Mapping]]: The documentation for how [[Picard]] maps concepts to tags; useful if you want to use these tags elsewhere, or if you'd like to follow the same standard.
 +
:: See also: [[ID3v2.4.0]]
 +
:: [[Disc IDs and Tagging]]
 +
:: [[MusicBrainz Identifier]]
 +
 +
; [[Picard]] Development
 +
: [[Picard_Qt/Plugin_API|Plugin API Documentation]]
 +
: [[Picard Tag Mapping]]
 +
: [[How to Build Picard for Windows|Building on Windows]]
 +
: [[User:Bitmap/Building_Picard_on_OS_X|Building on OS X]]
 +
 +
; Communicating with other developers:
 +
:[[IRC]]: Here's where you ask questions of real live people, if anyone's awake. You love it, you know it.
 +
: [https://community.metabrainz.org/ Forum]: And here's where you ask if we aren't awake, or for anything style-related or needing more consideration than can be easily given in IRC.
 +
: [[MusicBrainz Summit]]s: These happen occasionally, and people get together and talk about MusicBrainz. You should consider coming! Even if not, the discussions had here are sometimes important, and might be worth perusing.
 +
: [http://tickets.musicbrainz.org/ The Musicbrainz bug tracker]
  
; [[Database Setup|Database setup]]
+
[[Category:Documentation]] [[Category:Development]] [[Category:WikiDocs Page]] [[Category:To Be Reviewed]]
: The [[MusicBrainz Database]] contains all the metadata information available on musicbrainz.org and anyone is free to [[Database Download|download]] and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database.
 

Latest revision as of 17:59, 22 March 2020

See also Development.

Client libraries

libcoverart
A C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
libmusicbrainz
A C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
libdiscid
A C library for creating MusicBrainz disc IDs from audio CDs.
See also: Disc ID Calculation.
python-musicbrainzngs
A client library written in Python which provides easy access to the MusicBrainz database using the XML web service (version 2)
node-musicbrainz
A MusicBrainz API V2 client for node.js
MetaBrainz.MusicBrainz
A native .NET implementation of libmusicbrainz. (NuGet Package)
MetaBrainz.MusicBrainz.CoverArt
A native .NET implementation of libcoverart. (NuGet Package)
MetaBrainz.MusicBrainz.DiscId
A native .NET implementation of libdiscid. (NuGet Package)

Bots

A full list of users with the bot flag can be found on http://musicbrainz.org/privileged

Developer documentation

XML web service
The REST-based webservice API for direct access to MusicBrainz data (Please review the libraries above before writing your own implementation).
See also: Examples
Search server information and Text Search Syntax
RelaxNG schema
Release Editor Seeding: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet
(internal) JS autocomplete API
Server setup
The MusicBrainz Server is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
The MusicBrainz Database contains all the metadata information available on musicbrainz.org and it's free for anyone to download and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions as part of the Server Setup above or use mbslave.
Server environment variables that may prove useful
Search Server Setup if you're brave enough to want to try.
Some javascript testing information
Embedded metadata
Picard Tag Mapping: The documentation for how Picard maps concepts to tags; useful if you want to use these tags elsewhere, or if you'd like to follow the same standard.
See also: ID3v2.4.0
Disc IDs and Tagging
MusicBrainz Identifier
Picard Development
Plugin API Documentation
Picard Tag Mapping
Building on Windows
Building on OS X
Communicating with other developers
IRC: Here's where you ask questions of real live people, if anyone's awake. You love it, you know it.
Forum: And here's where you ask if we aren't awake, or for anything style-related or needing more consideration than can be easily given in IRC.
MusicBrainz Summits: These happen occasionally, and people get together and talk about MusicBrainz. You should consider coming! Even if not, the discussions had here are sometimes important, and might be worth perusing.
The Musicbrainz bug tracker