If you want something that plays through your music collection with priority given to your favorite songs, you could try FairDJ (http://sf.net/projects/fairdj).
It's a Java app. You point it to your music collection, then telnet into it and tell it which songs you like. If more than one person telnets in, it attempts to be fair, thus the name.
The selection / fairness algorithm has seen a lot of trial-by-fire and is now really good.
Due to lack of interest from the XMMS maintainers ("http://bugs.xmms.org/show_bug.cgi?id=756") I don't feel like maintaining this any more.
If anybody wants to take over, have fun!
An open, cross-platform journaling program.
A scientific plotting package.