Revamp status item handling.
[paraslash.git] / README
diff --git a/README b/README
index d4521bc..6cf34f2 100644 (file)
--- a/README
+++ b/README
@@ -8,57 +8,62 @@ _Play, archive, rate and stream large audio sets happily_
 
 It contains the following programs:
 
------------------------
-para_server (obligatory)
------------------------
+-----------
+para_server
+-----------
 
 para_server streams binary audio data (mp3/oggvorbis/m4a files)
 over local and/or remote networks. It listens on a tcp port and
 accepts commands such as play, stop, pause, next from authenticated
 clients. However, there are many more commands.
 
-It supports three builtin network streaming methods (senders): http, dccp,
-or rtp.
+It supports three built-in network streaming methods (senders): http, dccp,
+or udp.
 
        * The http sender is recommended for public streams that can be played
          by any player like mpg123, xmms, itunes, winamp...
 
-       * The dccp sender is experimental and requires kernel support for the
-         rather new datagram congestion control protocol.
+       * The dccp sender requires kernel support for the datagram congestion
+         control protocol.
 
-       * The ortp sender is recommended for multicast LAN streaming
+       * The udp sender is recommended for multicast LAN streaming.
 
 It is possible to activate more than one sender simultaneously.
 
 The built-in audio file selector of paraslash is used to manage your
 audio files. It maintains statistics on the usage of all available audio
 files such as last played time, and the number of times each file was
-selected. Its features include
+selected.
 
-       * attributes: Allow fine-grained audio file selection.
+Its features include
 
-       * image table. For storage of e.g. album cover art.
+       * attributes. Allow fine-grained audio file selection.
 
-       * lyrics table. For storage of lyrics.
+       * image table. For storing e.g. album cover art.
 
-       * playlist table. Stores arbitrary many playlists.
+       * lyrics table. For storing lyrics.
 
-       * mood mode. Audio file selection works by spcifying mood
+       * playlist table. Stores arbitrary many playlists for later use.
+
+       * mood mode. Audio file selection works by specifying mood
          methods involving attributes, pattern matching for file names
-         and more.  This allows rather sophisticated configurations
-         and is explained in more detail in INSTALL.
+         and more. This allows rather sophisticated configurations
+         and is explained in more detail in
+<<
+<a href="README.afs.html"> README.afs </a>
+>>
 
        * rename detection. If files are moved or renamed, afs will
-         recognioze them despite of this change.
+         recognize them despite of this change.
 
 Despite of all these features, paraslash is lightweight. The
 stripped binary of para_server with all its features compiled in
-mp3/ogg/aac support, http/dccp/ortp support) is about 150K on i386
+mp3/ogg/aac support, http/dccp/udp support) is about 160K on i386
 under Linux. para_audiod (see below) is even smaller.
 
-------------------------
-para_client (obligatory)
-------------------------
+-----------
+para_client
+-----------
 
 The client program to connect to para_server.  paraslash commands
 are sent to para_server and the response is dumped to stdout. This
@@ -67,126 +72,107 @@ little programming effort.
 
 All connections between para_server and para_client are encrypted by
 default.  For each user of paraslash you must create a public/secret
-key pair for authentication. The (authenticated) connection is encrypted
-with a symmetric rc4 session key.
+RSA key pair for authentication. The authenticated connection is
+encrypted with a symmetric rc4 session key.
 
---------------------
-para_recv (optional)
---------------------
+---------
+para_recv
+---------
 
-A command line http/dccp/rtp stream grabber. The http mode of this tool
-can be used to receive date from any http streaming source.
+A command line http/dccp/udp stream grabber. The http mode of this
+tool can be used to receive data from any http streaming source.
 
-----------------------
-para_filter (optional)
-----------------------
+-----------
+para_filter
+-----------
 
-A filter program that converts from stdin and writes to stdout. It
-is completely independent from the rest of paraslash, so it might be
-useful also for different purposes.
+A filter program that converts from stdin and writes to stdout.
 
 para_filter combines several decoders (mp3, oggvorbis, aac) and a
-volume normalizer New filters can be added easily due to the modular
-design. If more than one filter is specified, the given filters
-are 'piped' together in-memory, i.e. without calling any of the
-read(2)/write(2)/select(2) etc. functions.
+volume normalizer. New filters can be added easily. It is possible
+to "chain" any number of filters, like UNIX pipes.
+
+para_filter does not depend on other parts of paraslash, so it can
+be used as a stand-alone command line tool for audio decoding and
+volume normalization.
+
+--------
+para_afh
+--------
+
+A small stand-alone program that prints tech info about the given
+audio file to stdout. It can be instructed to print a "chunk table",
+an array of offsets within the audio file or to write the content of
+the audio file in complete chunks 'just in time'.
 
