summaryrefslogtreecommitdiffstats
path: root/doc/cli.html.in
diff options
context:
space:
mode:
Diffstat (limited to 'doc/cli.html.in')
-rw-r--r--doc/cli.html.in152
1 files changed, 152 insertions, 0 deletions
diff --git a/doc/cli.html.in b/doc/cli.html.in
new file mode 100644
index 00000000..c67d78db
--- /dev/null
+++ b/doc/cli.html.in
@@ -0,0 +1,152 @@
+<?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: Simple Command Line Language</title>
+<link rel="stylesheet" type="text/css" href="style.css" />
+</head>
+
+<body>
+<h1>Simple Command Line Language</h1>
+
+<p><tt>polypaudio</tt> 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>modules</tt></h3>
+
+<p>Show all currently loaded modules with their arguments.</p>
+
+<h3><tt>sinks/sources</tt></h3>
+
+<p>Show all currently registered sinks (resp. sources).</p>
+
+<h3><tt>clients</tt></h3>
+
+<p>Show all currently active clients.</p>
+
+<h3><tt>sink_inputs/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</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</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>sink_volume</tt></h3>
+
+<p>Set the volume of the specified sink. You may specify the sink either
+by its index in the sink list or by its name. The volume should be an
+integer value greater or equal than 0 (= muted). Volume 256
+(<tt>0x100</tt>) is normal volume, values greater than this amplify
+the audio signal with clipping.</p>
+
+<h3><tt>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>sink_default/source_default</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>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>
+
+<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
+
+# Load several protocols
+load module-esound-protocol-tcp
+load module-simple-protocol-tcp
+load module-native-protocol-unix
+load module-cli-protocol-unix
+
+# Load the CLI module (This is similar to passing "-C" on the command line of polypaudio)
+load module-cli
+
+.nofail
+
+# Make some devices default
+sink_default alsa_output
+source_default alsa_input
+
+# Use digital amplification
+sink_volume alsa_output 0x200
+</pre>
+
+<hr/>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
+<div class="grey"><i>$Id$</i></div>
+</body> </html>