]> code.delx.au - pulseaudio/blobdiff - doc/README.html.in
update docs for 0.9.1
[pulseaudio] / doc / README.html.in
index eb57fdb781e6d0d95fca74ee0102d42a649dc2c7..f35b2da96be77e89c3e54bb3c0baeb5f5986f47f 100644 (file)
 <body>
 <h1><a name="top">polypaudio @PACKAGE_VERSION@</a></h1>
 
-<p><i>Copyright 2004 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i></p>
+<p><i>Copyright 2004-2006 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</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>
     <li><a href="#acks">Acknowledgements</a></li>
     <li><a href="#download">Download</a></li>
+    <li><a href="#community">Community</a></li>
 </ul>
 
 <h2><a name="license">License</a></h2>
@@ -42,6 +43,36 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
 
 <h2><a name="news">News</a></h2>
 
+<div class="news-date">Fri Jun 2 2006: </div> <p class="news-text"><a
+href="@PACKAGE_URL@polypaudio-0.9.1.tar.gz">Version 0.9.1</a>
+released; changes include: load modules even when libtool <tt>.la</tt>
+files are missing; generate better ALSA device names from
+<tt>module-detect</tt>; if an ALSA device doesn't support the
+requested number of channels or the frequency, accept what ALSA
+suggests instead; amd64 portability; drop <tt>.sh</tt> suffix of
+<tt>esdcompat.sh</tt>; build system fixes; No API or ABI changes were made</p>
+
+<div class="news-date">Fri May 26 2006: </div> <p class="news-text"><a
+href="@PACKAGE_URL@polypaudio-0.9.0.tar.gz">Version 0.9.0</a>
+released; changes include: new module <tt>module-volume-restore</tt>;
+new OSS API emulation tool <tt>padsp</tt>; require valid UTF8 strings
+everywhere; properly support ALSA channel maps for surround sound;
+increase maximum number of channels per stream to 32; add new threaded
+main loop API for synchronous programs; introduce real shared object
+versioning; a few API additions; many, many bugfixes</p>
+
+<div class="news-date">Fri Apr 28 2006: </div> <p class="news-text"><a
+href="@PACKAGE_URL@polypaudio-0.8.1.tar.gz">Version 0.8.1</a>
+released; changes include: support for specifying the channel map on
+the command lines of <tt>paplay</tt> and <tt>pacat</tt> and as
+arguments to the driver modules; ALSA hardware mixer compatibility;
+fix linking; properly remove <tt>PF_UNIX</tt> sockets when unloading
+protocol modules; fix sample cache; many other fixes</p>
+
+<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 - consider reading <a href="http://0pointer.de/blog/projects/polypaudio-0.8.html">this blog entry</a> for more information; 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 +123,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 and Microsoft Windows. 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 +140,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
@@ -126,33 +157,42 @@ 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-oss</tt>: driver for <a href="http://www.opensound.com">Open Sound System</a> (OSS) 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 bot more accurate in latency calculations</li>
+  <li><tt>module-alsa-sink</tt>, <tt>module-alsa-source</tt>: drivers for <a href="http://www.alsa-project.org/">Advanced Linux
+Sound Architecture</a> (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, adjusting the sample rate if the their clocks deviate.</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>: <a href="http://www.tux.org/~ricdude/apps.html">ESOUND</a> 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-http-protocol-tcp</tt>: Spawns a small HTTP server which can be used to introspect the Polypaudio server with a web browser.</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-volume-restore</tt>: much like <tt>module-match</tt>, but create rules fully automatically based on the client name.</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-esound-sink</tt>: a sink for forwarding audio data to an <a href="http://www.tux.org/~ricdude/apps.html">ESOUND</a> 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>
+  <li><tt>module-rtp-send</tt>, <tt>module-rtp-recv</tt>: modules to implement RTP/SAP/SDP based audio streaming.</li>
+  <li><tt>module-jack-sink</tt>, <tt>module-jack-source</tt>: connect to a <a href="http://jackit.sourceforge.net/">JACK Audio Connection Kit</a> server. (A sound server for professional audio production)</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
+Manager</a>. Other GTK GUI tool for Polypaudio are the <a
 href="http://0pointer.de/lennart/projects/pavumeter">Polypaudio Volume
-Meter</a>.</p>
+Meter</a>  and the <a
+href="http://0pointer.de/lennart/projects/pavucontrol">Polypaudio Volume
+Control</a> .</p>
 
 <p>There are output plugins for <a
 href="http://0pointer.de/lennart/projects/xmms-polyp/">XMMS</a>, <a
@@ -165,20 +205,18 @@ 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>
 
-<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>
+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>
 
 <h3>First Steps</h3>
 
@@ -217,7 +255,7 @@ documentation</a> for the client API. (Run <tt>make doxygen</tt> to generate thi
 <p>There are several reasons for writing loadable modules for polypaudio:</p>
 
 <ul>
-  <li>Device driver support in addition to ALSA/OSS</li>
+  <li>Extended device driver support</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>
@@ -231,7 +269,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 +277,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>
  
@@ -265,24 +308,38 @@ compilation and <tt>make install</tt> (as root) for installation of
 
 <p>Joe Marcus Clarke for porting Polypaudio to FreeBSD</p>
 
+<p><a href="http://www.cendio.com">Cendio AB</a> for paying for Pierre's work on Polypaudio</p>
+
+<p>Sebastien ESTIENNE for testing</p>
+
+<p>Igor Zubkov for some portability patches</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>
+<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://0pointer.de/polypaudio/trunk polypaudio</pre>
 
-<pre>svn checkout svn://seth.intheinter.net/polypaudio/trunk polypaudio</pre>
+<h2><a name="community">Community</a></h2>
 
 <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>Polypaudio is being tracked at <a href="http://cia.navi.cx/stats/project/polypaudio">CIA</a>.</p>
+
+<p>There's a chance to meet the Polypaudio developers on our <a href="irc://irc.freenode.org/polypaudio">IRC channel #polypaudio on irc.freenode.org</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 &lt;@PACKAGE_BUGREPORT@&gt;, November 2004</address>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, June 2006</address>
 <div class="grey"><i>$Id$</i></div>
 
 </body>