]> code.delx.au - pulseaudio/blobdiff - doc/README.html.in
Make the whole stuff LGPL only
[pulseaudio] / doc / README.html.in
index f3454632829d341c1660e3a88e8854b74cd879b8..742ea3d1e745b609540e657736a78434c5a9da07 100644 (file)
 <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 General Public License as
+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
-General Public License for more details.</p>
+Lesser General Public License for more details.</p>
 
-<p>You should have received a copy of the GNU General Public License
+<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>
 
@@ -44,9 +44,40 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
 
 <h2><a name="news">News</a></h2>
 
+<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>
+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;
@@ -75,6 +106,9 @@ Daemon</a> (ESOUND). In addition to the features ESOUND provides
   <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
@@ -85,12 +119,37 @@ 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-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>
+</ul>
+
 <p><tt>polypaudio</tt> is the successor of my previous, ill-fated
-attempt to write a sound server <a
+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>. There are output plugins for <a href="http://0pointer.de/lennart/projects/xmms-polyp/">XMMS</a> and <a href="http://0pointer.de/lennart/projects/libao-polyp/">libao</a>.</p>
+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>. 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> and <a href="http://0pointer.de/lennart/projects/gst-polyp/">gstreamer</a>. Drivers
+for <a href="http://mplayerhq.hu">MPlayer</a> and <a href="http://www.portaudio.com/">PortAudio</a> will be released shortly.</p>
 
 <h2><a name="status">Status</a></h2>
 
@@ -105,13 +164,13 @@ 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>.</p>
+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>-C</tt></p>
+<p>Simply start the polypaudio daemon with the argument <tt>-nC</tt></p>
 
-<pre>polypaudio -C</pre>
+<pre>polypaudio -nC</pre>
 
 <p>This will present you a screen like this:</p>
 
@@ -123,10 +182,16 @@ 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 -F polypaudio.pa</pre>
+<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
@@ -142,7 +207,7 @@ documentation</a> for the client API. (Run <tt>make doxygen</tt> to generate thi
   <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>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
@@ -160,10 +225,13 @@ 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><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>
+<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>
 
@@ -183,12 +251,18 @@ 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="https://seth.intheinter.net:8081/svn/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://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;, August 2004</address>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, October 2004</address>
 <div class="grey"><i>$Id$</i></div>
 
 </body>