------------------------
-para_write (obligatory)
------------------------
+This allows third-party streaming software that is unaware of
+the particular audio format to send complete frames in real
+time. Currently, mp3, ogg vorbis and aac are supported.
+
+----------
+para_write
+----------
 
 A modular audio stream writer. It supports a simple file writer
-output plug-in and optional wav/raw players for alsa (linux-only,
-Debian package: libasound2-dev) and Mac OS. para_write can also be
-used as a stand-alone wav or raw audio player.
+output plug-in and optional wav/raw players for ALSA (Linux) and for
+coreaudio (Mac OS). para_write can also be used as a stand-alone wav
+or raw audio player.
 
----------------------------------------
-para_audiod (optional, but recommended)
----------------------------------------
+-----------
+para_audiod
+-----------
 
 The local daemon that collects information from para_server.
 
-It runs on the client side and connects to para_server. The audio stream is
-read from the network and sent through any of paraslash's filters (decoder,
-volume normalizer). The resulting stream is written to an output plug-in
-(writer), e.g. the alsa writer on linux systems. It is possible to capture the
-stream at any position in the filter chain.
+It runs on the client side and connects to para_server.  As soon as
+para_server announces the availability of an audio stream, para_audiod
+starts an appropriate receiver, any number of filters and a paraslash
+writer to play the stream. It is possible to capture the stream at
+any position in the filter chain.
 
-para_audiod starts an appropriate receiver, filter and player as soon as
-para_server announces the availability (and the type) of an audio stream.
-Moreover, it listens on a local socket and sends status information about
-para_server and para_audiod to local clients on request.
+Moreover, para_audiod listens on a local socket and sends status
+information about para_server and para_audiod to local clients on
+request. Access via this local socket may be restricted by using Unix
+socket credentials, if available.
 
---------------------------------------
-para_audioc (optional, but recommended)
---------------------------------------
+-----------
+para_audioc
+-----------
 
-The client program which talks with para_audiod. Used to control
+The client program which talks to para_audiod. Used to control
 para_audiod, to receive status info, or to grab the stream at any
 point in the filter chain.
 
-para_audioc (hence para_audiod) is needed by para_gui, para_sdl_gui
-and para_krell, see below.
+para_audioc (hence para_audiod) is needed by para_gui see below.
 
--------------------
-para_gui (optional)
--------------------
+--------
+para_gui
+--------
 
 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_fade (optional)
---------------------
+---------
+para_fade
+---------
 
-A (Linux-only) alarm clock and volume-fader.
+A (oss-only) alarm clock and volume-fader.
 
---------------------------
-bash_completion (optional)
---------------------------
+---------------
+bash_completion
+---------------
 
 A small bash script for inclusion in ~/.bashrc. It gives you command
 line completion for some paraslash commands.
 
-------------
-Requirements
-------------
-
-In any case you need
-
-       - gcc, the gnu compiler collection (shipped with distro): gcc-3.3
-         or newer is required.
-       - gnu make (shipped with disto, might be called gmake)
-       - bash
-       - openssl (needed by server, client): usually shipped with
-         distro, but you might have to install the "development package"
-         (called libssl-dev on debian systems) as well:
-         http://www.openssl.org/
-       - software mixing, e.g. ALSA and the direct mixing plugin (dmix)
-
-The mp3 decoder of para_filter is based on libmad: If you prefer to
-use the libmad package provided by your distributor, make sure to
-install the corresponding development package as well.  Otherwise,
-just download libmad from http://www.underbit.com/products/mad/
-
-For ogg vorbis streams you'll need libogg, libvorbis, libvorbisfile,
-The corresponding Debian packages are called libogg-dev libvorbis-dev,
-other distributors chose similar names.  All of these are also
-available at http://www.xiph.org/downloads/
-
-For aac files (m4a) you'll need libfaad. Get it at
-http://www.audiocoding.com/modules/wiki/?page=AAC
-
-If you intend to use the optional ortp streamer, you'll need libortp:
-http://www.linphone.org/ortp/
-
 -------
 LICENSE
 -------
 
-Distribution of paraslash is covered by the GNU GPL. See file COPYING.
+Distribution of paraslash is covered by the GNU GPL, version 2. See file
+COPYING.
 
 ----------
 THE AUTHOR