new feature list, merge of README and FEATURES
authorAndre Noll <maan@systemlinux.org>
Thu, 1 Feb 2007 23:16:52 +0000 (00:16 +0100)
committerAndre Noll <maan@systemlinux.org>
Thu, 1 Feb 2007 23:16:52 +0000 (00:16 +0100)
README and FEATURES contained quite some overlap, so merge them
into a single document (README) and change FEATURES to contain only
a bullet list.

FEATURES
README

index e96676d..204e332 100644 (file)
--- a/FEATURES
+++ b/FEATURES
@@ -1,81 +1,30 @@
 Features
 ========
 
---------------------------------------
-configurable audio streaming software:
---------------------------------------
-
-para_server streams binary audio data (mp3/ogg/m4a files) over local
-and/or remote networks. It supports three builtin streaming methods
-(senders): http, dccp, or rtp.
-
-para_audiod 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
-plugin (writer), e.g. the alsa writer on linux systems. It is possible to
-capture the stream at any position in the filter chain.
-
-The receiving/filtering/playing software is also available as standalone
-command line tools: para_recv, para_filter, and para_write.
-
-----------------------------------
-configurable audio file selectors:
-----------------------------------
-
-There are three audio file selectors available: random, playlist
-and mysql
-
-The first two of these are rather simple, and they are always
-supported. They allow streaming of randomly selected files or files
-given by a playlist respectively.
-
-The (optional) mysql selector is more involved. It manages
-statistics on your audio files, and audio file selection works by
-sending a user-defined sql-query to the mysql server.  This allows
-rather sophisticated configurations and is explained in detail in
-README.mysql.
-
-It is possible to switch between all supported selectors at any time.
-
------------------------
-small memory footprint:
------------------------
-
-paraslash is lightweight. The stripped binary of para_server with
-all its features compiled in (mysql/random/playlist selector,
-mp3/ogg/aac support, http/dccp/ortp support) is about 120K on i386
-under Linux. para_audiod is even smaller.
-
------------------------
-command line interface:
------------------------
-
-paraslash commands are sent to para_server and the response is
-dumped to stdout. This can be used by any scripting language
-to produce user interfaces with little programming effort.
-
---------------------------------------
-authentication/encryption via openssl:
---------------------------------------
-
-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 crypted
-with a symmetric rc4 session key.
-
---------------------------------------
-various user interfaces and utilities:
---------------------------------------
-
-       * para_gui. Curses based interface, displays information in a
-         curses window and can be used to easily control para_server
-         and para_audiod.
-       * para_sdl_gui. Shows pictures (on a per song basis) and
-         other information about the current audio file. Can be used
-         as a screen saver.
-       * para_krell. A gkrellm2 plugin that shows small pics and is
-         able to launch 27 different commands by clicking on the image.
-       * para_slider. User-friendly stream creator for people who
-         don't like their keyboard.
-       * para_dbadm. Simple curses interface for changing attributes.
-       * para_fade. Simple volume fader and alarm clock.
+------------------------------------------------------------------------------
+
+       * Linux and Mac OS support
+       * mp3, oggvorbis, aac(m4a) support
+       * local or remote http, dccp, and ortp network streaming
+       * volume normalizer
+       * stream grabbing at any point in the filter chain
+       * stand-alone command line receiver/decorer/normalizer/player
+       * sophisticated audio file selectors (mysql, random, playlist)
+       * small memory footprint
+       * command line interface for easy scripting in high-level languages
+       * RSA user authentication
+       * encrypted communications
+       * GPL licensed
+       * written in C
+       * well documented
+       * complete API-Reference
+       * easily extendable due to the modular design
+       * various user interfaces and utilities:
+               * para_gui. Curses based interface to easily control server and
+                 client
+               * para_sdl_gui. Shows images on a per song basis and can be used
+                  as a screen saver.
+               * para_krell. A gkrellm2 plugin
+               * para_slider. User-friendly stream creator
+               * para_dbadm. Simple curses interface for changing attributes.
+               * para_fade. volume fader and alarm clock.
diff --git a/README b/README
index acb359a..54fb951 100644 (file)
--- a/README
+++ b/README
@@ -12,52 +12,80 @@ It contains the following programs:
 para_server (obligatory)
 -----------------------
 
-This server supports audio streaming of mp3, ogg vorbis and aac files.
-It listens on a tcp port and accepts commands such as play, stop,
-pause, next from authenticated clients.
+para_server streams binary audio data (mp3/ogg/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 streaming methods (senders): http, dccp,
+or rtp.
 
 The audio stream may be sent over the network by three different
 senders:
 
-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, itunes, winamp...
 
-The dccp sender is experimental and requires kernel support for the
-rather new datagram congestion control protocol.
+       * 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.
 
 It is possible to activate more than one sender simultaneously.
 
-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.
+para_server needs an audio file selector to work, mainly to determine
+which audio file to stream next. The following three selectors are
+built in:
+
+       * The random selector chooses audio files out of a given directory
+         by random
+
+       * The playlist selector chooses files from a specified playlist
+
+       * The (optional) mysql selector is more involved.  It connects
+         to a mysql server which holds information on your audio files
+         and maintains statistics on the available audio files. Audio
+         file selection works by sending a user-defined sql-query
+         to the mysql server.  This allows rather sophisticated
+         configurations and is explained in detail in README.mysql.
 
-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.
+It is possible to switch between all supported selectors at any time.
+
+Despite of all these features, paraslash is lightweight. The
+stripped binary of para_server with all its features compiled in
+(mysql/random/playlist selector, mp3/ogg/aac support, http/dccp/ortp
+support) is about 120K on i386 under Linux. para_audiod (see below)
+is even smaller.
 
 ------------------------
 para_client (obligatory)
 -----------------------
 
-The client program to connect to para_server.
+The client program to connect to para_server.  paraslash commands
+are sent to para_server and the response is dumped to stdout. This
+can be used by any scripting language to produce user interfaces with
+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 crypted
+with a symmetric rc4 session key.
 
 -------------------
 para_recv (optional)
 -------------------
 
-A command line http/dccp/rtp stream grabber.
+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 (optional)
 ---------------------
 
-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.
+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_filter combines several decoders (mp3, oggvorbis, aac) and a
 volume normalzer. New filters can be added easily due to the modular
@@ -69,20 +97,28 @@ read(2)/write(2)/select(2) etc. functions.
 para_write (obligatory)
 ----------------------
 
-A modular audio stream writer. It supports a simple file writer output plugin
-and optional wav/raw players for alsa (linux-only, Debian package:
-libasound2-dev) and Mac OS.
+A modular audio stream writer. It supports a simple file writer
+output plugin 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.
 
 ---------------------------------------
 para_audiod (optional, but recommended)
 ---------------------------------------
 
-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.
+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 plugin (writer), e.g. the alsa writer on linux
+systems. 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.
 
 --------------------------------------
 para_audioc (optional, but recommended)