polypaudio @PACKAGE_VERSION@

Copyright 2004 Lennart Poettering <@PACKAGE_BUGREPORT@>

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Exception: The client libraries are licensed under LGPL, the Lesser GNU General Plublic License.

News

Mon Sep 20 2004:

Version 0.5 released; changes include: extensive API improvements, new module module-combine for combining multiple sound cards into one, gcc 2.95 compatibility, configuration files, add "lazy" samples, support for source and network latency measurements, add module-pipe-source, many other fixes and improvements.

Wed Sep 8 2004:

Version 0.4 released; changes include: daemon auto spawning, support for SCHED_FIFO scheduling, three new modules, proper logging, CPU load watchdog, many fixes.

Fri Aug 27 2004:

Version 0.3 released; changes include: support for both glib 2.0 and glib 1.2, future cancellation, API updates, many fixes, relicense client library to LGPL.

Fri Aug 20 2004:

Version 0.2 released; changes include: added sample cache, introspection API, client API documentation, module autoloading, glib support, a module for intercepting X11 bell events, and much more.

Sat Jul 17 2004:

Version 0.1 released

Overview

polypaudio is a sound server for Linux and other Unix like operating systems. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). In addition to the features ESOUND provides polypaudio has:

Both the core and the client API are completely asynchronous making use of a simple main loop abstraction layer. This allows easy integration with asynchronous applications using the glib/gtk mainloop. Since the asynchronous API available through polyplib is quite difficult to use there is a simplified synchronous API wrapper polyplib-simple available. A simple main loop implementation is available as well.

The following modules are currently available:

polypaudio is the successor of my previous, ill-fated attempt to write a sound server, asd.

A GTK GUI manager application for polypaudio is the Polypaudio Manager. Another GTK GUI tool for Polypaudio is the Polypaudio Volume Meter. There are output plugins for XMMS and libao. Drivers for gstreamer and MPlayer will be released shortly.

Status

Version @PACKAGE_VERSION@ is quite usable. It matches and supersedes ESOUND's feature set in nearly all areas.

Warning: polypaudio's client API and protocol are not stable yet. The client interface is still a moving target and changes from release to release. The client API's library version number is currently fixed to 0.0.0.

Documentation

There is some preliminary documentation available: modules.html, cli.html, daemon.html, FAQ.html, .

First Steps

Simply start the polypaudio daemon with the argument -nC

polypaudio -nC

This will present you a screen like this:

Welcome to polypaudio! Use "help" for usage information.
>>> 

Now you can issue CLI commands as described in cli.html. Another way to start polypaudio is by specifying a configuration script like that one included in the distribution on the command line :

polypaudio -nF polypaudio.pa

This will load some drivers and protocols automatically.

The best idea is to configure your daemon in /etc/polypaudio/daemon.conf and /etc/polypaudio/default.pa and to run polypaudio without any arguments.

Developing polypaudio Clients

You may browse the Doxygen generated programing documentation for the client API. (Run make doxygen to generate this documentation from the source tree)

Developing polypaudio Modules

There are several reasons for writing loadable modules for polypaudio:

There is currently no documentation how to write loadable modules for polypaudio. Read the source, Luke! If you are interested in writing new modules feel free to contact the author in case you have any questions.

Requirements

Currently, polypaudio is tested on Linux only. It requires an OSS or ALSA compatible soundcard.

polypaudio was developed and tested on Debian GNU/Linux "testing" from July 2004, it should work on most other Linux distributions (and maybe Unix versions) since it uses GNU autoconf and GNU libtool for source code configuration and shared library management.

polypaudio needs Secret Rabbit Code (aka libsamplerate), libsndfile, alsa-lib and GLIB. (The latter is required for building the GLIB main loop integration module only.)

Installation

As this package is made with the GNU autotools you should run ./configure inside the distribution directory for configuring the source tree. After that you should run make for compilation and make install (as root) for installation of polypaudio.

Acknowledgements

Eric B. Mitchell for writing ESOUND

Download

The newest release is always available from @PACKAGE_URL@

The current release is @PACKAGE_VERSION@

Get polypaudio's development sources from the Subversion repository. (viewcvs)

If you want to be notified whenever I release a new version of this software use the subscription feature of Freshmeat.

New! There is a general discussion mailing list for polypaudio available.


Lennart Poettering <@PACKAGE_BUGREPORT@>, September 2004
$Id$