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.

Miscellaneous