diff options
Diffstat (limited to 'doc/README.html.in')
-rw-r--r-- | doc/README.html.in | 289 |
1 files changed, 0 insertions, 289 deletions
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 <@PACKAGE_BUGREPORT@></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. ->>> </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 <@PACKAGE_BUGREPORT@>, November 2004</address> -<div class="grey"><i>$Id$</i></div> - -</body> -</html> |