]> code.delx.au - pulseaudio/blobdiff - doc/README.html.in
fix mailman URL
[pulseaudio] / doc / README.html.in
index 0e9b82610e16211c2519fcb8bcdca7ecf771f703..84d69466c09bdc0ce0b39fcd3e6707e06e5348e0 100644 (file)
@@ -3,12 +3,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 
 <head>
-<title>polypaudio @PACKAGE_VERSION@</title>
+<title>PulseAudio @PACKAGE_VERSION@</title>
 <link rel="stylesheet" type="text/css" href="style.css" />
 </head>
 
 <body>
-<h1><a name="top">polypaudio @PACKAGE_VERSION@</a></h1>
+<h1><a name="top">PulseAudio @PACKAGE_VERSION@</a></h1>
 
 <p><i>Copyright 2004-2006 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i> and Pierre Ossman</p>
 
@@ -22,6 +22,7 @@
     <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,41 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
 
 <h2><a name="news">News</a></h2>
 
+<div class="news-date">Fri Jul 7 2006: </div> <p class="news-text"><a
+href="@PACKAGE_URL@pulseaudio-0.9.2.tar.gz">Version 0.9.2</a>
+released; changes include: rename project to PulseAudio (see <a
+href="http://0pointer.de/blog/projects/pulse.html">this blog
+article</a> for an explanation); increase maximum number of concurrent
+connections; fix latency interpolation; add support for reverse endian
+sound cards; add support for recording in <tt>padsp</tt>; reenable CPU
+load limiter; other bugfixes</p>
+
+<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>
@@ -96,12 +132,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 networked sound server for Linux and other
+<p><a href="http://pulseaudio.org/">PulseAudio</a> 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). In addition to the features ESOUND provides
-<tt>polypaudio</tt> has:</p>
+PulseAudio has:</p>
 
 <ul>
   <li>Extensible plugin architecture (by loading dynamic loadable modules with <tt>dlopen()</tt>)</li>
@@ -123,67 +159,64 @@ Daemon</a> (ESOUND). In addition to the features ESOUND provides
 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 through <tt>libpulse</tt> is quite difficult to use there is
+a simplified synchronous API wrapper <tt>libpulse-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-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.</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-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-x11-publish</tt>: store PulseAudio credentials in the X11 root window.</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 PulseAudio 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-cli-protocol-tcp</tt>, <tt>module-cli-protocol-unix</tt>, <tt>module-cli</tt>: Expose PulseAudio'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 PulseAudio 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>: a module to implement RTP/SAP/SDP based audio streaming.</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
-href="http://0pointer.de/lennart/projects/pavumeter">Polypaudio Volume
-Meter</a>.</p>
+<p>A GTK GUI manager application for PulseAudio is the <a
+href="http://0pointer.de/lennart/projects/paman/">PulseAudio
+Manager</a>. Other GTK GUI tool for PulseAudio are the <a
+href="http://0pointer.de/lennart/projects/pavumeter">PulseAudio Volume
+Meter</a>, <a
+href="http://0pointer.de/lennart/projects/padevchooser">PulseAudio Device Chooser</a> and the <a
+href="http://0pointer.de/lennart/projects/pavucontrol">PulseAudio Volume
+Control</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>
+href="http://0pointer.de/lennart/projects/xmms-pulse/">XMMS</a>, <a
+href="http://0pointer.de/lennart/projects/libao-pulse/">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>
+href="http://0pointer.de/lennart/projects/gst-pulse/">gstreamer</a>
+(merged in <tt>gstreamer-plugins</tt> CVS).</p>
+
+<p>PulseAudio was formerly known as Polypaudio.</p>
 
 <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
@@ -191,68 +224,68 @@ 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> 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>There is a <a href="http://www.edgewall.com/products/trac/">Trac</a> based <a href="http://0pointer.de/trac/pulseaudio/">Wiki for PulseAudio</a> available.</p>
 
 <h3>First Steps</h3>
 
-<p>Simply start the polypaudio daemon with the argument <tt>-nC</tt></p>
+<p>Simply start the PulseAudio daemon with the argument <tt>-nC</tt></p>
 
