summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/FAQ.html.in157
-rw-r--r--doc/Makefile.am40
-rw-r--r--doc/README.html.in289
-rw-r--r--doc/cli.html.in214
-rw-r--r--doc/daemon.html.in88
-rw-r--r--doc/modules.html.in326
-rw-r--r--doc/style.css34
-rw-r--r--doc/todo33
8 files changed, 0 insertions, 1181 deletions
diff --git a/doc/FAQ.html.in b/doc/FAQ.html.in
deleted file mode 100644
index 9cacfb4c..00000000
--- a/doc/FAQ.html.in
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>polypaudio: FAQ</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-
-
-<h1>Frequently Asked Questions</h1>
-
-<ol>
- <li><p><b>How does Polypaudio compare with ESOUND/aRts/NAS?</b></p>
-
- <p>Polypaudio is sound daemon similar to ESOUND and NAS, but much more
- powerful. aRts is a realtime-synthesizer-cum-sound-server, i.e. it
- does much more than Polypaudio. However, I believe that Polypaudio
- does what it does much better than any other free sound server.</p>
- </li>
-
- <li><p><b>What about ESOUND compatibility?</b></p>
- <p>Polypaudio is a drop in replacement for ESOUND. That means: you can
- load a esound compatibility module which implements an ESOUND
- compatible protocol which allows you to use most of the classic ESOUND
- compatible programs (including the command line programs like
- <tt>esdcat</tt>).</p>
- </li>
-
- <li><p><b>Is Polypaudio a GNOME program?</b></p>
- <p>No, Polypaudio has no dependency on GNOME/GTK/GLIB. All it requires
- is a UNIX-like operating system and very few dependency
- libraries. However, the accompanying GUI tools are writen with
- gtkmm, i.e. require both GLIB and GTK.</p></li>
-
- <li><p><b>Can I integrate Polypaudio in my GLIB/GTK/GNOME application?</b></p>
- <p>Yes! Polypaudio comes with a GLIB main loop adapter. You can embed
- both the client library and the daemon (!) into your GLIB based
- application.</p></li>
-
- <li><p><b>Can I integrate Polypaudio in my Qt/KDE application?</b></p>
- <p>Yes! Polypaudio uses a main loop abstraction layer that allows you
- to integrate Polypaudio in any program that supports main
- loops. Unfortunately there is no adapter for Qt publicly available yet.</p></li>
-
- <li><p><b>I want to write a new driver for Polypaudio, are there any docs?</b></p>
- <p>Currently, only the client API is documented with doxygen. Read
- the source and base your work on a simple module like
- <tt>module-pipe-sink</tt>.</p></li>
-
- <li><p><b>What about compatibility with NAS?</b></p>
- <p>Is not available (yet?). It is doable, but noone has implemented it yet.</p></li>
-
- <li><p><b>What about compatibility with aRts?</b></p>
- <p>Is not available. Since aRts is as synthesizer application you'd have to
- reimplement very much code for Polypaudio. It should be easy to
- implement limited support for <tt>libartsc</tt> based
- applications. Noone has done this yet. It is probably a better idea to
- run <tt>arts</tt> on top of Polypaudio (through a polypaudio driver
- for aRts, which nobody has written yet). Another solution would be to
- embed Polypaudio in the aRts process.</p></li>
-
- <li><p><b>I often hear noises when playing back with Polypaudio, what can I do?</b></p>
- <p>There are to possible solutions: run polypaudio with argument
-<tt>--high-priority=1</tt> and make yourself member of the group
-<tt>realtime</tt>, or increase the fragment sizes of the audio
- drivers. The former will allow Polypaudio to activate
- <tt>SCHED_FIFO</tt> high priority scheduling (root rights are dropped
- immediately after this) Keep in mind that this is a potential security hole!</p></li>
-
- <li><p><b>The <tt>polypaudio</tt> executable is installed SUID root by default. Why this? Isn't this a potential security hole?</b></p>
-
- <p>Polypaudio activates <tt>SCHED_FIFO</tt> scheduling if the user
-passes <tt>--high-priority=1</tt>. This will only succeed when
-executed as root, therefore the binary is marked SUID root by
-default. Yes, this is a potential security hole. However, polypaudio
-tries its best to minimize the security threat: immediately after
-startup polypaudio drops all capabilities except
-<tt>CAP_SYS_NICE</tt> (At least on systems that support it, like Linux; see <tt>man 7
-capabilities</tt> for more information). If the calling user is not a
-member of the group <tt>realtime</tt> (which is required to have a GID
-< 1000), root rights are dropped immediately. This means, you can
-install polypaudio SUID root, but only a subset of your users (the
-members of the group <tt>realtime</tt>) may make use of realtime
-scheduling. Keep in mind that these users might load their own binary
-modules into the polypaudio daemon which may freeze the machine. The
-daemon has a minimal protection against CPU hogging (the daemon is
-killed after hogging more than 70% CPU for 5 seconds), but this may
-be circumvented easily by evildoers.</p></li>
-
- <li><p><b>I want to run polypaudio only when it is needed, how do I do this?</b></p>
-
- <p>Set <tt>autospawn = yes</tt> in <tt>client.conf</tt>. That
-configuration file may be found either in <tt>/etc/polypaudio/</tt> or
-in <tt>~/.polypaudio/</tt>.</p></li>
-
- <li><p><b>How do I list all polypaudio modules installed?</b></p>
-
- <p><tt>polypaudio --dump-modules</tt></p>
-
- <p>Add <tt>-v</tt> for terse usage instructions.</p>
-
-<li><p><b>How do I use polypaudio over the network?</b></p>
-
-<p>Just set <tt>$POLYP_SERVER</tt> to the host name of the polypaudio server.</p>
-
-<li><p><b>Is polypaudio capable of providing synchronized audio playback over the network for movie players like <tt>mplayer</tt>?</b></p>
-
-<p>Yes! Unless your network is congested in some way (i.e. transfer latencies vary strongly) it works perfectly. Drop me an email for experimental patches for MPlayer.</p>
-
- <li><p><b>What environment variables does polypaudio care about?</b></p>
-
-<p>The client honors: <tt>POLYP_SINK</tt> (default sink to connect to), <tt>POLYP_SOURCE</tt> (default source to connect to), <tt>POLYP_SERVER</tt> (default server to connect to, like <tt>ESPEAKER</tt>), <tt>POLYP_BINARY</tt> (the binary to start when autospawning a daemon), <tt>POLYP_CLIENTCONFIG</tt> (path to the client configuration file).</p>
-
-<p>The daemon honors: <tt>POLYP_SCRIPT</tt> (default CLI script file run after startup), <tt>POLYP_CONFIG</tt> (default daemon configuration file), <tt>POLYP_DLPATH</tt> (colon separated list of paths where to look for modules)</p></li>
-
-
-<li><p><b>I saw that SIGUSR2 provokes loading of the module <tt>module-cli-protocol-unix</tt>. But how do I make use of that?</b></p>
-
-<p>A brilliant guy named Lennart Poettering once wrote a nifty tool
-for that purpose: <a
-href="http://0pointer.de/lennart/projects/bidilink/">bidilink</a>. To
-connect to a running polypaudio daemon try using the following commands:</p>
-
-<pre>killall -USR2 polypaudio
-bidilink unix-client:/tmp/polypaudio/cli</pre>
-
-<p><i>BTW: Someone should package that great tool for Debian!</i></p>
-
-
-<p><b>New:</b> There's now a tool <tt>pacmd</tt> that automates sending SIGUSR2 to the daemon and running a bidilink like tool for you.</p>
-</li>
-
-<li><p><b>How do the polypaudio libraries decide where to connect to?</b></p>
-<p>The following rule applies:</p>
-<ol>
- <li>If the the application using the library specifies a server to connect to it is used. If the connection fails, the library fails too.</li>
- <li>If the environment variable <tt>POLYP_SERVER</tt> is defined the library connects to that server. If the connection fails, the library fails too.</li>
- <li>If <tt>$DISPLAY</tt> is set, the library tries to connect to that server and looks for the root window property <tt>POYLP_SERVER</tt> for the host to connect to. If <tt>POLYP_COOKIE</tt> is set it is used as authentication cookie.</li>
- <li>If the client configuration file (<tt>~/.polypaudio/client.conf</tt> or <tt>/etc/polypaudio/client.conf</tt>) sets the server address, the library connects to that server. If the connection fails, the library fails too.</li>
- <li>The library tries to connect to the default local UNIX socket for polypaudio servers. If the connection fails, it proceeds with the next item.</li>
- <li>The library tries to connect to the default local TCP socket for polypaudio servers. If the connection fails, it proceeds with the next item.</li>
- <li>If <tt>$DISPLAY</tt> is set, the library tries to connect to the default TCP port of that host. If the connection fails, it proceeds with the next item.</li>
- <li>The connection fails.</li>
-</ol>
-</li>
-
-<li><p><b>Why the heck does libpolyp link against libX11?</b></p>
-<p>The Polypaudio client libraries look for some X11 root window properties for the credentials of the Polypaudio server to access. You may compile Polypaudio without X11 for disabling this.</p></li>
-
-</ol>
-
-<hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, September 2004</address>
-<div class="grey"><i>$Id$</i></div>
-</body> </html>
diff --git a/doc/Makefile.am b/doc/Makefile.am
deleted file mode 100644
index fff06551..00000000
--- a/doc/Makefile.am
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id$
-
-# This file is part of polypaudio.
-#
-# polypaudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# polypaudio 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 Lesser General Public License
-# along with polypaudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-noinst_DATA = README.html cli.html modules.html daemon.html README
-EXTRA_DIST = $(noinst_DATA) style.css README.html.in cli.html.in modules.html.in daemon.html.in todo FAQ.html.in
-
-MAINTAINERCLEANFILES = README.html cli.html modules.html daemon.html FAQ.html
-CLEANFILES =
-
-if USE_LYNX
-README: README.html
- lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
-
-CLEANFILES += README
-endif
-
-tidy: README.html cli.html modules.html daemon.html
- tidy -qe < README.html ; true
- tidy -qe < cli.html ; true
- tidy -qe < daemon.html ; true
- tidy -qe < modules.html ; true
- tidy -qe < FAQ.html ; true
-
-.PHONY: tidy
-
diff --git a/doc/README.html.in b/doc/README.html.in
deleted file mode 100644
index eb57fdb7..00000000
--- a/doc/README.html.in
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<title>polypaudio @PACKAGE_VERSION@</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-<h1><a name="top">polypaudio @PACKAGE_VERSION@</a></h1>
-
-<p><i>Copyright 2004 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i></p>
-
-<ul class="toc">
- <li><a href="#license">License</a></li>
- <li><a href="#news">News</a></li>
- <li><a href="#overview">Overview</a></li>
- <li><a href="#status">Status</a></li>
- <li><a href="#documentation">Documentation</a></li>
- <li><a href="#requirements">Requirements</a></li>
- <li><a href="#installation">Installation</a></li>
- <li><a href="#acks">Acknowledgements</a></li>
- <li><a href="#download">Download</a></li>
-</ul>
-
-<h2><a name="license">License</a></h2>
-
-<p>This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.</p>
-
-<p>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
-Lesser General Public License for more details.</p>
-
-<p>You should have received a copy of the GNU Lesser General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
-
-<h2><a name="news">News</a></h2>
-
-<div class="news-date">Sun Nov 21 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.7.tar.gz">Version 0.7</a> released;
-changes include: IPv6 support; PID file support; publish credentials
-in X11 root window (<tt>module-x11-publish</tt>; new tool <tt>pacmd</tt>; ESOUND backend; new command <tt>load-sample-dir-lazy</tt>; many, many minor fixes.</p>
-
-<div class="news-date">Thu Oct 28 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.6.tar.gz">Version 0.6</a> released;
-changes include: TCP wrappers support; don't load the complete sound
-file into memory when playing back using <tt>pa_play_file()</tt>;
-autoload API change; don't load all sound files as FLOAT32; shorten
-default buffers; client-side latency interpolation; add new user
-volume metrics; add <tt>module-tunnel</tt>, <tt>module-null-sink</tt>,
-<tt>module-match</tt> and new tool <tt>paplay</tt>; new API version
-macros; many client API improvements; correctly lock cookie file
-generation; correctly lock daemon autospawning; print daemon layout to
-STDERR on SIGHUP; new options for <tt>pacat</tt>: allow sample type specification.</p>
-
-<div class="news-date">Mon Sep 24 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.5.1.tar.gz">Version 0.5.1</a> released;
-changes include: improve esound protocol compatibility; fix
-autospawning via <tt>libesd</tt>; make use of POSIX capabilities;
-allow <tt>SCHED_FIFO</tt> scheduling only for users in group
-<tt>realtime</tt>; minor build system fix.</p>
-
-<div class="news-date">Mon Sep 20 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.5.tar.gz">Version 0.5</a> released;
-changes include: extensive API improvements, new module
-<tt>module-combine</tt> for combining multiple sound cards into one,
-gcc 2.95 compatibility, configuration files, add "lazy" samples,
-support for source and network latency measurements, add
-<tt>module-pipe-source</tt>, many other fixes and improvements.</p>
-
-<div class="news-date">Wed Sep 8 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.4.tar.gz">Version 0.4</a> released;
-changes include: daemon auto spawning, support for <tt>SCHED_FIFO</tt> scheduling, three new modules, proper logging, CPU load watchdog, many fixes.</p>
-
-<div class="news-date">Fri Aug 27 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.3.tar.gz">Version 0.3</a> released;
-changes include: support for both glib 2.0 and glib 1.2, future cancellation, API updates, many fixes, relicense client library to LGPL.</p>
-
-<div class="news-date">Fri Aug 20 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.2.tar.gz">Version 0.2</a> 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.</p>
-
-<div class="news-date">Sat Jul 17 2004: </div> <p class="news-text"><a
-href="@PACKAGE_URL@polypaudio-0.1.tar.gz">Version 0.1</a> released</p>
-
-<h2><a name="overview">Overview</a></h2>
-
-<p><tt>polypaudio</tt> is a sound server for Linux and other Unix like
-operating systems. It is intended to be an improved drop-in
-replacement for the <a
-href="http://www.tux.org/~ricdude/apps.html">Enlightened Sound
-Daemon</a> (ESOUND). It is my ultimate ambition to get Polypaudio into
-<a href="http://www.gnome.org/">Gnome</a> as a replacement for ESOUND. In
-addition to the features ESOUND provides <tt>polypaudio</tt> has:</p>
-
-<ul>
- <li>Extensible plugin architecture (by loading dynamic loadable modules with <tt>dlopen()</tt>)</li>
- <li>Support for more than one sink/source</li>
- <li>Better low latency behaviour</li>
- <li>Embedabble into other software (the core is available as C library)</li>
- <li>Completely asynchronous C API</li>
- <li>Simple command line interface for reconfiguring the daemon while running</li>
- <li>Flexible, implicit sample type conversion and resampling</li>
- <li>"Zero-Copy" architecture</li>
- <li>Module autoloading</li>
- <li>Very accurate latency measurement for playback and recordin.</li>
- <li>May be used to combine multiple sound cards to one (with sample rate adjustment)</li>
- <li>Client side latency interpolation</li>
-</ul>
-
-<p>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
-<tt>glib</tt>/<tt>gtk</tt> mainloop. Since the asynchronous API
-available through <tt>polyplib</tt> is quite difficult to use there is
-a simplified synchronous API wrapper <tt>polyplib-simple</tt>
-available. A simple main loop implementation is available as well.</p>
-
-<p>The following modules are currently available:</p>
-
-<ul>
- <li><tt>module-oss</tt>: driver for Open Sound System audio sinks and sources.</li>
- <li><tt>module-oss-mmap</tt>: same as above, but uses <tt>mmap()</tt> access to the audio buffer. Not as compatible</li>
- <li><tt>module-alsa-sink</tt>, <tt>module-alsa-source</tt>: drivers for ALSA sinks and sources</li>
- <li><tt>module-pipe-sink</tt>, <tt>module-pipe-source</tt>: demonstration module providing UNIX fifos backed sinks/sources</li>
- <li><tt>module-combine</tt>: combine multiple sinks into one.</li>
- <li><tt>module-sine</tt>: a sine generate sink input.</li>
- <li><tt>module-x11-bell</tt>: play a sample from the sample cache on every X11 bell event.</li>
- <li><tt>module-x11-publish</tt>: store Polypaudio credentials in the X11 root window.</li>
- <li><tt>module-esound-protocol-tcp</tt>, <tt>module-esound-protocol-tcp6</tt>, <tt>module-esound-protocol-unix</tt>: ESOUND compatibility modules (for TCP/IPv6 resp. TCP/IPv6 resp. UNIX domain sockets)</li>
- <li><tt>module-native-protocol-tcp</tt>, <tt>module-native-protocol-tcp6</tt>, <tt>module-native-protocol-unix</tt>: Native polypaudio protocol (for TCP/IPv4 resp. TCP/IPv6 resp. UNIX domain sockets)</li>
- <li><tt>module-simple-protocol-tcp</tt>, <tt>module-simple-protocol-tcp6</tt>, <tt>module-simple-protocol-unix</tt>: Simplistic protocol for playback/capture for usage with tools like <tt>netcat</tt> (for TCP/IP resp. UNIX domain sockets)</li>
- <li><tt>module-cli-protocol-tcp</tt>, <tt>module-cli-protocol-tcp6</tt>, <tt>module-cli-protocol-unix</tt>, <tt>module-cli</tt>: Expose polypaudio's internals whith a simple command line interface. (for TCP/IP resp. UNIX domain sockets resp. STDIN/STDOUT)</li>
- <li><tt>module-tunnel-sink</tt>, <tt>module-tunnel-source</tt>: make sinks/sources from other hosts available locally.</li>
- <li><tt>module-match</tt>: adjust volume automatically for newly created playback streams based on a regular expression matching table.</li>
- <li><tt>module-null-sink</tt>: a clocked sink similar to <tt>/dev/null</tt>.</li>
- <li><tt>module-esound-sink</tt>: a sink for forwarding audio data to an ESOUND server.</li>
-</ul>
-
-<p><tt>polypaudio</tt> is the successor of my previous, ill-fated
-attempt to write a sound server, <a
-href="http://asd.sf.net/">asd</a>.</p>
-
-<p>A GTK GUI manager application for polypaudio is the <a
-href="http://0pointer.de/lennart/projects/paman/">Polypaudio
-Manager</a>. Another GTK GUI tool for Polypaudio is the <a
-href="http://0pointer.de/lennart/projects/pavumeter">Polypaudio Volume
-Meter</a>.</p>
-
-<p>There are output plugins for <a
-href="http://0pointer.de/lennart/projects/xmms-polyp/">XMMS</a>, <a
-href="http://0pointer.de/lennart/projects/libao-polyp/">libao</a>
-(merged in <tt>libao</tt> SVN) and <a
-href="http://0pointer.de/lennart/projects/gst-polyp/">gstreamer</a>
-(merged in <tt>gstreamer-plugins</tt> CVS), <a
-href="http://mplayerhq.hu">MPlayer</a> (merged in MPlayer CVS) and <a
-href="http://xine.sf.net/">Xine</a> (merged in Xine CVS). Drivers for
-<a href="http://www.portaudio.com/">PortAudio</a> will be released
-shortly.</p>
-
-<h2><a name="status">Status</a></h2>
-
-<p>Version @PACKAGE_VERSION@ is quite usable. It matches and supersedes ESOUND's feature set in nearly all areas.</p>
-
-<p><b>Warning:</b> 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 <tt>0.0.0</tt>.</p>
-
-<h2><a name="documentation">Documentation</a></h2>
-
-<p>There is some preliminary documentation available: <a
-href="modules.html"><tt>modules.html</tt></a>, <a
-href="cli.html"><tt>cli.html</tt></a>, <a
-href="daemon.html"><tt>daemon.html</tt></a>, <a href="FAQ.html"><tt>FAQ.html</tt></a>, .</p>
-
-<h3>First Steps</h3>
-
-<p>Simply start the polypaudio daemon with the argument <tt>-nC</tt></p>
-
-<pre>polypaudio -nC</pre>
-
-<p>This will present you a screen like this:</p>
-
-<pre>Welcome to polypaudio! Use "help" for usage information.
-&gt;&gt;&gt; </pre>
-
-<p>Now you can issue CLI commands as described in <a
-href="cli.html"><tt>cli.html</tt></a>. Another way to start
-<tt>polypaudio</tt> is by specifying a configuration script like that one included in the distribution on the
-command line :</p>
-
-<pre>polypaudio -nF polypaudio.pa</pre>
-
-<p>This will load some drivers and protocols automatically.</p>
-
-<p>The best idea is to configure your daemon in <tt>/etc/polypaudio/daemon.conf</tt> and <tt>/etc/polypaudio/default.pa</tt> and to run polypaudio without any arguments.</p>
-
-<p><b>Beware!</b> Unless you pass the option <tt>--sysconfdir=/etc</tt> to
-<tt>configure</tt>, the directory <tt>/etc/polypaudio/</tt> is really
-<tt>/usr/local/etc/polypaudio/</tt>.</p>
-
-<h3>Developing polypaudio Clients</h3>
-
-<p>You may browse the <a href="http://www.doxygen.org/">Doxygen</a> generated <a
-href="http://0pointer.de/lennart/projects/polypaudio/doxygen/">programing
-documentation</a> for the client API. (Run <tt>make doxygen</tt> to generate this documentation from the source tree)</p>
-
-<h3>Developing polypaudio Modules</h3>
-
-<p>There are several reasons for writing loadable modules for polypaudio:</p>
-
-<ul>
- <li>Device driver support in addition to ALSA/OSS</li>
- <li>Protocol support beyond ESOUND's protocol and the native protocol. (such as NAS or a subset of aRts)</li>
- <li>New programming interfaces such as XMLRPC or DBUS for controlling the daemon.</li>
- <li>Hooking audio event sources directly into polypaudio (similar to <tt>module-x11-bell</tt>)</li>
- <li>For low latency applications such as VOIP: load the VOIP core directly into polypaudio and have a slim GUI frontend to control it.</li>
-</ul>
-
-<p>There is currently no documentation how to write loadable modules
-for polypaudio. <i>Read the source, Luke!</i> If you are interested in
-writing new modules feel free to contact the author in case you have any
-questions.</p>
-
-<h2><a name="requirements">Requirements</a></h2>
-
-<p>Currently, <tt>polypaudio</tt> is tested on Linux and FreeBSD only. It requires an OSS or ALSA compatible soundcard.</p>
-
-<p><tt>polypaudio</tt> was developed and tested on Debian GNU/Linux
-"testing" from November 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.</p>
-
-<p><tt>polypaudio</tt> needs <tt>libwrap</tt>, <a
-href="http://www.mega-nerd.com/SRC/">Secret Rabbit Code (aka
-<tt>libsamplerate</tt>)</a>, <a
-href="http://www.mega-nerd.com/libsndfile"><tt>libsndfile</tt></a>, <a
-href="http://www.alsa-project.org/">alsa-lib</a> and <a
-href="http://www.gtk.org/">GLIB</a>. (The latter is required for
-building the GLIB main loop integration module only.)</p>
-
-<h2><a name="installation">Installation</a></h2>
-
-<p>As this package is made with the GNU autotools you should run
-<tt>./configure</tt> inside the distribution directory for configuring
-the source tree. After that you should run <tt>make</tt> for
-compilation and <tt>make install</tt> (as root) for installation of
-<tt>polypaudio</tt>.</p>
-
-<h2><a name="acks">Acknowledgements</a></h2>
-
-<p>Eric B. Mitchell for writing ESOUND</p>
-
-<p>Jeff Waugh for creating Ubuntu packages (and hopefully soon Debian)</p>
-
-<p>Miguel Freitas for writing a Polypaudio driver for Xine</p>
-
-<p>Joe Marcus Clarke for porting Polypaudio to FreeBSD</p>
-
-<h2><a name="download">Download</a></h2>
-
-<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p>
-
-<p>The current release is <a href="@PACKAGE_URL@polypaudio-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>
-
-<p>Get <tt>polypaudio</tt>'s development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="svn://seth.intheinter.net/polypaudio">repository</a> (<a href="http://0pointer.de/cgi-bin/viewcvs.cgi/?root=polypaudio">viewcvs</a>): </p>
-
-<pre>svn checkout svn://seth.intheinter.net/polypaudio/trunk polypaudio</pre>
-
-<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/polypaudio/">Freshmeat</a>.</p>
-
-<p><b>New!</b> There is a general discussion <a href="https://seth.intheinter.net/mailman/listinfo/polypaudio-discuss">mailing list for polypaudio</a> available.</p>
-
-<p><b>New!</b> There is now a <a href="http://0pointer.de/trac/polypaudio/">Polypaudio wiki</a> (based on <a href="http://www.edgewall.com/products/trac/">trac</a>) available.</p>
-
-<hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, November 2004</address>
-<div class="grey"><i>$Id$</i></div>
-
-</body>
-</html>
diff --git a/doc/cli.html.in b/doc/cli.html.in
deleted file mode 100644
index 61d29e5a..00000000
--- a/doc/cli.html.in
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>polypaudio: Simple Command Line Language</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-<h1>Simple Command Line Language</h1>
-
-<p><tt>polypaudio</tt> provides a simple command line language used by
-configuration scripts as well as the modules <tt>module-cli</tt>
-and <tt>module-cli-protocol-{unix,tcp}</tt>. Empty lines and lines
-beginning with a hashmark (<tt>#</tt>) are silently ignored. Several
-commands are supported:</p>
-
-<h2>Miscellaneous Commands</h2>
-
-<h3><tt>help</tt></h3>
-
-<p>Show a quick help on the commands available.</p>
-
-<h3><tt>exit</tt></h3>
-
-<p>Terminate the daemon. If you want to terminate a CLI connection
-("log out") you might want to use <tt>C-d</tt>.</p>
-
-<h2>Status Commands</h2>
-
-<h3><tt>list-modules</tt></h3>
-
-<p>Show all currently loaded modules with their arguments.</p>
-
-<h3><tt>list-sinks/list-sources</tt></h3>
-
-<p>Show all currently registered sinks (resp. sources).</p>
-
-<h3><tt>list-clients</tt></h3>
-
-<p>Show all currently active clients.</p>
-
-<h3><tt>list-sink-inputs/list-sink-outputs</tt></h3>
-
-<p>Show all currently active inputs to sinks (resp. outputs of sources).</p>
-
-<h3><tt>stat</tt></h3>
-
-<p>Show some simple statistics about the allocated memory blocks and
-the space used by them.</p>
-
-<h3><tt>info</tt></h3>
-
-<p>A combination of all status commands described above. <tt>ls</tt>
-and <tt>list</tt> are synonyms for <tt>info</tt>.</p>
-
-<h2>Module Management</h2>
-
-<h3><tt>load-module</tt></h3>
-
-<p>Load a module specified by its name and arguments. For most modules
-it is OK to be loaded more than once.</p>
-
-<h3><tt>unload-module</tt></h3>
-
-<p>Unload a module specified by its index in the module list as
-returned by <tt>modules</tt>.</p>
-
-<h2>Configuration Commands</h2>
-
-<h3><tt>set-sink-volume</tt></h3>
-
-<p>Set the volume of the specified sink. You may specify the sink either
-by its index in the sink list or by its name. The volume should be an
-integer value greater or equal than 0 (= muted). Volume 256
-(<tt>0x100</tt>) is normal volume, values greater than this amplify
-the audio signal with clipping.</p>
-
-<h3><tt>set-sink-input-volume</tt></h3>
-
-<p>Set the volume of a sink input specified by its index the the sink
-input list. The same volume rules apply as with <tt>sink_volume</tt>.</p>
-
-<h3><tt>set-default-sink</tt>/<tt>set-default-source</tt></h3>
-
-<p>Make a sink (resp. source) the default. You may specify the sink
-(resp. ssource) by its index in the sink (resp. source) list or by its
-name.</p>
-
-<h2>Sample Cache</h2>
-
-<h3><tt>list-samples</tt></h3>
-
-<p>Lists the contents of the sample cache.</p>
-
-<h3><tt>play-sample</tt></h3>
-
-<p>Play a sample cache entry to a sink. Expects the sample name and the sink name as arguments.</p>
-
-<h3><tt>remove-sample</tt></h3>
-
-<p>Remove an entry from the sample cache. Expects the sample name as argument.</p>
-
-<h3><tt>load-sample</tt></h3>
-
-<p>Load an audio file to the sample cache. Expects the file name to load and the desired sample name as arguments.</p>
-
-<h3><tt>load-sample-lazy</tt></h3>
-
-<p>Create a new entry in the sample cache, but don't load the sample
-immediately. The sample is loaded only when it is first used. After a
-certain idle time it is freed again. Expects the the desired sample
-name and file name to load as arguments.</p>
-
-<h3><tt>load-sample-dir-lazy</tt></h3>
-
-<p>Load all entries in the specified directory into the sample cache
-as lazy entries. A shell globbing expression (e.g. <tt>*.wav</tt>) may
-be appended to the path of the directory to add.</p>
-
-<h2>Module Autoloading</h2>
-
-<h3><tt>list-autoload</tt></h3>
-
-<p>Lists all currently defined autoloading entries.</p>
-
-<h3><tt>add-autoload-sink/add-autoload-source</tt></h3>
-
-<p>Adds an autoloading entry for a sink (resp. source). Expects the sink name (resp. source name), the module name and the module arguments as arguments.</p>
-
-<h3><tt>remove-autoload-sink/remove-autoload-source</tt></h3>
-
-<p>Remove an autoloading entry. Expects the sink name (resp. source name) as argument.</p>
-
-<h2>Miscellaneous Commands</h2>
-
-<h3><tt>play-file</tt></h3>
-
-<p>Play an audio file to a sink. Expects the file name and the sink name as argumens.</p>
-
-<h3><tt>dump</tt></h3>
-
-<p>Dump the daemon's current configuration in CLI commands.</p>
-
-<h2>Killing Clients/Streams</h2>
-
-<h3><tt>kill-client</tt></h3>
-
-<p>Remove a client forcibly from the server. There is no protection that
-the client reconnects immediately.</p>
-
-<h3><tt>kill-sink-input/kill-source-output</tt></h3>
-
-<p>Remove a sink input (resp. source output) forcibly from the
-server. This will not remove the owning client or any other streams
-opened by the client from the server.</p>
-
-<h2>Meta Commands</h2>
-
-<p>In addition the the commands described above there a few meta
-directives supported by the command line interpreter:</p>
-
-<h3><tt>.include</tt></h3>
-
-<p>Executes the commands from the specified script file.</p>
-
-<h3><tt>.fail/.nofail</tt></h3>
-
-<p>Enable (resp. disable) that following failing commands will cancel
-the execution of the current script file. This is a ignored when used
-on the interactive command line.</p>
-
-<h3><tt>.verbose/.noverbose</tt></h3>
-<p>Enable (resp. disable) extra verbosity.</p>
-
-<h2>Example Configuration Script</h2>
-
-<p>Mark the following script as executable (<tt>chmod +x</tt>) and run it for a sensible polypaudio configuration.</p>
-
-<pre>
-#!/usr/bin/polaudio -nF
-
-# Create autoload entries for the device drivers
-add-autoload-sink output module-alsa-sink device=plughw:0,0 rate=48000 sink_name=output
-add-autoload-sink output2 module-oss device=/dev/dsp1 record=0 sink_name=output2
-add-autoload-sink combined module-combine master=output slaves=output2 sink_name=combined
-
-add-autoload-source input module-alsa-source device=hw:1,0 source_name=input
-
-# Load several protocols
-load-module module-esound-protocol-unix
-load-module module-simple-protocol-tcp
-load-module module-native-protocol-unix
-load-module module-cli-protocol-unix
-
-# Make some devices default
-set-default-sink combined
-set-default-source input
-
-# Don't fail if the audio files referred to below don't exist
-.nofail
-
-# Load an audio to the sample cache for usage with module-x11-bell
-load-sample-lazy /usr/share/sounds/KDE_Notify.wav x11-bell
-load-module module-x11-bell sample=x11-bell
-
-# Play a welcome sound
-play-file /usr/share/sounds/startup3.wav combined
-</pre>
-
-<hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, November 2004</address>
-<div class="grey"><i>$Id$</i></div>
-</body> </html>
diff --git a/doc/daemon.html.in b/doc/daemon.html.in
deleted file mode 100644
index a4db0bd7..00000000
--- a/doc/daemon.html.in
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>polypaudio: Daemon</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-<h1>Daemon</h1>
-
-<h2>Command Line Arguments</h2>
-
-The <tt>polypaudio</tt> daemon accepts several command line arguments:
-
-<pre>
-COMMANDS:
- -h, --help Show this help
- --version Show version
- --dump-conf Dump default configuration
- --dump-modules Dump list of available modules
- -k --kill Kill a running daemon
- --check Check for a running daemon
-
-OPTIONS:
- -D, --daemonize[=BOOL] Daemonize after startup
- --fail[=BOOL] Quit when startup fails
- --verbose[=BOOL] Be slightly more verbose
- --high-priority[=BOOL] Try to set high process priority
- (only available as root)
- --disallow-module-loading[=BOOL] Disallow module loading after startup
- --exit-idle-time=SECS Terminate the daemon when idle and this
- time passed
- --module-idle-time=SECS Unload autoloaded modules when idle and
- this time passed
- --scache-idle-time=SECS Unload autoloaded samples when idle and
- this time passed
- --log-target={auto,syslog,stderr} Specify the log target
- -p, --dl-search-path=PATH Set the search path for dynamic shared
- objects (plugins)
- --resample-method=[METHOD] Use the specified resampling method
- (one of src-sinc-medium-quality,
- src-sinc-best-quality,src-sinc-fastest
- src-zero-order-hold,src-linear,trivial)
- --use-pid-file[=BOOL] Create a PID file
-
-STARTUP SCRIPT:
- -L, --load="MODULE ARGUMENTS" Load the specified plugin module with
- the specified argument
- -F, --file=FILENAME Run the specified script
- -C Open a command line on the running TTY
- after startup
-
- -n Don't load default script file
-</pre>
-
-<h3>Example</h3>
-
-<p>It is a good idea to run the daemon like this:</p>
-
-<pre>polypaudio -D</pre>
-
-<p>This will run <tt>/etc/polypaudio/default.pa</tt> after startup. This should be a script written in the CLI language described in <a href="cli.html">cli.html</a>. </p>
-
-<h2>Signals</h2>
-
-<p>The following signals are trapped specially:</p>
-
-<h3>SIGINT</h3>
-
-<p>The daemon is shut down cleanly.</p>
-
-<h3>SIGUSR1</h3>
-
-<p>The daemon tries to load the module <a href="modules.html#module-cli"><tt>module-cli</tt></a>, effectively providing a command line interface on the calling TTY.</p>
-
-<h3>SIGUSR2</h3>
-
-<p>The daemon tries to load the module <a href="modules.html#module-cli-protocol-unix"><tt>module-cli-protocol-unix</tt></a>, effectively providing a command line interface on a special UNIX domain socket.</p>
-
-<h3>SIGHUP</h3>
-
-<p>The daemon logs the current server layout.</p>
-
-<hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, November 2004</address>
-<div class="grey"><i>$Id$</i></div>
-</body> </html>
diff --git a/doc/modules.html.in b/doc/modules.html.in
deleted file mode 100644
index a549396d..00000000
--- a/doc/modules.html.in
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>polypaudio: Loadable Modules</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-
-<h1>Loadable Modules</h1>
-
-<p>The following loadable modules are provided with the <tt>polypaudio</tt> distribution:</p>
-
-<h2>Device Drivers</h2>
-
-<p>All device driver modules support the following parameters:</p>
-<table>
- <tr><td><tt>format=</tt></td><td>The sample format (one of <tt>u8</tt>, <tt>s16</tt>, <tt>s16le</tt>, <tt>s16le</tt>, <tt>float32</tt>, <tt>float32be</tt>, <tt>float32le</tt>, <tt>alaw</tt>, <tt>ulaw</tt>) (defaults to <tt>s16</tt>)</td></tr>
- <tr><td><tt>rate=</tt></td><td>The sample rate (defaults to 44100)</td></tr>
- <tr><td><tt>channels=</tt></td><td>Audio channels (defaults to 2)</td></tr>
- <tr><td><tt>sink_name=</tt>, <tt>source_name=</tt></td><td>Name for the sink (resp. source)</td></tr>
-</table>
-
-<h3>module-pipe-sink</h3>
-
-<p>Provides a simple test sink that writes the audio data to a FIFO
-special file in the file system. The sink name defaults to <tt>pipe_output</tt>.</p>
-
-<p>The following option is supported:</p>
-
-<table>
- <tr><td><tt>file=</tt></td><td>The name of the FIFO special file to use. (defaults to: <tt>/tmp/music.output</tt>)</td></tr>
-</table>
-
-<h3>module-pipe-source</h3>
-
-<p>Provides a simple test source that reads the audio data from a FIFO
-special file in the file system. The source name defaults to <tt>pipe_input</tt>.</p>
-
-<p>The following option is supported:</p>
-
-<table>
- <tr><td><tt>file=</tt></td><td>The name of the FIFO special file to use. (defaults to: <tt>/tmp/music.input</tt>)</td></tr>
-</table>
-
-
-<h3>module-null-sink</h3>
-
-<p>Provides a simple null sink. All data written to this sink is silently dropped. This sink is clocked using the system time.</p>
-
-<p>This module doesn't support any special parameters</p>
-
-<a name="module-alsa-sink"/>
-
-<h3>module-alsa-sink</h3>
-
-<p>Provides a playback sink for devices supported by the <a href="http://www.alsa-project.org/">Advanced Linux
-Sound Architecture</a> (ALSA). The sink name defaults to <tt>alsa_output</tt>.</p>
-
-<p>In addition to the general device driver options described above this module supports:</p>
-
-<table>
- <tr><td><tt>device=</tt></td><td>The ALSA device to use. (defaults to "plughw:0,0")</td></tr>
- <tr><td><tt>fragments=</tt></td><td>The desired fragments when opening the device. (defaults to 12)</td></tr>
- <tr><td><tt>fragment_size=</tt></td><td>The desired fragment size in bytes when opening the device (defaults to 1024)</td></tr>
-</table>
-
-<h3>module-alsa-source</h3>
-
-<p>Provides a recording source for devices supported by the Advanced
-Linux Sound Architecture (ALSA). The source name defaults to <tt>alsa_input</tt>.</p>
-
-<p>This module supports <tt>device=</tt>, <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p>
-
-<a name="module-oss"/>
-
-<h3>module-oss</h3>
-
-<p>Provides both a sink and a source for playback, resp. recording on
-<a href="http://www.opensound.com">Open Sound System</a> (OSS) compatible devices.</p>
-
-<p>This module supports <tt>device=</tt> (which defaults to <tt>/dev/dsp</tt>), <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p>
-
-<p>In addition this module supports the following options:</p>
-
-<table>
- <tr><td><tt>record=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)</td></tr>
- <tr><td><tt>playback=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)</td></tr>
-</table>
-
-<p>The sink name (resp. source name) defaults to <tt>oss_output</tt> (resp. <tt>oss_input</tt>).</p>
-
-<h3>module-oss-mmap</h3>
-
-<p>Similar to <tt>module-oss</tt> but uses memory mapped
-(<tt>mmap()</tt>) access to the input/output buffers of the audio
-device. This provides better latency behaviour but is not as
-compatible as <tt>module-oss</tt>.</p>
-
-<p>This module accepts exactly the same arguments as <a href="#module-oss"><tt>module-oss</tt></a>.</p>
-
-<h3>module-combine</h3>
-
-<p>This combines two or more sinks into one. A new virtual sink is
-allocated. All data written to it is forwarded to all connected
-sinks. In aequidistant intervals the sample rates of the output sinks
-is recalculated: i.e. even when the sink's crystals deviate (which is
-normally the case) output appears synchronously to the human ear. The
-resampling required for this may be very CPU intensive.</p>
-
-<table>
- <tr><td><tt>sink_name=</tt></td><td>The name for the combined sink. (defaults to <tt>combined</tt>)</td></tr>
- <tr><td><tt>master=</tt></td><td>The name of the first sink to link into the combined think. The sample rate/type is taken from this sink.</td></tr>
- <tr><td><tt>slaves=</tt></td><td>Name of additional sinks to link into the combined think, seperated by commas.</td></tr>
- <tr><td><tt>adjust_time=</tt></td><td>Time in seconds when to readjust the sample rate of all sinks. (defaults to 20)</td></tr>
- <tr><td><tt>resample_method=</tt></td><td>Resampling algorithm to
-use. See <tt>libsamplerate</tt>'s documentation for more
-information. Use one of <tt>sinc-best-quality</tt>,
-<tt>sinc-medium-quality</tt>, <tt>sinc-fastest</tt>,
-<tt>zero-order-hold</tt>, <tt>linear</tt>. If the default happens to
-be to slow on your machine try using <tt>zero-order-hold</tt>. This
-will decrease output quality however. (defaults to
-<tt>sinc-fastest</tt>)</td></tr> </table>
-
-<h3>module-tunnel-{sink,source}</h3>
-
-<p>Tunnel a remote sink/source to a local "ghost"
-sink/source. Requires a running polypaudio daemon on the remote server
-with <tt>module-native-protocol-tcp</tt> loaded. It's probably a
-better idea to connect to the remote sink/source directly since some
-buffer control is lost through this tunneling.</p>
-
-<table>
- <tr><td><tt>server=</tt></td><td>The server to connect to</td></tr>
- <tr><td><tt>source=</tt></td><td>The source on the remote server. Only available for <tt>module-tunnel-source</tt>.</td></tr>
- <tr><td><tt>sink=</tt></td><td>The sink on the remote server. Only available for <tt>module-tunnel-sink</tt>.</td></tr>
- <tr><td><tt>cookie=</tt></td><td>The authentication cookie file to use.</td></tr>
-</table>
-
-<h3>module-esound-sink</h3>
-
-<p>Create a playback sink using an ESOUND server as backend. Whenever you can, try to omit this
-module since it has many disadvantages including bad latency
-and even worse latency measurement. </p>
-
-<table>
- <tr><td><tt>server=</tt></td><td>The server to connect to</td></tr>
- <tr><td><tt>cookie=</tt></td><td>The authentication cookie file to use.</td></tr>
-</table>
-
-<h2>Protocols</h2>
-
-<a name="module-cli"/>
-
-<h3>module-cli</h3>
-
-<p>Provides the user with a simple command line interface on the
-controlling TTY of the daemon. This module may not be loaded more than
-once.</p>
-
-<p>For an explanation of the simple command line language used by this
-module see <a href="cli.html"><tt>cli.html</tt></a>.
-
-<p>This module doesn't accept any arguments.</p>
-
-<a name="module-cli-protocol-unix"/>
-<a name="module-cli-protocol-tcp"/>
-<a name="module-cli-protocol"/>
-
-<h3>module-cli-protocol-{unix,tcp,tcp6}</h3>
-
-<p>An implemenation of a simple command line based protocol for
-controlling the <tt>polypaudio</tt> daemon. If loaded, the user may
-connect with tools like <tt>netcat</tt>, <tt>telnet</tt> or
-<a href="http://0pointer.de/lennart/projects/bidilink/"><tt>bidilink</tt></a> to the listening sockets and execute commands the
-same way as with <tt>module-cli</tt>.</p>
-
-<p><b>Beware!</b> Users are not authenticated when connecting to this
-service.</p>
-
-<p>This module exists in two versions: with the suffix <tt>-unix</tt>
-the service will listen on an UNIX domain socket in the local file
-system. With the suffix <tt>-tcp</tt> it will listen on a network
-transparent TCP/IP socket.</p>
-
-<p>This module supports the following options:</p>
-
-<table>
- <tr><td><tt>port=</tt></td><td>(only for <tt>-tcp</tt>) The port number to listen on (defaults to 4712)</td></tr>
- <tr><td><tt>loopback=</tt></td><td>(only for <tt>-tcp</tt>) Accepts
-a numerical binary value. If 1 the socket is bound to the loopback
-device, i.e. not publicly accessible. (defaults to 1)</td></tr>
- <tr><td><tt>socket=</tt></td><td>(only for <tt>-unix</tt>) The UNIX socket name (defaults to <tt>/tmp/polypaudio/cli</tt>)</td></tr>
-</table>
-
-<h3>module-simple-protocol-{unix,tcp,tcp6}</h3>
-
-<p>An implementation of a simple protocol which allows playback by using
-simple tools like <tt>netcat</tt>. Just connect to the listening
-socket of this module and write the audio data to it, or read it from
-it for playback, resp. recording.</p>
-
-<p><b>Beware!</b> Users are not authenticated when connecting to this
-service.</p>
-
-<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
-about the two possible suffixes of this module.</p>
-
-<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
-
-<table>
- <tr><td><tt>rate=</tt>, <tt>format=</tt>, <tt>channels=</tt></td><td>Sample format for streams connecting to this service.</td></tr>
- <tr><td><tt>playback=</tt>, <tt>record=</tt></td><td>Enable/disable playback/recording</td></tr>
- <tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr>
-</table>
-
-<h3>module-esound-protocol-{unix,tcp}</h3>
-
-<p>An implemenation of a protocol compatible with the <a
-href="http://www.tux.org/~ricdude/EsounD.html">Enlightened Sound
-Daemon</a> (ESOUND, <tt>esd</tt>). When you load this module you may
-access the <tt>polypaudio</tt> daemon with tools like <tt>esdcat</tt>,
-<tt>esdrec</tt> or even <tt>esdctl</tt>. Many applications, such as
-XMMS, include support for this protocol.</p>
-
-<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
-about the two possible suffixes of this module.</p>
-
-<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
-
-<table>
- <tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr>
- <tr><td><tt>public=</tt></td><td>If set to 0 not authentication is required to connect to the service</td></tr>
- <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr>
-</table>
-
-<p>This implementation misses some features the original ESOUND has: e.g. there is no sample cache yet. However: XMMS works fine.</p>
-
-<h3>module-native-protocol-{unix,tcp,tcp6}</h3>
-
-<p>The native protocol of <tt>polypaudio</tt>.</p>
-
-<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
-about the two possible suffixes of this module.</p>
-
-<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
-
-<table>
- <tr><td><tt>public=</tt></td><td>If set to 0 not authentication is required to connect to the service</td></tr>
- <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr>
-</table>
-
-<h3>module-native-protocol-fd</h3>
-
-<p>This is used internally when auto spawning a new daemon. Don't use it directly.</p>
-
-<h2>Miscellaneous</h2>
-
-<h3>module-x11-bell</h3>
-
-<p>Intercepts X11 bell events and plays a sample from the sample cache on each occurence.</p>
-
-<table>
- <tr><td><tt>display=</tt></td><td>X11 display to connect to. If ommited defaults to the value of <tt>$DISPLAY</tt></td></tr>
- <tr><td><tt>sample=</tt></td><td>The sample to play. If ommited defaults to <tt>x11-bell</tt>.</td></tr>
- <tr><td><tt>sink=</tt></td><td>Name of the sink to play the sample on. If ommited defaults to the default sink.</td></tr>
-</table>
-
-<h3>module-x11-publish</h3>
-
-<p>Publishes the access credentials to the Polypaudio server in the
-X11 root window. The following properties are used:
-<tt>POLYP_SERVER</tt>, <tt>POYLP_SINK</tt>, <tt>POLYP_SOURCE</tt>,
-<tt>POLYP_COOKIE</tt>. This is very useful when using SSH or any other
-remote login tool for logging into other machines and getting audio
-playback to your local speakers. The Polypaudio client libraries make
-use of this data automatically. Instead of using this module you may
-use the tool <tt>pax11publish</tt> which may be used to access, modify
-and import credential data from/to the X11 display.</p>
-
-<table>
- <tr><td><tt>display=</tt></td><td>X11 display to connect to. If ommited defaults to the value of <tt>$DISPLAY</tt></td></tr>
- <tr><td><tt>sink=</tt></td><td>Name of the default sink. If ommited this property isn't stored in the X11 display.</td></tr>
- <tr><td><tt>source=</tt></td><td>Name of the default source. If ommited this property isn't stored in the X11 display.</td></tr>
- <tr><td><tt>cookie=</tt></td><td>Name of the cookie file of the
-cookie to store in the X11 display. If ommited the cookie of an
-already loaded protocol module is used.</td></tr> </table>
-
-<h3>module-sine</h3>
-
-<p>Creates a sink input and generates a sine waveform stream.</p>
-
-<table>
- <tr><td><tt>sink=</tt></td><td>The sink to connect to. If ommited defaults to the default sink.</td></tr>
- <tr><td><tt>frequency=</tt></td><td>The frequency to generate in Hertz. Defaults to 440.</td></tr>
-</table>
-
-<h3>module-esound-compat-spawnfd</h3>
-
-<p>This is a compatibility module for <tt>libesd</tt> based autospawning of polypaudio. Don't use it directly.</p>
-
-<h3>module-esound-compat-spawnpid</h3>
-
-<p>This is a compatibility module for <tt>libesd</tt> based autospawning of polypaudio. Don't use it directly.</p>
-
-<h3>module-match</h3>
-
-<p>Adjust the volume of a playback stream automatically based on its name.</p>
-
-<table>
- <tr><td><tt>table=</tt></td><td>The regular expression matching table file to use</td></tr>
-</table>
-
-<p>The table file should contain a regexp and volume on each line, seperated by spaces. An example:</p>
-
-<pre>
-^sample: 25
-</pre>
-
-<p>The volumes of all streams with titles starting with <tt>sample:</tt> are automatically set to 25. (FYI: All sample cache streams start with <tt>sample:</tt>)</p>
-
-<hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, November 2004</address>
-<div class="grey"><i>$Id$</i></div>
-</body> </html>
diff --git a/doc/style.css b/doc/style.css
deleted file mode 100644
index a46592a2..00000000
--- a/doc/style.css
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$ */
-
-/***
- * This file is part of polypaudio.
- *
- * polypaudio is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * polypaudio 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 Lesser General Public License
- * along with polypaudio; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- ***/
-
-body { color: black; background-color: white; margin: 0.5cm; }
-a:link, a:visited { color: #900000; }
-p { margin-left: 0.5cm; margin-right: 0.5cm; }
-div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; }
-p.news-text { margin-left: 1cm; }
-h1 { color: #00009F; }
-h2 { color: #00009F; }
-h3 { color: #00004F; margin-left: 0.5cm; }
-ul { margin-left: .5cm; }
-ol { margin-left: .5cm; }
-pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;}
-.grey { color: #afafaf; }
-table { margin-left: 1cm; border:1px solid lightgrey; padding: 0.2cm; }
-td { padding-left:10px; padding-right:10px; }
diff --git a/doc/todo b/doc/todo
deleted file mode 100644
index 0da83206..00000000
--- a/doc/todo
+++ /dev/null
@@ -1,33 +0,0 @@
-*** $Id$ ***
-
-Architectural changes:
-- per-channel volume
-- channel mapping ("left", "right", "rear", "subwoofer")
-- hardware volume support
-- add API for synchronizing multiple sinks/sources to a common clock
-- absolutely indexed write()s from client
-- remove "polyplib-" prefix
-
-Fixes:
-- improve module-oss-mmap latency measurement
-- module-tunnel: improve latency calculation
-- make alsa modules use mmap
-- even more commenting
-
-Features:
-- add radio module
-- xmlrpc
-- dbus/hal
-- rendezvous autotunnel module
-- polish for starting polypaudio as root/system-wide instance
-- export connection fd
-
-Long term:
-- pass meta info for hearing impaired
-- X11: support for the X11 synchronization extension
-
-Backends for:
-- portaudio (semi-done)
-- alsa-lib
-- sdl
-- OSS (esddsp style)