asd - Esound on steroids - http://sourceforge.net/projects/asd/
===============================================================

This is a preliminary version of asd, a full featured
esound-replacement.

For a short description of this program, see: http://asd.sourceforge.net/

This version of asd is tagged asd ASD4. It is the fourth complete 
reimplementation.

Requirements:
  GNU/Linux (Maybe other unices work, too)
  glib 1.2.x (http://www.gtk.org/)
  POSIX Pthreads (Included in GNU libc >= 2)
  libxml2 (libxml a.k.a. gnome-xml ist NOT enough) (http://www.libxml.org/)

Compilation:

  Unpack the asd-distribution and change to its directory. Now run
  "make". The daemon will be created in the daemon-subdirectory, the
  client-utils in the client-subdirectory.

Description: 

  The program makes use of threading using the POSIX threads
  library. For each sink and source a seperate thread is
  spawned. Multiple sources and sinks can be linked dynamically.
  
  These sinks and sources represent input and output streams of the
  daemon, respectively. A source and a sink can be linked by a
  conjunction. A sink and a sink can also be linked by a
  conjunction. This enables monitoring support.

  By default the server creates two sources and three thinks:

  capt0 - /dev/dsp source
  fifo0 - /tmp/asd-play source
  play0 - /dev/dsp sink
  fifo1 - /tmp/asd-capture sink
  fifo2 - /tmp/asd-monitor sink

  capt0 and fifo1, fifo0 and play0, fifo1 and fifo2 are linked by
  default.

  capt0 and play0 are special devices. When a client program connects
  and does not specify a device explicitly, they are connected to the
  former (if playing or monitoring) or the latter (if capturing)
  implicitly.

Usage:

  For playing audio data with asd try something like this:

    mpg123 -s /a/nice/mp3/file.mp3 | asdcat

  You may the esound clients too, to connect to asd:

    mpg123 -s /a/nice/mp3/file.mp3 | esdcat

  The XMMS plugin for esound works with asd, too.

  The following client-side utilities are implemented at the moment.

    asdctl (and its aliases asdunlock, asdlock, asdinfo) can be used to
    control some basic features of the asd-daemon. Especially
    interesting for debugging is the asdinfo-program.

    asdstream (and ist aliases asdcat, asdmon, asdrec, asdfilter,
    asdduplex) can be used to stream data in and out to the daemon.

    asdversion (just prints out version information of the server -
    similar to 'asdctl version' with the difference, that no
    authentication is needed)

  The ASDSPEAKER environment variable can be used to select the server
  the three tools work on. Two examples:
 
    inet:localhost:44 - this will use the local server via TCP on port
    44.
    unix:/tmp/gurke - this will use the local server via UNIX-sockets.
   
  Format for Unix-sockets: 'unix:filename'. Format for TCP-sockets:
  'inet:[servername][:port]'. Either servername, port or both may be
  omitted.

  By default the server creates a UNIX-socket under $HOME/.asd-socket
  and listens on 0.0.0.0:4711. When no ASDSPEAKER is set the
  client-utilites will first try a UNIX-connect and when that fails a
  TCP-connect.

  Authentication is done via a cookie-file in $HOME/.asd-cookie. All
  clients having acces to the correct $HOME./asd-cookie may connect to
  the daemon. You may switch off authentication by running 'asdunlock'
  after daemon-startup. ('asdlock' will lock the daemon again)

  The program is developed under Linux (Debian potato) but should run
  eventually on other Unices oder Unix-like OS too.

  If you have questions: just mail me!

   Lennart Poettering, lennart@poettering.de,
   http://www.poettering.de/lennart

$Id: README,v 1.1 2001/06/04 17:00:05 poettering Exp $