-<pre>polypaudio -nC</pre>
+<pre>pulseaudio -nC</pre>
 
 <p>This will present you a screen like this:</p>
 
-<pre>Welcome to polypaudio! Use "help" for usage information.
+<pre>Welcome to PulseAudio! 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
+PulseAudio is by specifying a configuration script like that one included in the distribution on the
 command line :</p>
 
-<pre>polypaudio -nF polypaudio.pa</pre>
+<pre>pulseaudio -nF pulseaudio.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>The best idea is to configure your daemon in <tt>/etc/pulse/daemon.conf</tt> and <tt>/etc/pulse/default.pa</tt> and to run PulseAudio 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>
+<tt>configure</tt>, the directory <tt>/etc/pulse/</tt> is really
+<tt>/usr/local/etc/pulse/</tt>.</p>
 
-<h3>Developing polypaudio Clients</h3>
+<h3>Developing PulseAudio 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
+href="http://0pointer.de/lennart/projects/pulseaudio/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>
+<h3>Developing PulseAudio Modules</h3>
 
-<p>There are several reasons for writing loadable modules for polypaudio:</p>
+<p>There are several reasons for writing loadable modules for PulseAudio:</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>
-  <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>
+  <li>Hooking audio event sources directly into PulseAudio (similar to <tt>module-x11-bell</tt>)</li>
+  <li>For low latency applications such as VOIP: load the VOIP core directly into PulseAudio 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
+for PulseAudio. <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, FreeBSD, Solaris and Microsoft Windows. It requires an OSS, ALSA, Win32 or Solaris compatible soundcard.</p>
+<p>Currently, PulseAudio> 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
+<p>PulseAudio 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 <a
+<p>Pulseaudio 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
@@ -271,7 +304,7 @@ building the GLIB main loop integration module only.)</p>
 <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>
+PulseAudio.</p>
 
 <h2><a name="acks">Acknowledgements</a></h2>
 
@@ -279,32 +312,44 @@ compilation and <tt>make install</tt> (as root) for installation of
 
 <p>Jeff Waugh for creating Ubuntu packages (and hopefully soon Debian)</p>
 
-<p>Miguel Freitas for writing a Polypaudio driver for Xine</p>
+<p>Miguel Freitas for writing a PulseAudio driver for Xine</p>
+
+<p>Joe Marcus Clarke for porting PulseAudio to FreeBSD</p>
 
-<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 PulseAudio</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>
+
+<p>Jan Schmidt for some latency interpolation love</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>The current release is <a href="@PACKAGE_URL@pulseaudio-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>
+
+<p>Get PulseAudio's development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="svn://0pointer.de/pulseaudio">repository</a> (<a href="http://0pointer.de/cgi-bin/viewcvs.cgi/?root=pulseaudio">ViewCVS</a>, <a href="http://pulseaudio.org/browser/trunk">Trac</a>): </p>
+
+<pre>svn checkout svn://0pointer.de/pulseaudio/trunk pulseaudio</pre>
+
+<h2><a name="community">Community</a></h2>
 
-<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>
+<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/pulseaudio/">Freshmeat</a>.</p>
 
-<pre>svn checkout svn://0pointer.de/polypaudio/trunk polypaudio</pre>
+<p>There is a general discussion <a href="https://tango.0pointer.de/mailman/listinfo/polypaudio-discuss">mailing list for PulseAudio</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/pulseaudio-tickets">Trac Tickets</a>.</p>
 
-<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>PulseAudio is being tracked at <a href="http://cia.navi.cx/stats/project/polypaudio">CIA</a>.</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's a chance to meet the PulseAudio developers on our <a href="irc://irc.freenode.org/pulseaudio">IRC channel #pulseaudio 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>The main project homepage is <a href="http://www.avahi.org/">http://avahi.org/</a>.</p>
 
-<p><b>Please report bugs to <a href="http://0pointer.de/trac/polypaudio/newticket">our Trac ticket system</a>.</b></p>
+<p><b>Please report bugs to <a href="http://avahi.org/newticket">our Trac ticket system</a>.</b></p>
 
 <hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, April 2006</address>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2006</address>
 <div class="grey"><i>$Id$</i></div>
 
 </body>