polypaudio provides a simple command line language used by configuration scripts as well as the modules module-cli and module-cli-protocol-{unix,tcp}. Empty lines and lines beginning with a hashmark (#) are silently ignored. Several commands are supported:
Show a quick help on the commands available.
Terminate the daemon. If you want to terminate a CLI connection ("log out") you might want to use C-d.
Show all currently loaded modules with their arguments.
Show all currently registered sinks (resp. sources).
Show all currently active clients.
Show all currently active inputs to sinks (resp. outputs of sources).
Show some simple statistics about the allocated memory blocks and the space used by them.
A combination of all status commands described above. ls and list are synonyms for info.
Load a module specified by its name and arguments. For most modules it is OK to be loaded more than once.
Unload a module specified by its index in the module list as returned by modules.
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 (0x100) is normal volume, values greater than this amplify the audio signal with clipping.
Set the volume of a sink input specified by its index the the sink input list. The same volume rules apply as with sink_volume.
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.
Remove a client forcibly from the server. There is no protection that the client reconnects immediately.
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.
In addition the the commands described above there a few meta directives supported by the command line interpreter:
Executes the commands from the specified script file.
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.
Enable (resp. disable) extra verbosity.
#!/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