-Paraslash README
-================
-Paraslash is an acronym for
-
- Play, archive, rate and stream large audio sets happily
-
-It contains the following programs:
-
-- para_server (obligatory):
-
- This server listens on a tcp port and accepts commands such as
- play, stop, pause, next. However, there are many more commands.
-
- For audio streaming, at least one sender must be activated.
- At the moment, paraslash contains two internal senders:
-
- The http sender is recommended for public streams that can
- be played by any player like mpg123, xmms, winamp...
-
- 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.
- All senders have the same set of commands that allow to
- control the access permissions of the stream.
-
- 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 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):
-
- The client program to connect to para_server.
-
-- para_recv (optional)
-
- A command line http/ortp stream grabber.
-
-- para_filter (optional)
-
- An 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.
-
- para_filter combines an mp3 decoder an oggvorbis decoder
- and a volume normalzer. 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.
-
-- para_play (optional)
-
- A small wav/raw player for alsa.
- Debian package: libasound2-dev
-
-- 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.
-
-- 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.
-
-- para_gui (optional, but recommended):
-
- 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):
-
- 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 selector):
-
- A plugin for gkrellm which shows small pictures of the
- current song. It allows you to launch 27 different commands
- by clicking in different areas of its picture (9 small squares
- x 3 mouse buttons).
-
-- para_fade (optional):
-
- A (Linux-only) alarm clock and volume-fader.
-
-- 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).