I recently started working on a small audio processing project. I chose to use mad library for dealing with mp3 files.
Since I needed to study it for getting enough understanding of it,
and the package TODO
file calls for contributors to documentation
project, I tried to make my notes useful for the programmers
community.
One thing I like in java programming is the documentation facility, which generates browseable API documentation directly from comments inserted in source files.
The same functionality is available for C/C++ and other languages, with Doxygen (open-source) program, so I decided to use it.
Here's the documentation produced from modified sources. Of course the stylesheets and presentation details may be customized.
In the html system, you can start browsing the files or read High-Level API or Low-Level API and click on symbols from there (links are generated automatically from plain text, in most cases).
In order to produce useful documentation, Doxygen, like javadoc, expects source comments to be written with a given syntax. Doxygen allows several variants of its syntax, and I chose to use the javadoc-like syntax.
Next is a list of changes I made to source code.
You can download:
See Doxygen home page for detailed information
/** ... */
syntax for concerned comments
"NAME: .* \n DESCRIPTION: .*"
formatted comments doc/oo.xml
so it's easy to reconvert if needed.
libmad.dox
highlevel.dox
and lowlevel.dox
config.dox
config.h
, it documents the autotools configuration
options.
mad.h
" with one including the others.
callbacks.h
", used them in decoder.[hc]
NOTE: these changes do not involve real changes in compiled library.
The generated documentation is thus compatible with version 0.15.1b.
However, developers may need to download "callbacks.h
" to use the new typedefs.
The changes I made involve a little more work :
Your comments are welcome