Chorale source documentation (extract)
This page is extracted from the full Doxygen documentation, which is why the links don't work. To see the full documentation, download and unpack the source package, ensure you have Doxygen and Graphviz installed, and type make doc.

Chorale mainly consists of a bunch of implementations of the abstract class mediadb::Database, which does what it says on the tin: it represents a database of media files. There are derived classes which encapsulate a collection of local files, a networked UPnP A/V MediaServer, a networked Rio Receiver server, or a networked Empeg music player.

There are also a bunch of things that can use a mediadb::Database once you've got one: you can serve it out again over a different protocol, synchronise it with a different storage device, or queue up tracks from it (on any audio device, local or remote) and listen to them. You can even merge together a number of different databases, and treat them as a single one. Effectively, because of careful choice of abstractions, Chorale acts as a giant crossbar switch between sources of media and consumers of media:

Notable things in the code

-- Peter Hartley, 2009-May-01 
Get chorale at Fast, secure and Free Open Source software downloads