>>15
Well, there's mplayer... mikmod, oggplay, etc. etc.
But one thing I haven't tried but I heard is uber leet is "MPD"
http://www.musicpd.org/features.shtml
There's a ton of front-ends (just click "clients" on the site)... web front-ends, bash integration, an ncurses client, a bare-bones terminal client, graphical clients, etc.
The idea being the music player just runs as a daemon, like a jukebox, and you use the front-ends to control the playlist dynamically. Pretty tight.
I just did some more investigating: shit, mpd is the bomb.
1) It has a libshout (icecast) output driver. This means you can drive a network of icecast repeaters with this one front end.
2) Input drivers are pretty easy to implement (it looks like it might be straightforward to cut an XMMS plug-in down to fit). Moreover, many of them are net-enabled out of the box, which means you can pass mpd a file, or a URL to play with said plug-in. It will keep URLs in your playlists. Awesome.
3) Imagine pointing mpd at an icecast stream of it's own output... muwahahahahaa....
Unfortunately, no one has coded a SID/SPC/etc... driver yet. Yet
Now that I'm interested... hehehe.