gui: Only check STDIN for readability if curses is active.
[paraslash.git] / README
diff --git a/README b/README
index 2c0dc76..f0b7779 100644 (file)
--- a/README
+++ b/README
@@ -8,16 +8,18 @@ It contains the following programs:
 
 - para_server (obligatory):
 
 
 - para_server (obligatory):
 
-        This server listens on a specified tcp port and accepts the
-        usual commands such as play, stop, pause, next. However, there
-        are many more commands.
+       This server listens on a tcp port and accepts commands such as
+       play, stop, pause, next from authenticated clients.
 
 
-       For audio streaming, at least one sender must be activated.
-       At the moment, paraslash contains two internal senders:
+       For audio streaming, at least one of the three supported senders
+       of para_server  must be activated:
 
        The http sender is recommended for public streams that can
        be played by any player like mpg123, xmms, winamp...
 
 
        The http sender is recommended for public streams that can
        be played by any player like mpg123, xmms, winamp...
 
+       The dccp sender is experimental and requires kernel support
+       for the rather new datagram congestion control protocol.
+
        The ortp sender is recommended for LAN streaming and for
        private streams that require authentication.
 
        The ortp sender is recommended for LAN streaming and for
        private streams that require authentication.
 
@@ -25,28 +27,27 @@ It contains the following programs:
        All senders have the same set of commands that allow to
        control the access permissions of the stream.
 
        All senders have the same set of commands that allow to
        control the access permissions of the stream.
 
-       para_server needs a database tool to work, mainly to determine
-       which song to stream next. There are two database tools
-       available: mysql and random. The former is recommended as
-       the random database tool is only meant as a fallback and
-       as a starting point for people that want to write their own
-       database tool for paraslash.
+       para_server needs an  "audio file selector" to work, mainly
+       to determine which song to stream next. There are three
+       selectors available: random, playlist and mysql. The former
+       chooses audio files randomly and  playlist can handle, well,
+       playlists. Both are always supported.
 
 
-       The mysql database tool connects to a mysql server which
+       The optional mysql selector connects to a mysql server which
        holds information on your audio files. It has several unusual
        features, see README.mysql for details.
 
 - para_client (obligatory):
 
        holds information on your audio files. It has several unusual
        features, see README.mysql for details.
 
 - para_client (obligatory):
 
-        The client program to connect to para_server.
+       The client program to connect to para_server.
 
 - para_recv (optional)
 
 
 - para_recv (optional)
 
-       A command line http/ortp stream grabber.
+       A command line http/dccp/rtp stream grabber.
 
 - para_filter (optional)
 
 
 - para_filter (optional)
 
-       An filter program that converts from stdin and writes to
+       A filter program that converts from stdin and writes to
        stdout. This one is independent from the rest of paraslash,
        so it might be useful also for different purposes.
 
        stdout. This one is independent from the rest of paraslash,
        so it might be useful also for different purposes.
 
@@ -59,42 +60,43 @@ It contains the following programs:
 - para_play (optional)
 
        A small wav/raw player for alsa.
 - para_play (optional)
 
        A small wav/raw player for alsa.
+       Debian package: libasound2-dev
 
 - para_audiod (optional, but recommended):
 
 
 - para_audiod (optional, but recommended):
 
-       The local daemon that starts playback and collects information
-       from para_server to be forwarded to local clients.
-
-       para_audiod reads the audio stream from the network if
-       para_server indicates that there is a stream available. It may
-       be sent through any of the supported filters (see para_filter
-       above) before the result is fed to the output software
-       (default: para_play) which must be capable of reading from
-       stdin, but is not restricted otherwise.
+       The local daemon that collects information from para_server. It
+       starts an appropriate receiver, filter and player as soon
+       as para_server announces the availability (and the type) of
+       an audio stream. para_audiod listens on a local socket and
+       sends status information about para_server and para_audiod
+       to local clients on request.
 
 - para_audioc (optional, but recommended)
 
 
 - para_audioc (optional, but recommended)
 
