documentation update
authorLennart Poettering <lennart@poettering.net>
Fri, 20 Aug 2004 13:06:55 +0000 (13:06 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 20 Aug 2004 13:06:55 +0000 (13:06 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@146 fefdeb5f-60dc-0310-8127-8f9354f1896f

doc/README.html.in
doc/cli.html.in
doc/modules.html.in

index f3be2b57bf5afe2d79fc9c350f8c314ca7d6c060..e3736c8617083c32c49ed867ce2d3f2850b75c9e 100644 (file)
@@ -97,10 +97,6 @@ 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>
 
-<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>First Steps</h3>
 
 <p>Simply start the polypaudio daemon with the argument <tt>-C</tt></p>
@@ -114,13 +110,36 @@ documentation</a> for the client API. (Run <tt>make doxygen</tt> to generate thi
 
 <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 on the
-command line like that one included in the distribution:</p>
+<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>
 
 <p>This will load some drivers and protocols automatically.</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 only. It requires an OSS or ALSA compatible soundcard.</p>
index c67d78db73b1b00e417c4920c44c20ae07a8c65f..01c04cc9afff0c5f98a482c64247e4591287db85 100644 (file)
@@ -87,7 +87,45 @@ input list. The same volume rules apply as with <tt>sink_volume</tt>.</p>
 (resp. ssource) by its index in the sink (resp. source) list or by its
 name.</p>
 
-<h2>Killing clients/streams</h2>
+<h2>Sample Cache</h2>
+
+<h3><tt>scache_list</tt></h3>
+
+<p>Lists the contents of the sample cache.</p>
+
+<h3><tt>scache_play</tt></h3>
+
+<p>Play a sample cache entry to a sink. Expects the sample name and the sink name as arguments.</p>
+
+<h3><tt>sache_remove</tt></h3>
+
+<p>Remove an entry from the sample cache. Expects the sample name as argument.</p>
+
+<h3><tt>sache_load</tt></h3>
+
+<p>Load an audio file to the sample cache. Expects the file name to load and the desired sample name as arguments.</p>
+
+<h2>Module Autoloading</h2>
+
+<h3><tt>autoload_list</tt></h3>
+
+<p>Lists all currently defined autoloading entries.</p>
+
+<h3><tt>autoload_sink_add/autoload_source_add</tt></h3>
+
+<p>Adds an autoloading entry for a sink (resp. source). Expects the sink name (resp. source name), the module name and the module arguments as arguments.</p>
+
+<h3><tt>autoload_sink_remove/autoload_source_remove</tt></h3>
+
+<p>Remove an autoloading entry. Expects the sink name (resp. source name) as argument.</p>
+
+<h2>Miscellaneous Commands</h2>
+
+<h3><tt>play_file</tt></h3>
+
+<p>Play an audio file to a sink. Expects the file name and the sink name as argumens.</p>
+
+<h2>Killing Clients/Streams</h2>
 
 <h3><tt>kill_client</tt></h3>
 
@@ -120,12 +158,14 @@ on the interactive command line.</p>
 
 <h2>Example Configuration Script</h2>
 
+<p>Mark the following script as executable (<tt>chmod +x</tt>) and run it for a sensible polypaudio configuration.</p>
+
 <pre>
 #!/usr/bin/polaudio -F
 
-# Load audio drivers
-load module-alsa-sink device=plughw:0,0 rate=48000
-load module-alsa-source device=hw:1,0
+# Create autoload entries for the device drivers
+autoload_sink_add output module-alsa-sink device=plughw:0,0 rate=48000 sink_name=output
+autoload_source_add input load module-alsa-source device=hw:1,0 source_name=input
 
 # Load several protocols
 load module-esound-protocol-tcp
@@ -136,17 +176,22 @@ load module-cli-protocol-unix
 # Load the CLI module (This is similar to passing "-C" on the command line of polypaudio)
 load module-cli
 
+# Make some devices default
+sink_default output
+source_default input
+
+# Don't fail if the audio files referred to below don't exist
 .nofail
 
-# Make some devices default
-sink_default alsa_output
-source_default alsa_input
+# Load an audio to the sample cache for usage with module-x11-bell
+scache_load /usr/share/sounds/KDE_Notify.wav x11-bell
+load module-x11-bell
 
-# Use digital amplification
-sink_volume alsa_output 0x200
+# Play a welcome sound
+play_file /usr/share/sounds/startup3.wav output
 </pre>
 
 <hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, August 2004</address>
 <div class="grey"><i>$Id$</i></div>
 </body> </html>
index 6954418fb69b3e5c89c2a6fe75daf55e4d5665a9..fe202989e95becd18e10c2755b882a7d0662b7e4 100644 (file)
@@ -184,8 +184,17 @@ about the two possible suffixes of this module.</p>
   <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr>
 </table>
 
+<h3>module-x11-bell</h3>
+
+<p>Intercepts X11 bell events and plays a sample from the sample cache on each occurence.</p>
+
+<table>
+  <tr><td><tt>display=</tt></td><td>X11 display to connect to. If ommited defaults to the value of <tt>$DISPLAY</tt></td></tr>
+  <tr><td><tt>sample=</tt></td><td>The sample to play. If ommited defaults to <tt>x11-bell</tt>.</td></tr>
+  <tr><td><tt>sink=</tt></td><td>Name of the sink to play the sample on. If ommited defaults to the default sink.</td></tr>
+</table>
 
 <hr/>
-<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, August 2004</address>
 <div class="grey"><i>$Id$</i></div>
 </body> </html>