The X audio server now plays back files on Sun and Digital machines.
(This corresponds to the AM-1 milestone of the Broadway project plan.)

What's there
------------
There is a test program (xaplay), that send the samples from an audio file
to the audio server, which plays them.

This demonstrates the ability for a client to create a port object within
the server and write data to it which is then played on the output device.

We're using file objects (the goal of milestone 2) in xaplay.
xaplay works across the network, and the protocol works across machines of
different byte orders (milestone AM-7). [We're still working out the draft
interface for file objects, so we're not declaring AM-2 done yet.]

What's not there
----------------
It is still early - although there's a large amount of infrastructure there,
you can expect that most of the effort has focus on that needed for the first
milestone.

In particular, it's worth noting that the player application is still
an open-loop affair, since events aren't functioning yet, and many of the 
port attributes aren't wired in yet. Because of this, you might find that
a very long file causes gaps to appear in the output.

You'll also find that the API (especially the XaGet interface) and object 
implementations are a bit behind the spec.  

For an idea of what's next on our list, look at the Broadway project plan
posted to the advisory list. And feel free to volunteer.  The current results 
are due to Sun, Digital, SCO and the Consortium staff, but there plenty to do.

Current machine & OS requirements
---------------------------------
Digital:
    Hardware:
	The server requires the  "Microsoft Sound Board" (MSB) device. 

    Software:
	Digital UNIX V3.2C 
	    g++ 2.7.2 
	    or 
	    DEC C++ for Digital UNIX Version 5.1 or 5.3
	or
	Digital UNIX V4.0
	    DEC C++ for Digital UNIX Version 5.3.
	    (g++ untested on Digital UNIX 4.0)

    Other info:
	(A further description is enclosed at the end of this message)

Sun:
    Hardware:
	Sparc stations with /dev/audio
    
    Software:
	Tested with Solaris 2.4

Currently supported audio formats
-----------------------
    u-law at an 8KHz sample rate (mono, 8 bits/sample)
    (should from .aiff, .au or .wav files)

Building from the source
------------------------
The source can be fetched via xftp directly from the src/x-active tree, 
(A tar file will be available soon.

The audio project adds the the source tree the directory trees 
	xc/lib/Xa
	xc/programs/Xaserver
and relies on post R6.1 changes to config/cf.

You need to make sure you have a C++ compiler configured in your site.def,
and then the normal build procedures apply.


Trying it out
-------------
Set your LD_LIBRARY_PATH environment variable to the library build directory
(normally xc/usrlib).

Start the server:
    Then move to the xc/programs/Xaserver directory, and run "Xaserver".
    (You may need to play with device permisions to get it running
    Note the connection numbers it spits out, and set your XAUDIO environment
    variable to one of those, to tell the client where to connect.

    Server options:
	-port nnnn", to force it to use a particular port.)
	-noauth, to disable access control

Start the client:
    get an audio file with 8 bit samples in one of the formats listed
    earlier. now start up:
	xc/programs/Xaserver/test/xaplay <filename>

    It's normal at this point to get debug messages from the client and server.

    If you want to start the client from another machine, make sure your
    the server keys in the ~/.ICEauthority file get propagated to the other
    machine, or disable access control on the server.

Known bugs
----------
Running xaplay on a sun to a digital box causes the server to crash.
(The other way works).

Details for Digital configuration
---------------------------------
From: "Peter Derr" <pderr@zk3.dec.com>

The Digital audio server will only work on machines that have the "Microsoft
Sound Board" (MSB) device.  This device is usually standard on PCI and ISA
bus machines such as the AlphaStation 200 and AlphaStation 400 workstations.
It is not found on TurboChannel machines such as the DEC 3000.

You also must have the device driver built into your kernel.  If you see
"msb0 at isa0" in your boot messages (look in /var/adm/messages) and you
have a /dev/msb0 device you probably have the device driver.  If you don't
have it, you must install the MMEDRVMSB??? subset ("Microsoft Sound Board
Device Support") which can be found in the "Multimedia Services for Digital
UNIX" kit which is on the Complementary Products CD distributed with Digital
UNIX.

The X Audio System server cannot be run at the same time as the Multimedia
server.  The check if the Multimedia server is running, do 'psauxww | grep
mmeserver'.  If it is, as root stop it with the command
'/sbin/init.d/mmeserver stop'.  You can later restart it with the command
'/sbin/init.d/mmeserver start'.

The X Audio System has been successfully built and run on Digital UNIX V3.2C
using g++ and DEC C++ for Digital UNIX Version 5.1, and on Digital UNIX V4.0
using DEC C++ for Digital UNIX Version 5.3.

The only audio format supported in Milestone 1 of the X Audio System is
mulaw at an 8KHz sample rate (mono, 8 bits/sample).

Peter

----------------------------------------------------------------------


