> our priorities are primarily stability and robustness, with features being
> added when the proper infrastructure is there to support them.

I can't help feeling that the sooner you make either an API to the player
or source code available, the sooner the features could be added...

Have you considered embedding tcl into the player? Tcl is ideal for this
type of project, though it may not be to your taste. Then you could put
a default tcl script to control the player as it is now, and people could
add extra C libraries or just manipulate the existing script. i.e.

#!/usr/bin/tclsh
load player.so
load visuals.so
load dsp.so
...
create menus...
bind front panel butttons to procedures...
bind remote control buttons...
bind serial port inputs...
load playlists...
while {1} {
...get next track info
play($track,$length,$visual,$eqsettings...)
}

or python, or whatever...

Paul