summaryrefslogtreecommitdiffstats
path: root/doc/FAQ.html.in
blob: ac9bc466cd19932418973f853bc9138406af7acb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?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: FAQ</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>


<h1>Frequently Asked Questions</h1>

<ol>
  <li><p><b>How does Polypaudio compare with ESOUND/aRts/NAS?</b></p>

  <p>Polypaudio is sound daemon similar to ESOUND and NAS, but much more
  powerful. aRts is a realtime-synthesizer-cum-sound-server, i.e. it
  does much more than Polypaudio. However, I believe that Polypaudio
  does what it does much better than any other free sound server.</p>
  </li>

  <li><p><b>What about ESOUND compatibility?</b></p>
  <p>Polypaudio is a drop in replacement for ESOUND. That means: you can
  load a esound compatibility module which implements an ESOUND
  compatible protocol which allows you to use most of the classic ESOUND
  compatible programs (including the command line programs like
  <tt>esdcat</tt>).</p>
  </li>

  <li><p><b>Is Polypaudio a GNOME program?</b></p>
  <p>No, Polypaudio has no dependency on GNOME/GTK/GLIB. All it requires
  is a UNIX-like operating system and very few dependency
  libraries. However, the accompanying GUI tools are writen with
  gtkmm, i.e. require both GLIB and GTK.</p></li>

  <li><p><b>Can I integrate Polypaudio in my GLIB/GTK/GNOME application?</b></p>
  <p>Yes! Polypaudio comes with a GLIB main loop adapter. You can embed
  both the client library and the daemon (!) into your GLIB based
  application.</p></li>

  <li><p><b>Can I integrate Polypaudio in my Qt/KDE application?</b></p>
  <p>Yes! Polypaudio uses a main loop abstraction layer that allows you
  to integrate Polypaudio in any program that supports main
  loops. Unfortunately there is no adapter for Qt publicly available yet.</p></li>

  <li><p><b>I want to write a new driver for Polypaudio, are there any docs?</b></p>
  <p>Currently, only the client API is documented with doxygen. Read
  the source and base your work on a simple module like
  <tt>module-pipe-sink</tt>.</p></li>

  <li><p><b>What about compatibility with NAS?</b></p>
  <p>Is not available (yet?). It is doable, but noone has implemented it yet.</p></li>

  <li><p><b>What about compatibility with aRts?</b></p>
  <p>Is not available. Since aRts is as synthesizer application you'd have to
  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
  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: either make the polypaudio
  binary SUID root (<tt>chmod u+s /usr/bin/polypaudio</tt>) and run it
  with argument <tt>--high-priority=1</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 is a potential security hole!</p></li>

  <li><p><b>I only want to run polypaudio 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>

  <li><p><b>How do I list all polypaudio modules installed?</b></p>

   <p><tt>polypaudio --dump-modules</tt></p>

   <p>Add <tt>-v</tt> for terse usage instructions.</p>

   <li><p><b>What environment does polypaudio 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>

<p>The daemon honors: <tt>POLYP_SCRIPT</tt> (default CLI script file run after startup), <tt>POLYP_CONFIG</tt> (default daemon configuration file), <tt>POLYP_DLPATH</tt> (colon separated list of paths where to look for modules)</p></li>
  
</ol>

<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, September 2004</address>
<div class="grey"><i>$Id$</i></div>
</body> </html>