libdiscid: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(add a note about the ISRC tools using libdiscid (to submit Disc IDs and ISRCs); link Disc ID)
No edit summary
Line 1: Line 1:
<small>[[Products]] > libdiscid </small>
<small>[[Products]] > libdiscid </small>


'''libdiscid''' is a C library for creating MusicBrainz and freedb [[Disc ID]]s from audio CDs.
'''libdiscid''' is a C library for creating MusicBrainz and freedb [[Disc ID|disc ID]]s from audio CDs.
It reads a CD's table of contents (TOC) and generates an identifier which can be used to lookup the CD at MusicBrainz.
It reads a CD's table of contents (TOC) and generates an identifier which can be used to lookup the CD at MusicBrainz.
Additionally, it provides a submission URL for adding the DiscID to the database and gathers [[ISRC]]s and the MCN (=UPC/EAN) from disc.
Additionally, it provides a submission URL for adding the disc ID to the database and gathers [[ISRC]]s and the MCN (=UPC/EAN) from disc.


The interface of this library is new, but the DiscID algorithm and the operating system dependent CD-ROM/DVD-ROM access code have been ported from libmusicbrainz version 2.
The interface of this library is new, but the disc ID algorithm and the operating system dependent CD-ROM/DVD-ROM access code have been ported from libmusicbrainz version 2.


For more info about the interface read the [http://jonnyjd.github.com/libdiscid API documentation].
For more info about the interface read the [http://jonnyjd.github.com/libdiscid API documentation].
The repository is at [https://github.com/metabrainz/libdiscid Github] and bugs should be reported at the [http://tickets.musicbrainz.org/browse/LIB MusicBrainz Bugtracker].
The repository is at [https://github.com/metabrainz/libdiscid GitHub] and bugs should be reported at the [http://tickets.musicbrainz.org/browse/LIB MusicBrainz bug tracker].


libdiscid is licensed under the [http://www.gnu.org/copyleft/lgpl.html GNU Lesser General Public License 2.1 or later].
libdiscid is licensed under the [http://www.gnu.org/copyleft/lgpl.html GNU Lesser General Public License 2.1 or later].
Line 25: Line 25:
Changes:
Changes:


* [https://raw.github.com/metabrainz/libdiscid/master/ChangeLog ChangeLog] (github)
* [https://raw.github.com/metabrainz/libdiscid/master/ChangeLog ChangeLog] (GitHub)


==Language Bindings==
==Language bindings==


* Ruby - [https://github.com/phw/mb-discid mb-discid]
* Ruby - [https://github.com/phw/mb-discid mb-discid]
* Perl - [http://search.cpan.org/dist/MusicBrainz-DiscID/ http://search.cpan.org/dist/MusicBrainz-DiscID/] ([https://github.com/njh/perl-musicbrainz-discid GitHub])
* Perl:
** [http://search.cpan.org/dist/MusicBrainz-DiscID/ http://search.cpan.org/dist/MusicBrainz-DiscID/] ([https://github.com/njh/perl-musicbrainz-discid GitHub])
** [[User:PBryan/mbdiscid]], no binding but a rewrite in Perl
* Java:
* Java:
** [https://github.com/dietmar-steiner/JMBDiscId JMBDiscId]
** [https://github.com/dietmar-steiner/JMBDiscId JMBDiscId]
** [http://benow.ca/projects/libdiscid-java/ http://benow.ca/projects/libdiscid-java/]
** [http://benow.ca/projects/libdiscid-java/ http://benow.ca/projects/libdiscid-java/]
* Python:
* Python:
** [https://python-discid.readthedocs.org python-discid] a Binding for Python 2 and 3
** [https://python-discid.readthedocs.org python-discid], a binding for Python 2 and 3
** [[python-musicbrainz2|PythonMusicBrainz2]], this is not a direct wrapper, but contains functions to access libdiscid using its own API
** [[python-musicbrainz2]], this is not a direct wrapper, but contains functions to access libdiscid using its own API
* Haskell - [http://hackage.haskell.org/package/MusicBrainz-libdiscid Hackage] ([https://github.com/atwupack/MusicBrainz-libdiscid GitHub])
* Haskell - [http://hackage.haskell.org/package/MusicBrainz-libdiscid Hackage] ([https://github.com/atwupack/MusicBrainz-libdiscid GitHub])


==Tools based on Libdiscid==
==Tools based on libdiscid==
* [[ISRC#Resources]], many ISRC submit tools are based on libdiscid or one of the bindings and can be used to add disc IDs and ISRCs.
* [[ISRC#Resources]], many ISRC submit tools are based on libdiscid or one of the bindings and can be used to add disc IDs and ISRCs.
* [[Picard]] uses libdiscid to calculate the disc ID (lookup by CD)
* [[Picard]] uses libdiscid to calculate the disc ID (lookup by CD)

==See also==
* [[User:PBryan/mbdiscid]], an alternative in Perl


[[Category:Products]] [[Category:Development]] [[Category:WikiDocs Page]] [[Category:To Be Reviewed]]
[[Category:Products]] [[Category:Development]] [[Category:WikiDocs Page]] [[Category:To Be Reviewed]]

Revision as of 10:15, 7 April 2013

Products > libdiscid

libdiscid is a C library for creating MusicBrainz and freedb disc IDs from audio CDs. It reads a CD's table of contents (TOC) and generates an identifier which can be used to lookup the CD at MusicBrainz. Additionally, it provides a submission URL for adding the disc ID to the database and gathers ISRCs and the MCN (=UPC/EAN) from disc.

The interface of this library is new, but the disc ID algorithm and the operating system dependent CD-ROM/DVD-ROM access code have been ported from libmusicbrainz version 2.

For more info about the interface read the API documentation. The repository is at GitHub and bugs should be reported at the MusicBrainz bug tracker.

libdiscid is licensed under the GNU Lesser General Public License 2.1 or later.

Download

Source code:

Compiled packages:

Changes:

Language bindings

Tools based on libdiscid

  • ISRC#Resources, many ISRC submit tools are based on libdiscid or one of the bindings and can be used to add disc IDs and ISRCs.
  • Picard uses libdiscid to calculate the disc ID (lookup by CD)

See also