Merge branch 'master' into next
[paraslash.git] / README
diff --git a/README b/README
index 0173fb3bbb60e1cf6d0c7402593238605a4b288d..883eeee10885f24ad90382091badb8d6bc558360 100644 (file)
--- a/README
+++ b/README
@@ -8,25 +8,25 @@ _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)
+para_server streams binary audio data (mp3/oggvorbis/m4a/wma 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.
 
@@ -37,30 +37,28 @@ selected.
 
 Its features include
 
-       * attributes: Allow fine-grained audio file selection.
+       * attributes. Allow fine-grained audio file selection.
 
-       * image table. For storage of e.g. album cover art.
+       * image table. For storing e.g. album cover art.
 
-       * lyrics table. For storage of lyrics.
+       * lyrics table. For storing lyrics.
 
-       * playlist table. Stores arbitrary many playlists.
+       * 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
-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
@@ -69,88 +67,102 @@ 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
+---------
+
+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
+-----------
 
---------------------
-para_recv (optional)
---------------------
+A filter program that converts from stdin and writes to stdout.
 
-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.
+para_filter combines several decoders (mp3, oggvorbis, aac, wma),
+a volume normalizer and a cpuple of other filters. New filters can
+be added easily. It is possible to "chain" any number of filters,
+like UNIX pipes.
 
-----------------------
-para_filter (optional)
-----------------------
+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.
 
-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.
+--------
+para_afh
+--------
 
-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.
+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, aac and wma 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.
+
 -------
 LICENSE
 -------