1) non-blocking (for other clients) update
j) when reading new directory db, we should block some signals when
manipulating the directorydb, so we don't receive a signal to
quit in the middle of an update
k) when bg-update, have parent print out new old stuff to log on
reading db, not the child
l) IMPORTANT: look over new command list shiznit and make it much
cleaner, please! (in particular, move buffer2array code from
interface.c to command.c, and have command stuff
do buffer2array)
m) MOST IMPORTANT: update needs to deal better with directories/files
that don't exist in the db, but do exit in the fs (i.e.
calling updated on a newly created file).
2) rewrite interface stuff, specifically command list handling etc so its less
of a hack and deals with the above update stuff better
3) crosslink "list" stuff, for example, artists are crosslinked to alubms and
vice versa, this way you can do list album artists or list artist albums, this
will make life easier when we add genre and other metadata
4) thourougly rewrite and check signal blocking and unblocking
5) add a --update-only, like --only-create-db, only just for updating
6) use mackstann's idea of "polling" for signals instead of handling them right away, i .e. set some variables and in the sigHandler, then deal with it in select(), while loop
7) Add fallback for our new utf8 routines when iconv isn't around, and check
that filenames stored in db are valid utf8, and use utf8 routines whenever
iconv is broked