-       A small client that can talk to para_audiod. Used to control
-       para_audiod and to receive status info. It can also be used to
-       grab the stream at any point in the filter chain. para_audioc
-       is needed by para_gui, para_sdl_gui and para_krell, see below.
+       The client program which talks with para_audiod. Used to
+       control para_audiod, to receive status info, or to grab the
+       stream at any point in the filter chain.
 
 
-- para_gui (optional, but recommended):
+       para_audioc (hence para_audiod) is needed by para_gui,
+       para_sdl_gui and para_krell, see below.
 
 
-        Themable ncurses-based gui. It calls para_audioc and presents
-        the obtained information in an ncurses window. para_gui
-        provides key-bindings for the most common commands and new
-        key-bindings can be added easily.
+- para_gui (optional):
+
+       Themable ncurses-based gui. It calls para_audioc and presents
+       the obtained information in an ncurses window. para_gui
+       provides key-bindings for the most common commands and new
+       key-bindings can be added easily.
 
 - para_sdl_gui (optional):
 
 
 - para_sdl_gui (optional):
 
-        SDL-based gui. Similar to para_gui but presents its output in
-        an X window (fullscreen mode is also available) and can display
-        jpg images on a per song basis. para_sdl_gui provides an input
-        prompt to enter arbitrary commands. However, it can also be used
-        non-interactively (e.g. as a screen saver) via the -i switch.
+       SDL-based gui. Similar to para_gui but presents its output
+       in an X window (fullscreen mode is also available) and can
+       display jpg images on a per song basis. para_sdl_gui provides
+       an input prompt to enter arbitrary commands. However, it
+       can also be used non-interactively (e.g. as a screen saver)
+       via the -i switch.
 
 
-- para_krell (optional, only useful in conjunction with the mysql dbtool):
+- para_krell (optional, only useful in conjunction with the mysql selector):
 
        A plugin for gkrellm which shows small pictures of the
        current song. It allows you to launch 27 different commands
 
        A plugin for gkrellm which shows small pictures of the
        current song. It allows you to launch 27 different commands
@@ -105,13 +107,13 @@ It contains the following programs:
 
        A (Linux-only) alarm clock and volume-fader.
 
 
        A (Linux-only) alarm clock and volume-fader.
 
-- para_dbadm (optional, only useful in conjunction with the mysql dbtool):
+- para_dbadm (optional, only useful in conjunction with the mysql selector):
 
        Very simple curses-based frontend which uses libmenu. Useful
        for quickly changing the attributes of the current song
        (e.g. from para_gui as an external command).
 
 
        Very simple curses-based frontend which uses libmenu. Useful
        for quickly changing the attributes of the current song
        (e.g. from para_gui as an external command).
 
-- para_slider (optional, only useful in conjunction with the mysql dbtool):
+- para_slider (optional, only useful in conjunction with the mysql selector):
 
        A small X application which shows a scrollbar for each
        attribute defined in the mysql database. It creates a stream
 
        A small X application which shows a scrollbar for each
        attribute defined in the mysql database. It creates a stream
@@ -142,7 +144,7 @@ In any case you need
 
        - software mixing, e.g. ALSA and the direct mixing plugin (dmix)
 
 
        - software mixing, e.g. ALSA and the direct mixing plugin (dmix)
 
-If you want to use the mysql-based dbtool (recommended), you also need
+If you want to use the mysql-based audio file selector, you also need
 
        - mysql-server
        - mysql-client
 
        - mysql-server
        - mysql-client
@@ -165,6 +167,8 @@ If you want to stream ogg vorbis files you'll need:
 
                http://www.xiph.org/downloads/
 
 
                http://www.xiph.org/downloads/
 
+Debian packages: libogg-dev libvorbis-dev
+
 Note that para_audiod still works even if neither mp3 nor ogg support
 was compiled in. You'll have to use the --no_default_filters option
 in this case (and e.g. "mpg123 -" as the stream write command).
 Note that para_audiod still works even if neither mp3 nor ogg support
 was compiled in. You'll have to use the --no_default_filters option
 in this case (and e.g. "mpg123 -" as the stream write command).
@@ -210,9 +214,9 @@ Distribution of paraslash is covered by the GNU GPL. See file COPYING.
 
 LIMITATIONS:
 ~~~~~~~~~~~~
 
 LIMITATIONS:
 ~~~~~~~~~~~~
-The mysql database tool assumes that the basenames of your audio files
-are unique. If this is not the case, don't use this database tool,
-rename your files, or create your own database tool.
+The mysql selector assumes that the basenames of your audio files are
+unique. If this is not the case, don't use this selector, rename your
+files, or create your own one.
 
 THE AUTHOR:
 ~~~~~~~~~~~
 
 THE AUTHOR:
 ~~~~~~~~~~~