News | Download | Mailing list | Bugs | Patches | CVS

id3lib

Latest Release: 3.8.3

Overview

id3lib is an open-source, cross-platform software development library for reading, writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project whose primary goals are full compliance with the ID3v2 standard, portability across several platforms, and providing a powerful and feature-rich API with a highly stable and efficient implementation.

Features

Powerful
  id3lib automatically handles most of the low-level details involved with manipulating ID3v1 and ID3v2 tags in digital audio files. It provides support for several tasks associated with manipulating such tags, such as conversion between tagging formats, identifying valid tags, converting sizes, synchronisation, compression, and padding.
Standards-compliant
  While many digital audio libraries and applications provide minimal support for basic ID3v1 tagging, few provide the same level of support for the up-and-coming ID3v2 standard like id3lib. The developers of id3lib work closely with the ID3v2 specification and go to great effort to ensure the library correctly handles all its nuances. By using id3lib for both your ID3v1 and ID3v2 tagging needs, you can be assured that your application produces tags that comply with the standard now and in the future.
Cross-platform
  A primary goal for id3lib is cross-platform compatibility. The library is developed primarily on the GNU/Linux operating system but has been compiled and tested on other Unix-like OS's as well as Windows NT.
Multi-language
  id3lib aspires to provide interfaces for multiple programming languages, and currently fully supports both C and C++. A COM wrapper (id3com) is also supplied allowing VB, VBA, VBScript and other COM-enabled languages to use the library.

Development

All development is centered around the the id3lib project page hosted by SourceForge. Please go there to find out the latest news, download the current release, join the mailing list, file a bug report, submit a patch, browse the CVS repository, or just look around.

Licensing

The id3lib library is open-source software, licensed under the GNU Library General Public License (LGPL). In short, this allows any application to link to and use the library without affecting their license, while guaranteeing that the id3lib library itself (and any modifications to it) will remain freely available in source code form. The project developers therefore greatly encourage input from everyone, be it with feature suggestions, code patches, bug reports, or anything. The best way to contribute to this effort is to subscribe to the mailing list and join in on the discussions!
Versions of ID3Lib prior to and including version 3.05a were released to the public domain. The last such release is still available for download. These versions are therefore completely free of any licence restrictions, but are no longer maintained.

Documentation

The following documentation is available for those who wish to develop software with id3lib:

- Documentation for the id3lib API is available thanks to the Doxygen documentation system.
- There is a web-readable translation of the original ID3Lib manual, written by Dirk Mahoney, the original author of ID3Lib. The API for the current library has changed somewhat, but this documentation is still mostly valid. Many thanks to Scott Moser for the web-friendly translation.
- James Lin wrote some guidelines for those programming with ID3v2 tags. It, too, is outdated, and some of the links are broken. But most of the information is still pertinent and quite valuable.

Projects

The following software projects have used, do use, or will use id3lib for their ID3v1 and ID3v2 tag processing:

- MusicMatch, creators of the MusicMatch Jukebox for Windows and a previous project coordinator for ID3Lib
- FreeAmp is a cross-platform mp3 player and, as of version 2.1, is using id3lib for their ID3v1/v2 support.
- empeg, creators of the world-renowned in-car MP3 player, uses id3lib for reading and writing ID3v1/v2 tags in their various tools and utilities.
- The id3v2 tagger is a GNU/Linux command-line editor for ID3v1/v2 tags
- Zlurp! is an all-in-one CD audio tool for Windows that rips, encodes and tags CDs.
- The javpc project's goal is to turn a PC into an audio/visual unit sutibale for plugging into a Hi-Fi and TV.
- Sonize is a collection of small but powerful tools integrated in one application that organizes and prepares your mp3 files for publishing on CDROM
- AmpBar uses a modified version of the 3.05a library in their MP3 player and ID3v2 tag editor.

The following software projects used the original version of ID3Lib. Whether or not they still do is currently unknown.

- Easy CD-DA Extractor, a Windows CD-Ripper/Tagger/CDDB
- MacAmp, a Macintosh MP3 Player

If I have listed any of the above in error or if I have neglected any other projects that use id3lib, please let me know so that I might update the list accordingly.

Contacting the Author

The id3lib project is currently coordinated by Scott Thomas Haug. The original ID3Lib library was written by Dirk Mahoney.

News | Download | Mailing list | Bugs | Patches | CVS