for those of us who are interested in history..
[paraslash.git] / FEATURES
1 Features
2 ========
3
4 configurable audio streaming software
5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6         para_server streams binary audio data (mp3/ogg files) over
7         local or remote networks. It contains two built-in streamers:
8         the http streamer and the ortp streamer.
9
10         para_audiod runs on the client side and connects to
11         para_server. The audio stream is read back and sent through
12         any of paraslash's filters (mp3 decoder, ogg vorbis decoder,
13         volume normalizer,...) and the resulting stream is written to
14         an external program's standard in, usually an audio player,
15         like para_play that uses alsa. It is possible to grab the
16         stream at any position in the filter chain.
17
18         The receiving/filtering software is also available as
19         standalone command line tool: para_recv grabs the http or ortp
20         stream and writes to stdout; para_filter reads from stdin,
21         converts the stream according to the given --filter command
22         line options and writes the transformed stream to stdout.
23
24 configurable audio file selectors:
25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26         There are three audio file selectors (aka "database tools")
27         available:
28
29                 - random
30                 - plm (playlist manager)
31                 - mysql
32
33         The first two of these are rather simple, and they are always
34         supported. They allow streaming of randomly selected files
35         or files given by a playlist respectively.
36
37         The (optional) mysql selector is more involved. It manages
38         statistics on your audio files and audio file selection is
39         done by sending a user-defined sql-query to the mysql server.
40         This allows rather sophisticated configurations and is
41         explained in detail in README.mysql.
42
43         It is possible to switch between all supported selectors at
44         any time.
45
46 small memory footprint:
47 ~~~~~~~~~~~~~~~~~~~~~~~
48         paraslash is lightweight. The stripped binary of para_server
49         with all its features compiled in (mysql/random dbtool,
50         mp3/ogg support, http/ortp support) is about 110K on i386
51         under Linux. para_audiod is even smaller.
52
53 command line interface, including shell:
54 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55         para_client without arguments starts interactive (shell)
56         mode. Otherwise, command is sent to para_server directly
57         and output is dumped to stdout. This can be used by any
58         scripting language to produce user interfaces with very little
59         programming effort.
60
61 authentication/encryption via openssl:
62 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63         All connections between para_server and para_client are
64         encrypted by default.  For each user of paraslash you must
65         create a public/secret key pair for authentication/encryption.
66
67 various user interfaces and utilities:
68 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69         o para_gui. Curses based interface, displays information in a
70         curses window and can be used to easily control para_server
71         and para_audiod.
72
73         o para_sdl_gui. Shows pictures (on a per song basis) and
74         other information about the current audio file. Can be used
75         as a screen saver.
76
77         o para_krell. A gkrellm2 plugin that shows small pics and is
78         able to launch 27 different commands by clicking on the image.
79
80         o para_slider. User-friendly stream creator for people who
81         don't like their keyboard.
82
83         o para_dbadm. Simple curses interface for changing attributes.
84
85         o para_fade. Simple volume fader and alarm clock.