MusicBrainz Projects: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
m (12 revision(s))
mNo edit summary
Line 51: Line 51:
==Checking out a project from source control==
==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 <code><nowiki>/tags/sometagname</nowiki></code> to the repository url. For example, if you want to fetch the 2.0.2 release of [[libmusicbrainz]] you have to use this command:
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 <code>/tags/sometagname</code> to the repository url. For example, if you want to fetch the 2.0.2 release of [[libmusicbrainz]] you have to use this command:


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

Revision as of 04:03, 17 March 2009

Development > MusicBrainz Projects

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.

  • The libdiscid library for creating MusicBrainz DiscIDs, based on libmusicbrainz-2, but written in C.
  • 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.
  • The open source fingerprinting architecture (see MusicIP)
  • 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.
  • 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.
  • Source code for the legacy windows-only tagger application (see MusicBrainzTagger). Further development on this project has been stopped, it is being replaced with the PicardTagger. Borland C++ builder 6.0 is required to build this project.
  • the new cross-plattform tagger application (see PicardTagger)
  • command-line based tagger, uses the lucene index.
  • The web service which carries out searches in the lucene/xapian index.

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