pulseaudio/doc/cli.html.in
Lennart Poettering 6654e987c1 update docs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1040 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 23:52:16 +00:00

220 lines
6.8 KiB
XML

<?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>PulseAudio: Simple Command Line Language</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Simple Command Line Language</h1>
<p>PulseAudio provides a simple command line language used by
configuration scripts as well as the modules <tt>module-cli</tt>
and <tt>module-cli-protocol-{unix,tcp}</tt>. Empty lines and lines
beginning with a hashmark (<tt>#</tt>) are silently ignored. Several
commands are supported:</p>
<h2>Miscellaneous Commands</h2>
<h3><tt>help</tt></h3>
<p>Show a quick help on the commands available.</p>
<h3><tt>exit</tt></h3>
<p>Terminate the daemon. If you want to terminate a CLI connection
("log out") you might want to use <tt>C-d</tt>.</p>
<h2>Status Commands</h2>
<h3><tt>list-modules</tt></h3>
<p>Show all currently loaded modules with their arguments.</p>
<h3><tt>list-sinks/list-sources</tt></h3>
<p>Show all currently registered sinks (resp. sources).</p>
<h3><tt>list-clients</tt></h3>
<p>Show all currently active clients.</p>
<h3><tt>list-sink-inputs/list-sink-outputs</tt></h3>
<p>Show all currently active inputs to sinks (resp. outputs of sources).</p>
<h3><tt>stat</tt></h3>
<p>Show some simple statistics about the allocated memory blocks and
the space used by them.</p>
<h3><tt>info</tt></h3>
<p>A combination of all status commands described above. <tt>ls</tt>
and <tt>list</tt> are synonyms for <tt>info</tt>.</p>
<h2>Module Management</h2>
<h3><tt>load-module</tt></h3>
<p>Load a module specified by its name and arguments. For most modules
it is OK to be loaded more than once.</p>
<h3><tt>unload-module</tt></h3>
<p>Unload a module specified by its index in the module list as
returned by <tt>modules</tt>.</p>
<h2>Configuration Commands</h2>
<h3><tt>set-sink-volume</tt>/<tt>set-source-volume</tt></h3>
<p>Set the volume of the specified sink or source. You may specify the sink/source either
by its index in the sink/source list or by its name. The volume should be an
integer value greater or equal than 0 (= muted). Volume 65536
(<tt>0x10000</tt>) is normal volume, values greater than this amplify
the audio signal (with clipping).</p>
<h3><tt>set-sink-mute</tt>/<tt>set-source-mute</tt></h3>
<p>Mute or unmute the specified sink our source. You may specify the
sink/source either by its index or by its name. The mute value is
either 0 or 1.</p>
<h3><tt>set-sink-input-volume</tt></h3>
<p>Set the volume of a sink input specified by its index the the sink
input list. The same volume rules apply as with <tt>sink_volume</tt>.</p>
<h3><tt>set-default-sink</tt>/<tt>set-default-source</tt></h3>
<p>Make a sink (resp. source) the default. You may specify the sink
(resp. ssource) by its index in the sink (resp. source) list or by its
name.</p>
<h2>Sample Cache</h2>
<h3><tt>list-samples</tt></h3>
<p>Lists the contents of the sample cache.</p>
<h3><tt>play-sample</tt></h3>
<p>Play a sample cache entry to a sink. Expects the sample name and the sink name as arguments.</p>
<h3><tt>remove-sample</tt></h3>
<p>Remove an entry from the sample cache. Expects the sample name as argument.</p>
<h3><tt>load-sample</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>
<h3><tt>load-sample-lazy</tt></h3>
<p>Create a new entry in the sample cache, but don't load the sample
immediately. The sample is loaded only when it is first used. After a
certain idle time it is freed again. Expects the the desired sample
name and file name to load as arguments.</p>
<h3><tt>load-sample-dir-lazy</tt></h3>
<p>Load all entries in the specified directory into the sample cache
as lazy entries. A shell globbing expression (e.g. <tt>*.wav</tt>) may
be appended to the path of the directory to add.</p>
<h2>Module Autoloading</h2>
<h3><tt>list-autoload</tt></h3>
<p>Lists all currently defined autoloading entries.</p>
<h3><tt>add-autoload-sink/add-autoload-source</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>remove-autoload-sink/remove-autoload-source</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>
<h3><tt>dump</tt></h3>
<p>Dump the daemon's current configuration in CLI commands.</p>
<h2>Killing Clients/Streams</h2>
<h3><tt>kill-client</tt></h3>
<p>Remove a client forcibly from the server. There is no protection that
the client reconnects immediately.</p>
<h3><tt>kill-sink-input/kill-source-output</tt></h3>
<p>Remove a sink input (resp. source output) forcibly from the
server. This will not remove the owning client or any other streams
opened by the client from the server.</p>
<h2>Meta Commands</h2>
<p>In addition the the commands described above there a few meta
directives supported by the command line interpreter:</p>
<h3><tt>.include</tt></h3>
<p>Executes the commands from the specified script file.</p>
<h3><tt>.fail/.nofail</tt></h3>
<p>Enable (resp. disable) that following failing commands will cancel
the execution of the current script file. This is a ignored when used
on the interactive command line.</p>
<h3><tt>.verbose/.noverbose</tt></h3>
<p>Enable (resp. disable) extra verbosity.</p>
<h2>Example Configuration Script</h2>
<p>Mark the following script as executable (<tt>chmod +x</tt>) and run it for a sensible PulseAudio configuration.</p>
<pre>
#!/usr/bin/polaudio -nF
# Create autoload entries for the device drivers
add-autoload-sink output module-alsa-sink device=plughw:0,0 rate=48000 sink_name=output
add-autoload-sink output2 module-oss device=/dev/dsp1 record=0 sink_name=output2
add-autoload-sink combined module-combine master=output slaves=output2 sink_name=combined
add-autoload-source input module-alsa-source device=hw:1,0 source_name=input
# Load several protocols
load-module module-esound-protocol-unix
load-module module-simple-protocol-tcp
load-module module-native-protocol-unix
load-module module-cli-protocol-unix
# Make some devices default
set-default-sink combined
set-default-source input
# Don't fail if the audio files referred to below don't exist
.nofail
# Load an audio to the sample cache for usage with module-x11-bell
load-sample-lazy /usr/share/sounds/KDE_Notify.wav x11-bell
load-module module-x11-bell sample=x11-bell
# Play a welcome sound
play-file /usr/share/sounds/startup3.wav combined
</pre>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, June 2006</address>
<div class="grey"><i>$Id$</i></div>
</body> </html>