MusicBrainz Projects: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(→‎The list of modules currently under source control: Update links to source control for Picard; add current NGS source code; add warning for old mb_server source code)
Line 16: Line 16:
: This project contains the sources for building [[libtunepimp|TunePimp]] (or libtunepimp), which provides a basic framework for tagger applications. Using this library, it is easy to write a complete tagging application -- only a UI layer needs to be added. This library handles all the tricky details of reading and writing metadata tags, looking up [[PUID]]s from various audio formats, and matching the information extracted from the local digital audio files with the fingerprint information stored in MusicBrainz. Also includes Perl bindings.
: This project contains the sources for building [[libtunepimp|TunePimp]] (or libtunepimp), which provides a basic framework for tagger applications. Using this library, it is easy to write a complete tagging application -- only a UI layer needs to be added. This library handles all the tricky details of reading and writing metadata tags, looking up [[PUID]]s from various audio formats, and matching the information extracted from the local digital audio files with the fingerprint information stored in MusicBrainz. Also includes Perl bindings.


; [http://bugs.musicbrainz.org/browser/mb_server mb_server]
; [http://bugs.musicbrainz.org/browser/mb_server mb_server] (Classic)
: The main MusicBrainz [[Server]]. Most of this code is written in Perl and is designed to run inside the Apache web server, using mod_perl with the Mason web framework.
: The "classic" MusicBrainz [[Server]] (pre-May 2011). Most of this code is written in Perl and is designed to run inside the Apache web server, using mod_perl with the Mason web framework. [[Image:Attention.png]] Further development on this version of MusicBrainz has been stopped.

; [https://github.com/metabrainz/musicbrainz-server mb_server] (Current / NGS)
: The current version of MusicBrainz [[Server]] (post-May 2011). Most of this code is written in Perl and is designed to run inside the Apache web server, using mod_perl with the Catalyst framework and TemplateToolkit.


; [http://bugs.musicbrainz.org/browser/mb_tagger mb_tagger]
; [http://bugs.musicbrainz.org/browser/mb_tagger mb_tagger]
: Source code for the legacy windows-only tagger application (see [[MusicBrainz Tagger]]). Further development on this project has been stopped, it has been replaced with [[MusicBrainz Picard]]. Borland C++ builder 6.0 is required to build this project.
: Source code for the legacy windows-only tagger application (see [[MusicBrainz Tagger]]). [[Image:Attention.png]] Further development on this project has been stopped, it has been replaced with [[MusicBrainz Picard]]. Borland C++ builder 6.0 is required to build this project.


; [http://bugs.musicbrainz.org/browser/metabrainz metabrainz]
; [http://bugs.musicbrainz.org/browser/metabrainz metabrainz]
Line 31: Line 34:
: Net bindings for the the [[XML Web Service]]
: Net bindings for the the [[XML Web Service]]


; [http://bugs.musicbrainz.org/browser/picard picard]
; [https://launchpad.net/picard picard]
: The new cross-plattform tagger application (see [[MusicBrainz Picard]])
: MusicBrainz's current cross-platform reference tagger application (see [[MusicBrainz Picard]])


; [http://bugs.musicbrainz.org/browser/pimpmytunes pimpmytunes]
; [http://bugs.musicbrainz.org/browser/pimpmytunes pimpmytunes]

Revision as of 13:39, 7 June 2011

Development > MusicBrainz Projects

The list of modules currently under source control

This is the list of modules currently under source control. Each of these modules has its own set of release numbers / tags which you can use if desired.

libdiscid
The libdiscid library for creating MusicBrainz DiscIDs, based on libmusicbrainz-2, but written in C.
libmusicbrainz
This project contains the sources for building the MusicBrainz Client Library (or libmusicbrainz), which allows the end user to request data from the RDF web service and look up TRM IDs from WAV audio data.
libofa
The open source fingerprinting architecture (see MusicIP)
libtunepimp
This project contains the sources for building TunePimp (or libtunepimp), which provides a basic framework for tagger applications. Using this library, it is easy to write a complete tagging application -- only a UI layer needs to be added. This library handles all the tricky details of reading and writing metadata tags, looking up PUIDs from various audio formats, and matching the information extracted from the local digital audio files with the fingerprint information stored in MusicBrainz. Also includes Perl bindings.
mb_server (Classic)
The "classic" MusicBrainz Server (pre-May 2011). Most of this code is written in Perl and is designed to run inside the Apache web server, using mod_perl with the Mason web framework. Attention.png Further development on this version of MusicBrainz has been stopped.
mb_server (Current / NGS)
The current version of MusicBrainz Server (post-May 2011). Most of this code is written in Perl and is designed to run inside the Apache web server, using mod_perl with the Catalyst framework and TemplateToolkit.
mb_tagger
Source code for the legacy windows-only tagger application (see MusicBrainz Tagger). Attention.png Further development on this project has been stopped, it has been replaced with MusicBrainz Picard. Borland C++ builder 6.0 is required to build this project.
metabrainz
The MetaBrainz foundation web site. (see MetaBrainz)
mmd-schema
The MusicBrainz metadata definition schema (see MusicBrainz XML Meta Data)
musicbrainz-sharp
Net bindings for the the XML Web Service
picard
MusicBrainz's current cross-platform reference tagger application (see MusicBrainz Picard)
pimpmytunes
Command-line based tagger, uses the lucene index.
python-musicbrainz2
Reference implementation bindings for the new web service. (see PythonMusicBrainz2).
search_server
Text-search solution based on Lucene. Contains 2 modules: the index builder and the web service.

Checking out a project from source control

In all cases, by doing a plain "checkout" of a module you retrieve the latest development copy (i.e. trunk), which will not necessarily be stable. If you want a stable copy, usually a numbered release, you'll need to find the correct Subversion tag corresponding to the release you want, you can then fetch it by appending the /tags/sometagname to the repository url. For example, if you want to fetch the 2.0.2 release of libmusicbrainz you have to use this command:

svn co http://svn.musicbrainz.org/libmusicbrainz/tags/release-2-0-2 libmusicbrainz 

Whereas to fetch the latest, unstable version you have to use this command:

svn co http://svn.musicbrainz.org/libmusicbrainz/trunk libmusicbrainz