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