Developer Resources: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(Undo revision 75019 by Chaban (talk): It’s a page for newcomers “getting started” so it seems helpful to have a summary of ways to communicate with other developers here too.)
Tag: Undo
(→‎Client libraries: Replace the incomplete and redundant list of third party alternatives with appropriate links, to keep this general page fairly concise.)
 
(5 intermediate revisions by 3 users not shown)
Line 4: Line 4:


; [[libcoverart]]
; [[libcoverart]]
: A C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
: Our C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
:: See also [[libcoverart#Official_alternatives|official alternatives]] and [[libcoverart#Third_party_alternatives|third-party alternatives]].


; [[libmusicbrainz]]
; [[libmusicbrainz]]
: A C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
: Our C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
:: See also [[libmusicbrainz#Third_party_alternatives|third-party alternatives]].


; [[libdiscid]]
; [[libdiscid]]
: A C library for creating MusicBrainz disc IDs from audio CDs.
: Our C library for creating MusicBrainz disc IDs from audio CDs.
:: See also [[libdiscid#Language_Bindings|language bindings]] and [[libdiscid#Third_party_alternatives|third party alternatives]].
:: See also: [[Disc ID Calculation]].

; [https://python-musicbrainzngs.readthedocs.org/ python-musicbrainzngs]
: 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 ==
== Bots ==
Line 32: Line 19:
** https://github.com/murdos/musicbrainz-bot (a fork of lalinsky's one)
** https://github.com/murdos/musicbrainz-bot (a fork of lalinsky's one)
* https://github.com/Borewit/musicbrainz-augmentation
* https://github.com/Borewit/musicbrainz-augmentation
* https://github.com/FelixRilling/musicbrainz-enricher


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


== Developer documentation ==
== Developer documentation ==

; [[MusicBrainz API|MusicBrainz web API]]
: The REST-based webservice API for direct access to MusicBrainz data with output in XML and JSON (Please review the libraries above before writing your own implementation).
:: '''See also:''' [[MusicBrainz API/Examples]]
:: [[MusicBrainz API/Search|Search requests]] and [[Indexed Search Syntax]]
:: [https://github.com/metabrainz/mmd-schema/blob/master/schema/musicbrainz_mmd-2.0.rng XML 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]]
: 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 from [[Server Setup|server setup]] or use third-party [https://pypi.org/project/mbdata/].
: [[Development/MusicBrainz_Server_Environment_Variables|Server environment variables that may prove useful]]
: [https://github.com/metabrainz/mb-solr Search Server Setup] and [https://github.com/metabrainz/sir Search Indexer Setup] if you're brave enough to want to try.


; Embedded metadata
; Embedded metadata

Latest revision as of 14:06, 28 October 2023

See also Development.

Client libraries

libcoverart
Our C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
See also official alternatives and third-party alternatives.
libmusicbrainz
Our C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
See also third-party alternatives.
libdiscid
Our C library for creating MusicBrainz disc IDs from audio CDs.
See also language bindings and third party alternatives.

Bots

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

Developer documentation

MusicBrainz web API
The REST-based webservice API for direct access to MusicBrainz data with output in XML and JSON (Please review the libraries above before writing your own implementation).
See also: MusicBrainz API/Examples
Search requests and Indexed Search Syntax
XML 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 from server setup or use third-party [1].
Server environment variables that may prove useful
Search Server Setup and Search Indexer Setup if you're brave enough to want to try.
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