RELEASE V1:

fix homepage on savannah:
  download link
  news
  links to GNU autoconf, ...
create freshmeat entry.
announce on www.media-servers.com

RELEASE V2:

use gettext?
gnulib: use closeout?
allow multiple directories! need to change much.
when do we need to report res URL? check contentdir docs. why doesn't twonky do it?
improved debugging for webserver.c, metadata.c, contentdir.c
upnp: what do we need A_ARG_ UPNP variables for?
implement variables such as UpdateID (always returns 0!)
check out .m3u support correctly
check out radio support, simple and advanced user configuration of url & item data
gnulib: make autogen.sh for gettext & other commands?
log connected control points
implement stuff in connectmgr.c, contentdir.c
set up web server to serve all SPCD documents
communication over subnets: does it work in Windows? if yes, then something must be incorrectly set up in linux (multicast?)
support other formats than mp3. find out what formats are supported. WAVE?

upnp: What do we do with A_ARG_* variables? Handle in get_variable_request?
upnp: Subscriptions: What is subscribable?!
threading: do we need mutexes to synch data?

DISTANT FUTURE:

external or (why not) native rtsp support
become a full GNU project - hand over copyright to FSF, if they want it
caching of metadata, even across restarts (storing to cache file), keeping partial tree in memory
virtual representation vs physical representation

directory file discovery
  plain filename (no extension)
  id3
  db4 database lookup
    key=full path|relative path|filename only
    value=cvs of key=value
  file table lookup
    FILESPEC\nKEY=VALUE,..
  postgresql database lookup
    QUERY+FILESPEC TYPE+COLUMN MAP (colname,..)
    DATABASE URL
  mysql database lookup

external program
  generates XML?
    in: directory
    out: xml

xml database
  complete file

custom database
  n-level
  level 1: query, column map
  level 2: query, column map

feature: search caching

-I include file match
-X exclude file match

-m method of getting song information
   name
   id3
   filelookup
   external program: PATH
   db file
   database lookup: DATABASE SPEC, QUERY
-d/-l/-i INTERFACE interface to listen on
-b background
-o FILE output to file, append if necessary
-V N verbosity
-c FILE read config
-C cache discovered info into FILE (for this dir/all dirs)
   keeps modified-time for all dirs?

====

basic client for gmediaserver, console based
