Items marked with $ are bigger changes requiring more time.

Known bugs:
- Repeat is not working properly. http://moc.daper.net/node/124
- Do we assume filesystem in UTF-8? It's incorrect.
- lock up when seeking backward
- I have a problem with moc 2.4.0 on FreeBSD 6.1-PRERELEASE. When I build moc
  with musepack (libmpcdec) support moc allways core dumps on exit.
- Crash on FreeBSD 5.5 http://moc.daper.net/node/148
- When sorting by file name (directories), put files beggining with a
  non alphanuemric character at the top.
- id3tags v2.3 with UTF-16 are not properly handled by libid3tag, taglib has
  no problems. Need to use libtag here?
  NEW: recognision of ID3 tags v1 is broken (example: small.mp3)
  Thanks for the patch. It works. Perhaps MOC can add support for the frame
  field_type to differentiate between ID3_FIELD_TYPE_LATIN1 and
  ID3_FIELD_TYPE_STRING.
- ExecCommand:
  Thanks for explain. It work. But when I del the file, mocp writes: Comman exited with
  error (status 2632692). And delete file. Is that normal? What's that? 
  MOC version: 2.4.1
  OS: FreeBSD 6.0-RELEASE
  Daper: Tested with FreeBSD 6.0 - works OK without any error message.
- curl 7.16.2 doesn't work in most cases (EOF after reading headers).
- mocp -a playlist.pls should not sort added files.
  http://moc.daper.net/node/240
- MOC needs to be restarted (when switching themes) in order to understand the
  ATTRIBUTE correctly.
- avformat.h is not detected by configure and build may fail.

Before 2.5:
* Move TODO to moc.daper.net/roadmap
* Options in a hash table.
* A string-valued variable "TitleFormatString", similar to "FormatString".
  I'd suggest all the same %-escapes, plus:
  %F -- expands to (the expansion of) the current FormatString
  if there is a song playing or paused, and empty string if stopped.
  %S --  expands to play/stop/pause.

In future:

* Tags cache in BerkeleyDB: 
  - bigger capacity since not the whole cache is in RAM
  - better relablity.
  - faster
* Review strcpy()/sprintf() usage, change to strncpy()/snprintf() where
  possible.
* More side menus: many directory/playlist views.
* LADSPA
* Editing the title of an item on the playlist (for internet streams).
*$ Media library: tree-like menu for artists and albums.
* Seek by a % value (also using keys for 10%, 20% etc.)
* Ability to play from a playlist made of items found after searching.
* JACK: intelligent bahaviour when we get disconnected from the server
  - detect it, try connect and exit if it fails.
* FastGo instead of FastDir: go to a directory, URL or a playlist.
* Read tags for sndfile formats.
*$ http://www.peercast.org/
* Crosfeed
* Command to see all information about a file with all tags, also all informaton
  about an internet stream (from IceCast headers like icy-url, icy-pub).
*$ Lyrics downloaded from the Internet.
* lirc
* handle SIGBUS - when mmap()ed file is truncated.
* Don't use PATH_MAX.
* Seek forward using the content of the output buffer.
*$ Locales.
*$ Song ratings or something like Q in XMMS.
* Configurable sorting.
* Add a key for switching sort modes.
*$ Equalizel like in Beep Media Player
*$ Make equal volume level for every song like in http://volnorm.sourceforge.net
*$ Replaygain
* Seek to arbitrary position (by typing a number).
*$ VQF (like http://www.csn.ul.ie/~mel/projects/linux/vqfplugin/)
*$ AAC by libfaad
*$ ESD
*$ CUE-sheet
* Command line option to delete the currently played item from the playlist.
* scripting
* APE (http://sourceforge.net/projects/mac-port/)
* Some options can be changed at run-time using a menu.
* posix_fadvise() with POSIX_FADV_WILLNEED instead of the input buffer thread
  for files.
* recording played sound to a file.

Maybe never:

* Say about ignored options that affects server when the server is not being
  run.
* Funny ASCII equalizer.
* Mouse support
