jMList is a small utility that scans one or more given directories for media files (currently only audio files) and generates a XML listing of the whole directory tree with information about each media file such as filesize, song length, title, author, album, etc. An XSL stylesheet can be applied to the output to transform into a different output, like tabular or tree listings in plain text, XML, HTML, RDF, RSS or any other XML format.
This first release already supports MP3 and OGG files (ID3 and Vorbis comment tags) and is capable of internally applying a stylesheet to the XML output. Works fine and seems pretty stable.
A long time ago, when I was a newcomer into the Linux world, I wrote a small program called mp3-list which the only purpose was to report all mp3 files of a directory (and its subdirectories) using a plain text, tree listing, like the tree command. Along with each filename, the physical size, song bitrate and play time were also listed. It was very useful, but since I made it for my own use, it was never released to the public . I always missed OggVorbis support, but since I had only a few OGG files (my portable player doesn't support them), it was not a real problem.
As time passed, I started using different formats besides MP3 and OGG: FLAC, APE, MPC and WV; and mp3-list was becoming more and more useless. Then I decided to take a step ahead, and jMList was born. Instead of focusing on a single problem, jMList has a modular design which allows separate modules to parse different file types. Instead of limiting to only file size, bitrate and playtime, all meta-data stored on tags are also parsed. Instead of producing a limited plain text tree listing, a XML document is generated containing all the information. In addition, a style may be applied to the generated XML document in order to produce many different kinds of output (including plain text), grouped and/or ordered by whichever field the user wants.