Difference between revisions of "Developer Resources"

From MusicBrainz Wiki
m
m (Developer documentation)
 
(15 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 +
See also [[Development]].
 +
 
== Client libraries ==
 
== Client libraries ==
 +
 +
; [[libcoverart]]
 +
:  A C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
  
 
; [[libmusicbrainz]]  
 
; [[libmusicbrainz]]  
:  A C development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
+
:  A C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
  
 
; [[libdiscid]]
 
; [[libdiscid]]
Line 8: Line 13:
 
:: See also: [[Disc ID Calculation]].
 
:: See also: [[Disc ID Calculation]].
  
; [[python-musicbrainz2]]
+
; [https://python-musicbrainzngs.readthedocs.org/ python-musicbrainzngs]
An '''outdated''' client library written in Python which provides easy object oriented access to the MusicBrainz database using the [[XML Web Service|XML web service]] version 1 (for version 2, you should probably check [https://github.com/alastair/python-musicbrainz-ngs python-musicbrainz-ngs])  
+
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 ==
Line 16: Line 39:
 
:  The 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]]
 
:: '''See also:''' [[XML Web Service/Version 2/examples|Examples]]
:: [[Next Generation Schema/SearchServerXML|Search query/XML information]] and [[Text Search Syntax]]
+
:: [[Development/XML Web Service/Version 2/Search|Search server information]] and [[Text Search Syntax]]
:: [http://svn.musicbrainz.org/mmd-schema/trunk/schema/musicbrainz_mmd-2.0.rng RelaxNG schema]
+
:: [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
 
:: [[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]]
 
:: [[User:kuno/ws/js|'''(internal)''' JS autocomplete API]]
Line 23: Line 46:
 
; [[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 anyone is 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].
+
: 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]]
 
: [[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.
 
: [http://svn.musicbrainz.org/search_server/trunk/README Search Server Setup] if you're brave enough to want to try.
Line 29: Line 52:
  
 
; Embedded metadata
 
; 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.
+
: [[picard:docs/mappings/|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]]
 
:: See also: [[ID3v2.4.0]]
 
:: [[Disc IDs and Tagging]]
 
:: [[Disc IDs and Tagging]]
Line 35: Line 58:
  
 
; [[Picard]] Development
 
; [[Picard]] Development
: [[Picard_Qt/Plugin_API|Plugin API Documentation]]
+
: [[picard:docs/plugin-api/|Plugin API Documentation]]
: [[Picard Tag Mapping]]
+
: [[picard:docs/mappings/|Picard Tag Mapping]]
: [[How to Build Picard for Windows|Building on Windows]]
+
: [https://picard.musicbrainz.org/docs/build-windows/ Building on Windows]
: [[User:Bitmap/Building_Picard_on_OS_X|Building on OS X]]
+
: [https://picard.musicbrainz.org/docs/build-osx/ Building on macOS]
  
 
; Communicating with other developers:
 
; 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.
 
:[[IRC]]: Here's where you ask questions of real live people, if anyone's awake. You love it, you know it.
: [[Mailing Lists]]: 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.
+
: [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.
 
: [[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.
 +
: [https://tickets.musicbrainz.org/ The Musicbrainz bug tracker]
  
 
[[Category:Documentation]] [[Category:Development]] [[Category:WikiDocs Page]] [[Category:To Be Reviewed]]
 
[[Category:Documentation]] [[Category:Development]] [[Category:WikiDocs Page]] [[Category:To Be Reviewed]]

Latest revision as of 09:18, 25 August 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 macOS
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