2004-07-17 14:06:13 +00:00
<?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 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-modules< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Show all currently loaded modules with their arguments.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-sinks/list-sources< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Show all currently registered sinks (resp. sources).< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-clients< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Show all currently active clients.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-sink-inputs/list-sink-outputs< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< 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 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > load-module< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Load a module specified by its name and arguments. For most modules
it is OK to be loaded more than once.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > unload-module< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Unload a module specified by its index in the module list as
returned by < tt > modules< / tt > .< / p >
< h2 > Configuration Commands< / h2 >
2006-04-13 15:10:55 +00:00
< h3 > < tt > set-sink-volume< / tt > /< tt > set-source-volume< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
2006-04-13 15:10:55 +00:00
< 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 >
2004-07-17 14:06:13 +00:00
2004-09-20 20:52:35 +00:00
< h3 > < tt > set-sink-input-volume< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< 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 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > set-default-sink< / tt > /< tt > set-default-source< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< 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 >
2004-08-20 13:06:55 +00:00
< h2 > Sample Cache< / h2 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-samples< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Lists the contents of the sample cache.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > play-sample< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Play a sample cache entry to a sink. Expects the sample name and the sink name as arguments.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > remove-sample< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Remove an entry from the sample cache. Expects the sample name as argument.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > load-sample< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Load an audio file to the sample cache. Expects the file name to load and the desired sample name as arguments.< / p >
2004-09-20 20:52:35 +00:00
< 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 >
2004-11-21 22:07:47 +00:00
< 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 >
2004-08-20 13:06:55 +00:00
< h2 > Module Autoloading< / h2 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > list-autoload< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Lists all currently defined autoloading entries.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > add-autoload-sink/add-autoload-source< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< 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 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > remove-autoload-sink/remove-autoload-source< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Remove an autoloading entry. Expects the sink name (resp. source name) as argument.< / p >
< h2 > Miscellaneous Commands< / h2 >
2004-09-20 20:52:35 +00:00
< h3 > < tt > play-file< / tt > < / h3 >
2004-08-20 13:06:55 +00:00
< p > Play an audio file to a sink. Expects the file name and the sink name as argumens.< / p >
2004-09-07 22:40:43 +00:00
< h3 > < tt > dump< / tt > < / h3 >
< p > Dump the daemon's current configuration in CLI commands.< / p >
2004-08-20 13:06:55 +00:00
< h2 > Killing Clients/Streams< / h2 >
2004-07-17 14:06:13 +00:00
2004-09-20 20:52:35 +00:00
< h3 > < tt > kill-client< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< p > Remove a client forcibly from the server. There is no protection that
the client reconnects immediately.< / p >
2004-09-20 20:52:35 +00:00
< h3 > < tt > kill-sink-input/kill-source-output< / tt > < / h3 >
2004-07-17 14:06:13 +00:00
< 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 >
2004-08-20 13:06:55 +00:00
< p > Mark the following script as executable (< tt > chmod +x< / tt > ) and run it for a sensible polypaudio configuration.< / p >
2004-07-17 14:06:13 +00:00
< pre >
2004-09-20 20:52:35 +00:00
#!/usr/bin/polaudio -nF
2004-07-17 14:06:13 +00:00
2004-08-20 13:06:55 +00:00
# Create autoload entries for the device drivers
2004-09-20 20:52:35 +00:00
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
2004-07-17 14:06:13 +00:00
2004-09-20 20:52:35 +00:00
add-autoload-source input module-alsa-source device=hw:1,0 source_name=input
2004-07-17 14:06:13 +00:00
2004-09-20 20:52:35 +00:00
# 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
2004-07-17 14:06:13 +00:00
2004-08-20 13:06:55 +00:00
# Make some devices default
2004-09-20 20:52:35 +00:00
set-default-sink combined
set-default-source input
2004-08-20 13:06:55 +00:00
# Don't fail if the audio files referred to below don't exist
2004-07-17 14:06:13 +00:00
.nofail
2004-08-20 13:06:55 +00:00
# Load an audio to the sample cache for usage with module-x11-bell
2004-09-20 20:52:35 +00:00
load-sample-lazy /usr/share/sounds/KDE_Notify.wav x11-bell
load-module module-x11-bell sample=x11-bell
2004-07-17 14:06:13 +00:00
2004-08-20 13:06:55 +00:00
# Play a welcome sound
2004-09-20 20:52:35 +00:00
play-file /usr/share/sounds/startup3.wav combined
2004-07-17 14:06:13 +00:00
< / pre >
< hr / >
2006-04-13 15:10:55 +00:00
< address class = "grey" > Lennart Poettering < @PACKAGE_BUGREPORT@> , April 2006< / address >
2004-07-17 14:06:13 +00:00
< div class = "grey" > < i > $Id$< / i > < / div >
< / body > < / html >