Dnuos
Dnuos is a tool for making summaries of music collection metadata. Dnuos is free software distributed under the GNU/GPL licence.
Downloads
See http://dnuos.tweek.us/files/ for releases and other files.
History
In 2003, Sylvester Johansson and I ( Mattias Päivärinta) were using Audiolist. It lacked some features, and the way I remember things the source wasn't available to us at the time. In any case we decided to replace and supersede Audiolist with a tool of our own making. This initiative resulted in Oidua. Its superior speed turned out to be a killer feature. After a while we sort of forgot about it.
Brodie Rao stepped in, forked Oidua as Dnuos and assumed maintainence. Later Brodie and I got in touch. I wanted to factor away some old Oidua spaghetti, Brodie wanted some new features. I just went right ahead as I found the time, and here we are.
Status
New in 1.0
- Python 2.3 or newer is required.
- Mercurial is used for revision control. (We used to use Darcs.)
- Caches audio metadata, making list generation speedy on subsequent runs.
- AAC bitrate calculation works for the first time ever.
- Includes a fairly expansive functional test suite.
- Supports setuptools (as well as vanilla distutils).
- Now uses optparse for command line argument handling.
- Most of the code outside audiotype.py has gone through massive refactoring.
- The conf module is now orthogonal to the rest of the application.
- The audiodir and audiotype modules are now usable as stand-alone modules. (Their respective APIs will most likely change a lot in version 1.1.)
- Includes a French translation, as well as the framework for adding other translations (using gettext).
- Better support for Unicode path names on Windows, and better support for printing Unicode characters. (Prints UTF-8 unconditionally - even if the terminal doesn't support it!)
For 1.1
- Migrating to Mutagen in favor of our own audiotype.py. At the moment Mutagen lacks some features important to us.
- Refactoring the output code further.
- Official GUI front-ends for Windows, Linux, and OS X.
Development
Clone the master repository with the following command:
hg clone http://dnuos.tweek.us/hg/ my-dnuos
Setup Dnuos to run from this directory:
cd my-dnuos-repo python setup.py develop
Try out some unit tests:
cd my-dnuos-repo python setup.py test
Note: You'll also need the test data in the same directory to successfully run most of the tests.
If you make any meaningful changes, please file a ticket.
