Commit f44ba092 authored by Lennart Poettering's avatar Lennart Poettering
Browse files

big s/polyp/pulse/g


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
parent dd21f11d
All Polypaudio source files are licensed under the GNU Lesser General Public
All PulseAudio source files are licensed under the GNU Lesser General Public
License. (see file LGPL for details)
However, the server side links to the GPL-only library 'libsamplerate' which
practically downgrades the license of the server part to GPL (see file GPL for
details), exercising section 3 of the LGPL.
Hence you should treat the client library ('libpolyp') of Polypaudio as being
LGPL licensed and the server part ('libpolypcore') as being GPL licensed. Since
the Polypaudio daemon and the modules link to 'libpolypcore' they are of course
Hence you should treat the client library ('libpulse') of Polypaudio as being
LGPL licensed and the server part ('libpulsecore') as being GPL licensed. Since
the PulseAudio daemon and the modules link to 'libpulsecore' they are of course
also GPL licensed.
-- Lennart Poettering, April 20th, 2006.
# $Id$
#
# This file is part of polypaudio.
# This file is part of PulseAudio.
#
# polypaudio is free software; you can redistribute it and/or modify
# PulseAudio 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.
#
# polypaudio is distributed in the hope that it will be useful, but
# PulseAudio 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.
#
# You should have received a copy of the GNU Lesser General Public License
# along with polypaudio; if not, write to the Free Software
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
......@@ -24,16 +24,21 @@ MAINTAINERCLEANFILES =
noinst_DATA =
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = polyplib.pc polyplib-simple.pc polyplib-browse.pc
pkgconfig_DATA = libpulse.pc libpulse-simple.pc
if HAVE_HOWL
pkgconfig_DATA += \
libpulse-browse.pc
endif
if HAVE_GLIB20
pkgconfig_DATA += \
polyplib-glib-mainloop.pc
libpulse-glib-mainloop.pc
endif
if HAVE_GLIB12
pkgconfig_DATA += \
polyplib-glib12-mainloop.pc
libpulse-glib12-mainloop.pc
endif
if USE_LYNX
......@@ -49,11 +54,11 @@ endif
homepage: all dist doxygen
test -d $$HOME/homepage/private
mkdir -p $$HOME/homepage/private/projects/polypaudio $$HOME/homepage/private/projects/polypaudio/doxygen
cp polypaudio-@PACKAGE_VERSION@.tar.gz $$HOME/homepage/private/projects/polypaudio
cp doc/README.html doc/FAQ.html doc/cli.html doc/daemon.html doc/modules.html doc/style.css $$HOME/homepage/private/projects/polypaudio
cp -a doxygen/html/* $$HOME/homepage/private/projects/polypaudio/doxygen
ln -sf $$HOME/homepage/private/projects/polypaudio/README.html $$HOME/homepage/private/projects/polypaudio/index.html
mkdir -p $$HOME/homepage/private/projects/pulseaudio $$HOME/homepage/private/projects/pulseaudio/doxygen
cp pulseaudio-@PACKAGE_VERSION@.tar.gz $$HOME/homepage/private/projects/pulseaudio
cp doc/README.html doc/FAQ.html doc/cli.html doc/daemon.html doc/modules.html doc/style.css $$HOME/homepage/private/projects/pulseaudio
cp -a doxygen/html/* $$HOME/homepage/private/projects/pulseaudio/doxygen
ln -sf $$HOME/homepage/private/projects/pulseaudio/README.html $$HOME/homepage/private/projects/pulseaudio/index.html
#distcleancheck:
# @:
......
#!/bin/bash
# $Id$
# This file is part of polypaudio.
# This file is part of PulseAudio.
#
# polypaudio is free software; you can redistribute it and/or modify it
# PulseAudio 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.
#
# polypaudio is distributed in the hope that it will be useful, but
# PulseAudio 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.
#
# You should have received a copy of the GNU Lesser General Public License
# along with polypaudio; if not, write to the Free Software Foundation,
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
VERSION=1.9
......
......@@ -3,20 +3,20 @@
# $Id$
# This file is part of polypaudio.
# This file is part of PulseAudio.
#
# polypaudio is free software; you can redistribute it and/or modify it
# PulseAudio 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.
#
# polypaudio is distributed in the hope that it will be useful, but
# PulseAudio 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.
#
# You should have received a copy of the GNU Lesser General Public License
# along with polypaudio; if not, write to the Free Software Foundation,
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
AC_PREREQ(2.57)
......@@ -25,13 +25,13 @@ m4_define(PA_MAJOR, [0])
m4_define(PA_MINOR, [9])
m4_define(PA_MICRO, [1])
AC_INIT([polypaudio], PA_MAJOR.PA_MINOR.PA_MICRO,[mzcbylcnhqvb (at) 0pointer (dot) de])
AC_INIT([pulseaudio], PA_MAJOR.PA_MINOR.PA_MICRO,[mzcbylcnhqvb (at) 0pointer (dot) de])
AC_CONFIG_SRCDIR([src/daemon/main.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign -Wall])
AC_SUBST(PA_MAJORMINOR, "PA_MAJOR.PA_MINOR")
AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/polypaudio/])
AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/pulseaudio/])
AC_SUBST(PA_API_VERSION, 9)
AC_SUBST(PA_PROTOCOL_VERSION, 9)
......@@ -681,8 +681,8 @@ fi
AC_ARG_WITH(
[module-dir],
AC_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/polypaudio-${PA_MAJORMINOR}/modules/]),
[modlibexecdir=$withval], [modlibexecdir="${libdir}/polypaudio-${PA_MAJORMINOR}/modules/"])
AC_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules/]),
[modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules/"])
AC_SUBST(modlibexecdir)
......@@ -695,11 +695,11 @@ AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "x1"])
AC_CONFIG_FILES([
Makefile
src/Makefile
polyplib.pc
polyplib-simple.pc
polyplib-browse.pc
polyplib-glib-mainloop.pc
polyplib-glib12-mainloop.pc
libpulse.pc
libpulse-simple.pc
libpulse-browse.pc
libpulse-glib-mainloop.pc
libpulse-glib12-mainloop.pc
doc/Makefile
doc/README.html
doc/cli.html
......@@ -707,7 +707,7 @@ doc/daemon.html
doc/modules.html
doxygen/Makefile
doxygen/doxygen.conf
src/polyp/version.h
src/pulse/version.h
doc/FAQ.html
])
AC_OUTPUT
......@@ -2,7 +2,7 @@
<!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: FAQ</title>
<title>pulseaudio: FAQ</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
......@@ -57,64 +57,64 @@
reimplement very much code for Polypaudio. It should be easy to
implement limited support for <tt>libartsc</tt> based
applications. Noone has done this yet. It is probably a better idea to
run <tt>arts</tt> on top of Polypaudio (through a polypaudio driver
run <tt>arts</tt> on top of Polypaudio (through a pulseaudio driver
for aRts, which nobody has written yet). Another solution would be to
embed Polypaudio in the aRts process.</p></li>
<li><p><b>I often hear noises when playing back with Polypaudio, what can I do?</b></p>
<p>There are to possible solutions: run polypaudio with argument
<p>There are to possible solutions: run pulseaudio with argument
<tt>--high-priority=1</tt> and make yourself member of the group
<tt>realtime</tt>, or increase the fragment sizes of the audio
drivers. The former will allow Polypaudio to activate
<tt>SCHED_FIFO</tt> high priority scheduling (root rights are dropped
immediately after this). Keep in mind that this is a potential security hole!</p></li>
<li><p><b>The <tt>polypaudio</tt> executable is installed SUID root by default. Why this? Isn't this a potential security hole?</b></p>
<li><p><b>The <tt>pulseaudio</tt> executable is installed SUID root by default. Why this? Isn't this a potential security hole?</b></p>
<p>Polypaudio activates <tt>SCHED_FIFO</tt> scheduling if the user
passes <tt>--high-priority=1</tt>. This will only succeed when
executed as root, therefore the binary is marked SUID root by
default. Yes, this is a potential security hole. However, polypaudio
default. Yes, this is a potential security hole. However, pulseaudio
tries its best to minimize the security threat: immediately after
startup polypaudio drops all capabilities except
startup pulseaudio drops all capabilities except
<tt>CAP_SYS_NICE</tt> (At least on systems that support it, like Linux; see <tt>man 7
capabilities</tt> for more information). If the calling user is not a
member of the group <tt>realtime</tt> (which is required to have a GID
< 1000), root rights are dropped immediately. This means, you can
install polypaudio SUID root, but only a subset of your users (the
install pulseaudio SUID root, but only a subset of your users (the
members of the group <tt>realtime</tt>) may make use of realtime
scheduling. Keep in mind that these users might load their own binary
modules into the polypaudio daemon which may freeze the machine. The
modules into the pulseaudio daemon which may freeze the machine. The
daemon has a minimal protection against CPU hogging (the daemon is
killed after hogging more than 70% CPU for 5 seconds), but this may
be circumvented easily by evildoers.</p></li>
<li><p><b>I want to run polypaudio only when it is needed, how do I do this?</b></p>
<li><p><b>I want to run pulseaudio only when it is needed, how do I do this?</b></p>
<p>Set <tt>autospawn = yes</tt> in <tt>client.conf</tt>. That
configuration file may be found either in <tt>/etc/polypaudio/</tt> or
in <tt>~/.polypaudio/</tt>.</p></li>
configuration file may be found either in <tt>/etc/pulseaudio/</tt> or
in <tt>~/.pulseaudio/</tt>.</p></li>
<li><p><b>How do I list all polypaudio modules installed?</b></p>
<li><p><b>How do I list all pulseaudio modules installed?</b></p>
<p><tt>polypaudio --dump-modules</tt></p>
<p><tt>pulseaudio --dump-modules</tt></p>
<p>Add <tt>-v</tt> for terse usage instructions.</p>
<li><p><b>How do I use polypaudio over the network?</b></p>
<li><p><b>How do I use pulseaudio over the network?</b></p>
<p>Just set <tt>$POLYP_SERVER</tt> to the host name of the polypaudio
<p>Just set <tt>$POLYP_SERVER</tt> to the host name of the pulseaudio
server. For authentication you need the same auth cookies on all sides. For
that copy <tt>~./polypaudio-cookie</tt> to all clients that shall
that copy <tt>~./pulseaudio-cookie</tt> to all clients that shall
be allowed to connect.</p>
<p>Alternatively the authorization cookies can be stored in the X11 server.</p></li>
<li><p><b>Is polypaudio capable of providing synchronized audio playback over the network for movie players like <tt>mplayer</tt>?</b></p>
<li><p><b>Is pulseaudio capable of providing synchronized audio playback over the network for movie players like <tt>mplayer</tt>?</b></p>
<p>Yes! Unless your network is congested in some way (i.e. transfer latencies vary strongly) it works perfectly. Drop me an email for experimental patches for MPlayer.</p>
<li><p><b>What environment variables does polypaudio care about?</b></p>
<li><p><b>What environment variables does pulseaudio care about?</b></p>
<p>The client honors: <tt>POLYP_SINK</tt> (default sink to connect to), <tt>POLYP_SOURCE</tt> (default source to connect to), <tt>POLYP_SERVER</tt> (default server to connect to, like <tt>ESPEAKER</tt>), <tt>POLYP_BINARY</tt> (the binary to start when autospawning a daemon), <tt>POLYP_CLIENTCONFIG</tt> (path to the client configuration file).</p>
......@@ -126,31 +126,31 @@ be allowed to connect.</p>
<p>A brilliant guy named Lennart Poettering once wrote a nifty tool
for that purpose: <a
href="http://0pointer.de/lennart/projects/bidilink/">bidilink</a>. To
connect to a running polypaudio daemon try using the following commands:</p>
connect to a running pulseaudio daemon try using the following commands:</p>
<pre>killall -USR2 polypaudio
bidilink unix-client:/tmp/polypaudio/cli</pre>
<pre>killall -USR2 pulseaudio
bidilink unix-client:/tmp/pulseaudio/cli</pre>
<p><i>BTW: Someone should package this 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>
<li><p><b>How do the polypaudio libraries decide where to connect to?</b></p>
<li><p><b>How do the pulseaudio libraries decide where to connect to?</b></p>
<p>The following rule applies:</p>
<ol>
<li>If the the application using the library specifies a server to connect to it is used. If the connection fails, the library fails too.</li>
<li>If the environment variable <tt>POLYP_SERVER</tt> is defined the library connects to that server. If the connection fails, the library fails too.</li>
<li>If <tt>$DISPLAY</tt> is set, the library tries to connect to that server and looks for the root window property <tt>POYLP_SERVER</tt> for the host to connect to. If <tt>POLYP_COOKIE</tt> is set it is used as authentication cookie.</li>
<li>If the client configuration file (<tt>~/.polypaudio/client.conf</tt> or <tt>/etc/polypaudio/client.conf</tt>) sets the server address, the library connects to that server. If the connection fails, the library fails too.</li>
<li>The library tries to connect to the default local UNIX socket for polypaudio servers. If the connection fails, it proceeds with the next item.</li>
<li>The library tries to connect to the default local TCP socket for polypaudio servers. If the connection fails, it proceeds with the next item.</li>
<li>If the client configuration file (<tt>~/.pulseaudio/client.conf</tt> or <tt>/etc/pulseaudio/client.conf</tt>) sets the server address, the library connects to that server. If the connection fails, the library fails too.</li>
<li>The library tries to connect to the default local UNIX socket for pulseaudio servers. If the connection fails, it proceeds with the next item.</li>
<li>The library tries to connect to the default local TCP socket for pulseaudio servers. If the connection fails, it proceeds with the next item.</li>
<li>If <tt>$DISPLAY</tt> is set, the library tries to connect to the default TCP port of that host. If the connection fails, it proceeds with the next item.</li>
<li>The connection fails.</li>
</ol>
</li>
<li><p><b>Why the heck does libpolyp link against libX11?</b></p>
<li><p><b>Why the heck does libpulse link against libX11?</b></p>
<p>The Polypaudio client libraries look for some X11 root window
properties for the credentials of the Polypaudio server to access. You
may compile Polypaudio without X11 for disabling this feature.</p></li>
......
# $Id$
# This file is part of polypaudio.
# This file is part of PulseAudio.
#
# polypaudio is free software; you can redistribute it and/or modify it
# PulseAudio 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.
#
# polypaudio is distributed in the hope that it will be useful, but
# PulseAudio 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.
#
# You should have received a copy of the GNU Lesser General Public License
# along with polypaudio; if not, write to the Free Software Foundation,
# along with PulseAudio; 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 FAQ.html
......
......@@ -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>
......@@ -44,7 +44,7 @@ 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>
href="@PACKAGE_URL@pulseaudio-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
......@@ -53,7 +53,7 @@ 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>
href="@PACKAGE_URL@pulseaudio-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;
......@@ -62,7 +62,7 @@ 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>
href="@PACKAGE_URL@pulseaudio-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;
......@@ -70,16 +70,16 @@ 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>
href="@PACKAGE_URL@pulseaudio-0.8.tar.gz">Version 0.8</a> released;
changes include: too many to count - consider reading <a href="http://0pointer.de/blog/projects/pulseaudio-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;
href="@PACKAGE_URL@pulseaudio-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;
href="@PACKAGE_URL@pulseaudio-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
......@@ -91,14 +91,14 @@ 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;
href="@PACKAGE_URL@pulseaudio-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;
href="@PACKAGE_URL@pulseaudio-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,
......@@ -106,29 +106,29 @@ 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;
href="@PACKAGE_URL@pulseaudio-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;
href="@PACKAGE_URL@pulseaudio-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;
href="@PACKAGE_URL@pulseaudio-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>
href="@PACKAGE_URL@pulseaudio-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><tt>pulseaudio</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). In addition to the features ESOUND provides
<tt>polypaudio</tt> has:</p>
<tt>pulseaudio</tt> has:</p>
<ul>
<li>Extensible plugin architecture (by loading dynamic loadable modules with <tt>dlopen()</tt>)</li>
......@@ -150,8 +150,8 @@ 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>pulselib</tt> is quite difficult to use there is
a simplified synchronous API wrapper <tt>pulselib-simple</tt>
available. A simple main loop implementation is available as well.</p>
<p>The following modules are currently available:</p>
......@@ -169,9 +169,9 @@ Sound Architecture</a> (ALSA) sinks and sources</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>: <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-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 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>
......@@ -186,7 +186,7 @@ Sound Architecture</a> (ALSA) sinks and sources</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>A GTK GUI manager application for polypaudio is the <a
<p>A GTK GUI manager application for pulseaudio is the <a
href="http://0pointer.de/lennart/projects/paman/">Polypaudio
Manager</a>. Other GTK GUI tool for Polypaudio are the <a
href="http://0pointer.de/lennart/projects/pavumeter">Polypaudio Volume
......@@ -195,10 +195,10 @@ 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
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>
href="http://0pointer.de/lennart/projects/gst-pulse/">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
......@@ -216,68 +216,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 Polypaudio</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
<tt>pulseaudio</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>
<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/pulseaudio/daemon.conf</tt> and <tt>/etc/pulseaudio/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/pulseaudio/</tt> is really
<tt>/usr/local/etc/pulseaudio/</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>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, <tt>pulseaudio</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
<p><tt>pulseaudio</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 <a
<p><tt>pulseaudio</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
......@@ -296,7 +296,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>
<tt>pulseaudio</tt>.</p>
<h2><a name="acks">Acknowledgements</a></h2>
......@@ -318,25 +318,25 @@ compilation and <tt>make install</tt> (as root) for installation of
<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 <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>Get <tt>pulseaudio</tt>'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>): </p>
<pre>svn checkout svn://0pointer.de/polypaudio/trunk polypaudio</pre>
<pre>svn checkout svn://0pointer.de/pulseaudio/trunk pulseaudio</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>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>
<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 general discussion <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss">mailing list for pulseaudio</a> available. In addition, you can subscribe to <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-commits">SVN changes</a> and <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets">Trac Tickets</a>.</p>
<p>Polypaudio is being tracked at <a href="http://cia.navi.cx/stats/project/polypaudio">CIA</a>.</p>
<p>Polypaudio is being tracked at <a href="http://cia.navi.cx/stats/project/pulseaudio">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's a chance to meet the Polypaudio 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>There is a <a href="http://www.edgewall.com/products/trac/">Trac</a> based <a href="http://0pointer.de/trac/pulseaudio/">Wiki for Polypaudio</a> available.</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://0pointer.de/trac/pulseaudio/newticket">our Trac ticket system</a>.</b></p>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, June 2006</address>
......
......@@ -2,14 +2,14 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">