sent through any of paraslash's filters (mp3 decoder, ogg
vorbis decoder, volume normalizer,...). The resulting stream
is written to an external program's standard in, usually an
- audio player like para_play, the alsa player of the paraslash
- package. It is possible to capture the stream at any position
- in the filter chain.
+ audio player like para_write, which comes with paraslash and
+ contains an alsa player. It is possible to capture the stream
+ at any position in the filter chain.
The receiving/filtering software is also available as
standalone command line tool: para_recv reads the stream and
mp3:
- para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_play
+ para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_write -w alsa
or
mpg123 http://server_host:8000/
or
ogg:
- para_recv -r 'http -i server_host' | para_filter -f oggdec -f wav | para_play
+ para_recv -r 'http -i server_host' | para_filter -f oggdec -f wav | para_write -w alsa
If this works, proceede. Otherwise doublecheck what is logged by
para_server and use the --loglevel option of para_recv, para_filter
arbitrary commands. There are several flavours of key-bindings:
o internal: These are the built-in commands that can not be
- changed (help, quit, loglevel, version...).
+ changed (help, quit, loglevel, version...).
- o external: Shutdown curses before launching the given command.
- Useful for starting other ncurses programs from within
- para_gui, e.g. aumix or para_dbadm. Or, use
+ o external: Shutdown curses before launching the given command.
+ Useful for starting other ncurses programs from within
+ para_gui, e.g. aumix or para_dbadm. Or, use
para_client mbox
- to write a mailbox containing one mail for each file
- in the mysql database and start mutt from within para_gui
- to browse your collection!
+ to write a mailbox containing one mail for each file
+ in the mysql database and start mutt from within para_gui
+ to browse your collection!
o display: Launch the command and display its stdout in
- para_gui's bottom window.
+ para_gui's bottom window.
o para: Like display, but start "para_client <specified
- command>" instead of "<specified command>".
+ command>" instead of "<specified command>".
That's all, congratulations. Check out all the other optional gimmics!
0.?.? (to be announced) "oriented abstraction"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Many user-visible changes in this release and lots of new
+features:
+
o the new optional dccp sender/receiver. It uses the datagram
congestion control protocol. You'll need a fairly new kernel
for this.
+ o paraslash compiles under MacOs (thanks to Gerd Becker)
+
+ o para_play renamed to para_write
+
+ o modular output plugin design (writers) for para_write
+
+ o new file_writer output plugin for para_write
+
o compress filter speed improvements
o update to libortp-0.9.1
o para_client no longer depends on libreadline (as the
code for the interactive mode was removed).
- o paraslash compiles under Mac Os (thanks to Gerd Becker)
-
0.2.11 (2006-03-11) "atomic duality"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
+ 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,
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)
+- para_write (obligatory)
- A small wav/raw player for alsa.
+ A modular audio stream writer. It supports a simple file
+ writer output plugin and an optional wav/raw player for alsa.
Debian package: libasound2-dev
- para_audiod (optional, but recommended):
If you want to stream ogg vorbis files you'll need:
- libogg, libvorbis, libvorbisfile, and a command line ogg vorbis
- player, e.g. para_filter or ogg123.
+ decoder, e.g. para_filter or ogg123.
http://www.xiph.org/downloads/
if (a->write_cmd)
glob = glob_cmd(a->write_cmd);
if (!glob)
- glob = para_strdup("para_play");
+ glob = para_strdup("para_write -w alsa");
PARA_INFO_LOG("starting stream writer: %s\n", glob);
open_filters(slot_num);
ret = para_exec_cmdline_pid(&s->wpid, glob, fds);
May be given multiple times, once for each
supported audio format. Default value is
-'para_play' for both mp3 and ogg. You can use
-the START_TIME() macro for these commands.
-Each occurence of START_TIME() gets replaced
-at runtime by the stream start time announced
-by para_server, plus any offsets."
+'para_write -w alsa' for both mp3 and ogg.
+You can use the START_TIME() macro for these
+commands. Each occurence of START_TIME()
+gets replaced at runtime by the stream start
+time announced by para_server, plus any
+offsets."
string typestr="format:command"
optional