Development Goals
Welcome to JAudiotagger. The aim of this project is to provide a world class Java library for editing tag information in audio files. Most existing solutions are not java based inhibiting the use of java applications with digital files.
Functional Goals
- It should support the ID3 Specification accurately and completely
- It should support other audio and tagging formats in a consistent and flexible manner, it should be possible to provide a level of indirection to end users so they do not have to deal with the intricases of the format themselves WITHOUT dumming down the interface and only providing access to basic fields such as Artist/Album...
- It should help in the development of an XML/RDF tagging format
- It should integrate well with new technologies such as Musicbrainz
- It should be possible to convert between tag versions (i.e v23 <-> v 24) and between tagging formats If allowed for the audio format (e.g mp3 supports both ids and ogg)
- Scope is limited to reading and writing tags
Non Functional Goals
- It should be written the Java way,many low level interfaces take a very old-fashioned approach to design, often they are designed like a C program with vast switch statements/bit manipulation and magic numbers sprinkled everywhere. The code should be self documenting you should not need to know the ID3 specification inside out from another source
- It should take advantage of the latest Java releases when they are available on all major platforms, I have not upgraded to Java 1.6 yet as this is not yet available on MacOS