diff options
-rw-r--r-- | doc/FAQ.html.in | 3 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/README.html.in | 65 | ||||
-rw-r--r-- | doc/cli.html.in | 20 | ||||
-rw-r--r-- | doc/modules.html.in | 65 | ||||
-rw-r--r-- | doc/style.css | 15 |
6 files changed, 120 insertions, 50 deletions
diff --git a/doc/FAQ.html.in b/doc/FAQ.html.in index 9cacfb4c..0e738217 100644 --- a/doc/FAQ.html.in +++ b/doc/FAQ.html.in @@ -128,7 +128,6 @@ 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> @@ -152,6 +151,6 @@ bidilink unix-client:/tmp/polypaudio/cli</pre> </ol> <hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, September 2004</address> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> <div class="grey"><i>$Id$</i></div> </body> </html> diff --git a/doc/Makefile.am b/doc/Makefile.am index c68c00f5..a5884abd 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -16,7 +16,7 @@ # 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 +noinst_DATA = README.html cli.html modules.html daemon.html FAQ.html 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 diff --git a/doc/README.html.in b/doc/README.html.in index eb57fdb7..dbf85411 100644 --- a/doc/README.html.in +++ b/doc/README.html.in @@ -10,13 +10,13 @@ <body> <h1><a name="top">polypaudio @PACKAGE_VERSION@</a></h1> -<p><i>Copyright 2004 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> +<p><i>Copyright 2004-2006 Lennart Poettering <@PACKAGE_BUGREPORT@></i> and Pierre Ossman</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="#status">Current Status</a></li> <li><a href="#documentation">Documentation</a></li> <li><a href="#requirements">Requirements</a></li> <li><a href="#installation">Installation</a></li> @@ -42,6 +42,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p> <h2><a name="news">News</a></h2> +<div class="news-date">Thu Apr 13 2006: </div> <p class="news-text"><a +href="@PACKAGE_URL@polypaudio-0.8.tar.gz">Version 0.8</a> released; +changes include: too many to count; many, many minor fixes.</p> + <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 @@ -92,13 +96,12 @@ 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 +<p><tt>polypaudio</tt> is a networked 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> +Daemon</a> (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> @@ -110,9 +113,10 @@ addition to the features ESOUND provides <tt>polypaudio</tt> has:</p> <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>Very accurate latency measurement for playback and recording.</li> <li>May be used to combine multiple sound cards to one (with sample rate adjustment)</li> <li>Client side latency interpolation</li> + <li>Ability to fully synchronize multiple playback streams</li> </ul> <p>Both the core and the client API are completely asynchronous making @@ -129,19 +133,25 @@ available. A simple main loop implementation is available as well.</p> <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-solaris</tt>: drivers for Solaris audio sinks and sources</li> + <li><tt>module-waveout</tt>: drivers for Microsoft Windows audio 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-esound-protocol-tcp</tt>, <tt>module-esound-protocol-unix</tt>: ESOUND compatibility modules (for TCP/IP resp. UNIX domain sockets)</li> + <li><tt>module-native-protocol-tcp</tt>, <tt>module-native-protocol-unix</tt>: Native polypaudio protocol (for TCP/IP resp. UNIX domain sockets)</li> + <li><tt>module-simple-protocol-tcp</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-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> + <li><tt>module-detect</tt>: a module which automatically detects what sound hardware is available locally and which loads the required driver modules.</li> + <li><tt>module-lirc</tt>: a module to control the volume of a sink with infrared remote controls supported by LIRC.</li> + <li><tt>module-mmkbd-evdev</tt>: a module to control the volume of a sink with the special volume keys of a multimeda keyboard.</li> + <li><tt>module-zeroconf-publish</tt>: a module to publish local sources/sinks using mDNS zeroconf.</li> </ul> <p><tt>polypaudio</tt> is the successor of my previous, ill-fated @@ -165,7 +175,7 @@ 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> +<h2><a name="status">Current Status</a></h2> <p>Version @PACKAGE_VERSION@ is quite usable. It matches and supersedes ESOUND's feature set in nearly all areas.</p> @@ -178,7 +188,11 @@ release to release. The client API's library version number is currently fixed t <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> +href="daemon.html"><tt>daemon.html</tt></a> and <a href="FAQ.html"><tt>FAQ.html</tt></a>.</p> + +<p>There is a <a href="http://www.edgewall.com/products/trac/">Trac</a> based <a href="http://0pointer.de/trac/polypaudio/">Wiki for Polypaudio</a> available.</p> + +<p></p> <h3>First Steps</h3> @@ -231,7 +245,7 @@ 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>Currently, <tt>polypaudio</tt> is tested on Linux, FreeBSD, Solaris and Microsoft Windows. It requires an OSS, ALSA, Win32 or Solaris 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 @@ -239,11 +253,16 @@ 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 +<p><tt>polypaudio</tt> needs <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://liboil.freedesktop.org/wiki/"><tt>liboil</tt></a>.</p> + +<p>Optionally it can make use of <tt>libwrap</tt>, <a +href="http://www.alsa-project.org/">alsa-lib</a>, <a +href="http://0pointer.de/lennart/projects/libasyncns/">libasyncns</a>, +<a href="http://www.lirc.org/">lirc</a>, <a href="http://www.porchdogsoft.com/products/howl/">HOWL</a> (or preferably the compatibility layer included in its superior replacement <a href="http://www.avahi.org/">Avahi</a>) and <a href="http://www.gtk.org/">GLIB</a>. (The latter is required for building the GLIB main loop integration module only.)</p> @@ -271,18 +290,20 @@ compilation and <tt>make install</tt> (as root) for installation of <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> +<p>Get <tt>polypaudio</tt>'s development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="svn://0pointer.de/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> +<pre>svn checkout svn://0pointer.de/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>There is a general discussion <a href="https://tango.0pointer.de/mailman/listinfo/polypaudio-discuss">mailing list for polypaudio</a> available. In addition, you can subscribe to <a href="https://tango.0pointer.de/mailman/listinfo/polypaudio-commits">SVN changes</a> and <a href="https://tango.0pointer.de/mailman/listinfo/polypaudio-tickets">Trac Tickets</a>.</p> + +<p>There is a <a href="http://www.edgewall.com/products/trac/">Trac</a> based <a href="http://0pointer.de/trac/polypaudio/">Wiki 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> +<p><b>Please report bugs to <a href="http://0pointer.de/trac/polypaudio/newticket">our Trac ticket system</a>.</b></p> <hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, November 2004</address> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> <div class="grey"><i>$Id$</i></div> </body> diff --git a/doc/cli.html.in b/doc/cli.html.in index 61d29e5a..0db96c36 100644 --- a/doc/cli.html.in +++ b/doc/cli.html.in @@ -68,13 +68,19 @@ returned by <tt>modules</tt>.</p> <h2>Configuration Commands</h2> -<h3><tt>set-sink-volume</tt></h3> +<h3><tt>set-sink-volume</tt>/<tt>set-source-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> +<p>Set the volume of the specified sink or source. You may specify the sink/source either +by its index in the sink/source list or by its name. The volume should be an +integer value greater or equal than 0 (= muted). Volume 65536 +(<tt>0x10000</tt>) is normal volume, values greater than this amplify +the audio signal (with clipping).</p> + +<h3><tt>set-sink-mute</tt>/<tt>set-source-mute</tt></h3> + +<p>Mute or unmute the specified sink our source. You may specify the +sink/source either by its index or by its name. The mute value is +either 0 or 1.</p> <h3><tt>set-sink-input-volume</tt></h3> @@ -209,6 +215,6 @@ play-file /usr/share/sounds/startup3.wav combined </pre> <hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, November 2004</address> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> <div class="grey"><i>$Id$</i></div> </body> </html> diff --git a/doc/modules.html.in b/doc/modules.html.in index a549396d..64bc4bbc 100644 --- a/doc/modules.html.in +++ b/doc/modules.html.in @@ -100,6 +100,24 @@ 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-solaris</h3> + +<P>Provides a sink and source for the Solaris audio device.</p> + +<p>In addition to the general device driver options described above this module supports:</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> + <tr><td><tt>buffer_size=</tt></td><td>Record buffer size</td></tr> +</table> + +<h3>module-waveout</h3> + +<P>Provides a sink and source for the Win32 audio device.</p> + +<p>This module supports all arguments thet <tt>module-oss</tt> supports except <tt>device=</tt>.</p> + <h3>module-combine</h3> <p>This combines two or more sinks into one. A new virtual sink is @@ -168,7 +186,7 @@ module see <a href="cli.html"><tt>cli.html</tt></a>. <a name="module-cli-protocol-tcp"/> <a name="module-cli-protocol"/> -<h3>module-cli-protocol-{unix,tcp,tcp6}</h3> +<h3>module-cli-protocol-{unix,tcp}</h3> <p>An implemenation of a simple command line based protocol for controlling the <tt>polypaudio</tt> daemon. If loaded, the user may @@ -182,7 +200,7 @@ 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> +transparent TCP/IP socket. (Both IPv6 and IPv4 - if available)</p> <p>This module supports the following options:</p> @@ -191,10 +209,11 @@ transparent TCP/IP socket.</p> <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>listen=</tt></td><td>(only for <tt>-tcp</tt>) The IP address to listen on. If specified, supersedes the value specified in <tt>loopback=</tt></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> +<h3>module-simple-protocol-{unix,tcp}</h3> <p>An implementation of a simple protocol which allows playback by using simple tools like <tt>netcat</tt>. Just connect to the listening @@ -231,13 +250,13 @@ about the two possible suffixes of this module.</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>auth-anonymous=</tt></td><td>If set to 1 no 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> +<h3>module-native-protocol-{unix,tcp}</h3> <p>The native protocol of <tt>polypaudio</tt>.</p> @@ -247,7 +266,8 @@ 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>auth-anonymous=</tt></td><td>If set to 1 no authentication is required to connect to the service</td></tr> + <tr><td><tt>auth-group=</tt></td><td>(only for <tt>-unix</tt>): members of the specified unix group may access the server without further auhentication.</td></tr> <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr> </table> @@ -320,7 +340,38 @@ already loaded protocol module is used.</td></tr> </table> <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> +<h3>module-detect</h3> + +<p>Automatically detect the available sound hardware and load modules for it. Supports OSS, ALSA, Solaris and Win32 output drivers. + +<table> + <tr><td><tt>just-one=</tt></td><td>If set to <tt>1</tt> the module will only try to load a single sink/source and than stop.</td></tr> +</table> + +<h3>module-zeroconf-publish</h3> + +<p>Publish all local sinks/sources using mDNS Zeroconf.</p> + +<h3>module-mmkbd-evdev</h3> + +<p>Adjust the volume of a sink when the special multimedia buttons of modern keyboards are pressed.</p> + +<table> + <tr><td><tt>device=</tt></td><td>Linux input device ("<tt>evdev</tt>", defaults to <tt>/dev/input/event0</tt>)</td></tr> + <tr><td><tt>sink=</tt></td><td>The sink to control</td></tr> +</table> + +<h3>module-lirc</h3> + +<p>Adjust the volume of a sink when the volume buttons of an infrared remote control are pressed (through LIRC).</p> + +<table> + <tr><td><tt>config=</tt></td><td>The LIRC configuration file</td></tr> + <tr><td><tt>appname=</tt></td><td>The application name to pass to LIRC (defaults to <tt>polypaudio</tt>)</td></tr> + <tr><td><tt>sink=</tt></td><td>The sink to control</td></tr> +</table> + <hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, November 2004</address> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> <div class="grey"><i>$Id$</i></div> </body> </html> diff --git a/doc/style.css b/doc/style.css index a46592a2..a606c08e 100644 --- a/doc/style.css +++ b/doc/style.css @@ -18,17 +18,10 @@ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ***/ -body { color: black; background-color: white; margin: 0.5cm; } +body { color: black; background-color: white; } 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; } +div.news-date { font-size: 80%; font-style: italic; } +pre { background-color: #f0f0f0; padding: 0.4cm; } +.grey { color: #8f8f8f; font-size: 80%; } table { margin-left: 1cm; border:1px solid lightgrey; padding: 0.2cm; } td { padding-left:10px; padding-right:10px; } |