DoogPlayer (written in C): - loads one file, spits out metadata and raw PCM data in chunks on stdout - needs BASSMOD, mp3, ogg, wav - could be replaced with a suitable command-line media player if it exists... DoogRadio (written in Python): - logs into shoutcast - keeps track of the playlist - creates temporary announcement wav files - launches DoogPlayer with the music, jingle, or announcement file - receives output from DoogPlayer in chunks which are passed to libshout - listens for skip song/regen playlist/list playlist content/shutdown on HTTP - needs libshout and cepstral DoogAdmin (written in Python): - listens on HTTP to provide nice web interface to DoogRadio