   Copyright (C) 1993-97 Mark Boyns

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the entire resulting derived work is distributed under the terms
of a permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions.

rplay Network Audio System
**************************

   This file documents the rplay Network Audio System.

Overview
********

   rplay is a flexible network audio system that allows sounds to be
played to and from local and remote Unix systems.  Sounds can be played
with or without sending audio data over the network using either UDP or
TCP/IP.  rplay audio servers can be configured to share sound files
with each other.

   Support for rplay is included in several applications.  These include
xpilot, xlockmore, xboing, fvwm, and ctwm.

   The rplay audio server is known to work well on Linux, SunOS 4.1.x,
and Solaris 2.x.  FreeBSD, Irix, and HPUX are known to work but the
current status of these drivers is unknown.  Linux support is based on
the Open Sound System (OSS) driver so other systems using this driver
might work with a few modifications.

rplay supports two network protocols:
`RPLAY'
     The Remote Play protocol which is connection-less and based on UDP
     (User Datagram Protocol).  This protocol uses one-way
     communication with the audio server using single UDP packets.
     RPLAY was designed to be used by games which attempt to play
     hundreds of sounds a second, but it is also ideal for
     low-bandwidth applications.  If you want simplicity, speed, and no
     error reporting, you should use RPLAY.

`RPTP'
     The Remote Play Transfer Protocol which is connection-oriented and
     based on TCP (Transmission Control Protocol).  This protocol uses
     two-way communication with the audio server using an interactive
     command language.  RPTP is intended to be used by applications
     that require complete control of the audio server.

   Both protocols allow sounds to be played, paused, continued, and
stopped.

rplayd
******

   rplayd  is  the  sound  server for the rplay audio system.  The
server listens for requests to play, pause,  continue, and  stop
sounds using both the RPLAY and RPTP protocols.  Normally RPLAY
requests are received on port 5555/udp  and RPTP  on  5556/tcp.
(Older ports 55555/udp and 55556/tcp are also supported)  Access to the
server  is  restricted using the rplay.hosts file.

   rplayd  can be started during the system boot process, via inetd,
or  by  individual  users.   root  access  may  be required depending
on audio device permissions.

   In  most causes rplayd will play sounds that are available on the
local disk.  However, rplayd can be sent sounds via the  network  and
rplayd can also contact other rplayds to share sound files.  The index
of all the local sound files is  stored  in rplay.conf and remote
rplayds are specified in rplay.servers.  Sounds received from other
rplayds will be  stored  in  a  cache  directory  normally  located  in
/tmp/.rplay-cache.  Cache entries are expired  on  an  LRU basis.

   Many  sound  file  formats are supported by rplayd.  These include:

   AU AIFF WAV VOC UB UL G.721 4-bit, G.723 3-bit, G.723 5-bit GSM

   Several sounds can be played at once  and  sounds  can  be played
at  any  sample rate.  rplayd can be configured to output many
different formats using  the  various  -audio options.

   On some systems, namely Solaris and Linux, rplayd can read sounds
directly from CDROM using CDDA.  The special sound name cdrom: will play
the entire CDROM.  cdrom:3-5 will play tracks 3 through 5.

rplay
*****

   rplay is client that communicates with rplayd to play, pause,
continue, and stop sounds using both the RPLAY and RPTP protocols.
Sound files can be played by rplayd directly if available on the local
system or sounds can be sent over the network using UDP or TCP/IP.
rplay will attempt to determine whether or not the server has the sound
before using the network.

rptp
****

   rptp is a simple RPTP client that communicates with rplayd using the
RPTP protocol.  Several commands can be issued to control rplayd and
report its status.  See the output of the rptp help command for a list
of available commands.

xrplay
******

   rplay control panel which includes CD player-like buttons, volume
control, a simple vu meter, and a sound progess bar.  Sounds can be
played, paused, continued, and stopped using the appropriate buttons.

   xrplay is also useful as a sound file player and can be used with web
browsers and other applications that use external programs to play
sounds.

   xrplay communicates with the local (or remote) rplayd using the RPTP
protocol.