  This list should be moved to the new trac:
     http://savonet.rastageeks.org/
  
  
  Ideas for the farther future...
  ===============================

  * Resample() eats track limits.
  * Protocols should be able to generate playlists.
  * Add exceptions to liquidScript.
  * Make output/output.ml accept fallible sources ?
  * How to handle unavailable files/playlists ?
  * Persistent metadata in frames, to avoid that track-insensitive switches
    switching in the middle of a track do not get any metadata.
  * LablGtk2 control window (see metadata, remaining, maybe rms, and skip);
    too bad we don't have Dynlink for nativecode, this would be nicer as an 
    dynamically loaded plugin.
  * request.external(): it is currently impossible to have a good idea of when
    a pushed request will be played, even if one believes that the source will 
    play its files continuously. To do so, it would be nice to get 
    (indirectly or not) the duration of the already queued files,
    either via a parameter to the feeding function or via commands.
  * Get rid of Str, use only Pcre.
  * Add analysis data fields in frames, which could be filled with 
    rms/bpm/pitch/etc and be used generically for (smart) crossing.
  * Add metadata-based per-track configuration to smart_cross().
  * Skip on sudden drop of intensity near end-of-tracks.
  * More subtyping, subsets of int/floats.
  * Use Sndfile for raw input.
  * Fix (or deprecate) RTP input/output.
  * Avoid float -> int -> float conversion for RTP.
  * Add jack support and, perhaps fix the two above using jack !
  * Transitions with non-zero "before" parameter don't work correctly,
    as the before-trigger also occurs during the transition itself, resulting
    in an ugly scattered sound effect.
  * Move the metadatas (and skip, remaining ?) commands out of the outputs and 
    put it in a dedicated operator which could be put anywhere in the stream, 
    typically before metadata rewriting.
  * There has been some reports of non-immediate coming back of the lives after 
    stripped blanks.
  * Memoization for encodings of buffers. Keep them in the buffer.
    Useful when saving a copy of icecast stream to a file.
    The problem is that buffers are copied for outputs and multiple-fathered
    sources, dealing with this may be tricky.
  * Name tracks, and allow processing only one of them.
  * Theora support.
  * offset_metadata() for the SACEM
  * OpenGL based visualization (or coffee) operators...
  * coffee() prepares coffee
  * abstract over possible buffer contents, ensure consistency through typing
  * mutable parameters for operators (e.g. for filters) which would be
    registered in the telnet.
  * Binary clock.
  * A fair scheduler for user requests.
  * Long requests: as long as there is no request, and not much than an hour
    long for example, play an user-requested playlist.
    Actually this could come from a more general Request structure involving 
    any nesting of alternatives and conjunctions, instead of only disjunctions 
    as it is now.
  * Dynamic download time evaluation for queues.
    Deal with big files download, which currently leads to timeout.
  * Use replaygain for normalizing the sound.

    LIGUID
    ======
  * Infos about files on the playlist.
  * Improve crossfading.
  * Change the tags.
  * Drag and drop from nautilus.
  * Tags seem to have a problem (utf8).
  * Remove songs from the queue (does it really work?).
  * Add shortcuts to dirs.
  * Add a database of songs + quicksearch.
