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: Loadable Modules< / title >
< link rel = "stylesheet" type = "text/css" href = "style.css" / >
< / head >
< body >
< h1 > Loadable Modules< / h1 >
< p > The following loadable modules are provided with the < tt > polypaudio< / tt > distribution:< / p >
< h2 > Device Drivers< / h2 >
< p > All device driver modules support the following parameters:< / p >
< table >
< tr > < td > < tt > format=< / tt > < / td > < td > The sample format (one of < tt > u8< / tt > , < tt > s16< / tt > , < tt > s16le< / tt > , < tt > s16le< / tt > , < tt > float32< / tt > , < tt > float32be< / tt > , < tt > float32le< / tt > , < tt > alaw< / tt > , < tt > ulaw< / tt > ) (defaults to < tt > s16< / tt > )< / td > < / tr >
< tr > < td > < tt > rate=< / tt > < / td > < td > The sample rate (defaults to 44100)< / td > < / tr >
< tr > < td > < tt > channels=< / tt > < / td > < td > Audio channels (defaults to 2)< / td > < / tr >
< tr > < td > < tt > sink_name=< / tt > , < tt > source_name=< / tt > < / td > < td > Name for the sink (resp. source)< / td > < / tr >
< / table >
< h3 > module-pipe-sink< / h3 >
< p > Provides a simple test sink that writes the audio data to a FIFO
special file in the file system. The sink name defaults to < tt > pipe_output< / tt > .< / p >
< p > The following option is supported:< / p >
< table >
2004-09-07 22:40:43 +00:00
< tr > < td > < tt > file=< / tt > < / td > < td > The name of the FIFO special file to use. (defaults to: < tt > /tmp/music.output< / tt > )< / td > < / tr >
< / table >
< h3 > module-pipe-source< / h3 >
< p > Provides a simple test source that reads the audio data from a FIFO
special file in the file system. The source name defaults to < tt > pipe_input< / tt > .< / p >
< p > The following option is supported:< / p >
< table >
< tr > < td > < tt > file=< / tt > < / td > < td > The name of the FIFO special file to use. (defaults to: < tt > /tmp/music.input< / tt > )< / td > < / tr >
2004-07-17 14:06:13 +00:00
< / table >
2004-10-27 22:43:36 +00:00
< h3 > module-null-sink< / h3 >
< p > Provides a simple null sink. All data written to this sink is silently dropped. This sink is clocked using the system time.< / p >
< p > This module doesn't support any special parameters< / p >
2004-07-17 14:06:13 +00:00
< a name = "module-alsa-sink" / >
< h3 > module-alsa-sink< / h3 >
< p > Provides a playback sink for devices supported by the < a href = "http://www.alsa-project.org/" > Advanced Linux
Sound Architecture< / a > (ALSA). The sink name defaults to < tt > alsa_output< / tt > .< / p >
< p > In addition to the general device driver options described above this module supports:< / p >
< table >
< tr > < td > < tt > device=< / tt > < / td > < td > The ALSA device to use. (defaults to "plughw:0,0")< / td > < / tr >
< tr > < td > < tt > fragments=< / tt > < / td > < td > The desired fragments when opening the device. (defaults to 12)< / td > < / tr >
< tr > < td > < tt > fragment_size=< / tt > < / td > < td > The desired fragment size in bytes when opening the device (defaults to 1024)< / td > < / tr >
< / table >
< h3 > module-alsa-source< / h3 >
< p > Provides a recording source for devices supported by the Advanced
Linux Sound Architecture (ALSA). The source name defaults to < tt > alsa_input< / tt > .< / p >
< p > This module supports < tt > device=< / tt > , < tt > fragments=< / tt > and < tt > fragment_size=< / tt > arguments the same way as < a href = "#module-alsa-sink" > < tt > module-alsa-sink< / tt > < / a > .< / p >
< a name = "module-oss" / >
< h3 > module-oss< / h3 >
< p > Provides both a sink and a source for playback, resp. recording on
< a href = "http://www.opensound.com" > Open Sound System< / a > (OSS) compatible devices.< / p >
< p > This module supports < tt > device=< / tt > (which defaults to < tt > /dev/dsp< / tt > ), < tt > fragments=< / tt > and < tt > fragment_size=< / tt > arguments the same way as < a href = "#module-alsa-sink" > < tt > module-alsa-sink< / tt > < / a > .< / p >
< p > In addition this module supports the following options:< / p >
< table >
< tr > < td > < tt > record=< / tt > < / td > < td > Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)< / td > < / tr >
< tr > < td > < tt > playback=< / tt > < / td > < td > Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)< / td > < / tr >
< / table >
< p > The sink name (resp. source name) defaults to < tt > oss_output< / tt > (resp. < tt > oss_input< / tt > ).< / p >
< h3 > module-oss-mmap< / h3 >
< p > Similar to < tt > module-oss< / tt > but uses memory mapped
(< tt > mmap()< / tt > ) access to the input/output buffers of the audio
device. This provides better latency behaviour but is not as
compatible as < tt > module-oss< / tt > .< / p >
< p > This module accepts exactly the same arguments as < a href = "#module-oss" > < tt > module-oss< / tt > < / a > .< / p >
2004-09-20 20:52:35 +00:00
< h3 > module-combine< / h3 >
< p > This combines two or more sinks into one. A new virtual sink is
allocated. All data written to it is forwarded to all connected
sinks. In aequidistant intervals the sample rates of the output sinks
is recalculated: i.e. even when the sink's crystals deviate (which is
normally the case) output appears synchronously to the human ear. The
resampling required for this may be very CPU intensive.< / p >
< table >
< tr > < td > < tt > sink_name=< / tt > < / td > < td > The name for the combined sink. (defaults to < tt > combined< / tt > )< / td > < / tr >
< tr > < td > < tt > master=< / tt > < / td > < td > The name of the first sink to link into the combined think. The sample rate/type is taken from this sink.< / td > < / tr >
< tr > < td > < tt > slaves=< / tt > < / td > < td > Name of additional sinks to link into the combined think, seperated by commas.< / td > < / tr >
2004-09-23 15:47:11 +00:00
< tr > < td > < tt > adjust_time=< / tt > < / td > < td > Time in seconds when to readjust the sample rate of all sinks. (defaults to 20)< / td > < / tr >
< tr > < td > < tt > resample_method=< / tt > < / td > < td > Resampling algorithm to
2004-09-20 20:52:35 +00:00
use. See < tt > libsamplerate< / tt > 's documentation for more
information. Use one of < tt > sinc-best-quality< / tt > ,
< tt > sinc-medium-quality< / tt > , < tt > sinc-fastest< / tt > ,
< tt > zero-order-hold< / tt > , < tt > linear< / tt > . If the default happens to
be to slow on your machine try using < tt > zero-order-hold< / tt > . This
will decrease output quality however. (defaults to
< tt > sinc-fastest< / tt > )< / td > < / tr > < / table >
2004-10-27 22:43:36 +00:00
< h3 > module-tunnel-{sink,source}< / h3 >
< p > Tunnel a remote sink/source to a local "ghost"
sink/source. Requires a running polypaudio daemon on the remote server
with < tt > module-native-protocol-tcp< / tt > loaded. It's probably a
better idea to connect to the remote sink/source directly since some
buffer control is lost through this tunneling.< / p >
< table >
< tr > < td > < tt > server=< / tt > < / td > < td > The server to connect to< / td > < / tr >
< tr > < td > < tt > source=< / tt > < / td > < td > The source on the remote server. Only available for < tt > module-tunnel-source< / tt > .< / td > < / tr >
< tr > < td > < tt > sink=< / tt > < / td > < td > The sink on the remote server. Only available for < tt > module-tunnel-sink< / tt > .< / td > < / tr >
< tr > < td > < tt > cookie=< / tt > < / td > < td > The authentication cookie file to use.< / td > < / tr >
< / table >
2004-11-14 02:36:35 +00:00
< h3 > module-esound-sink< / h3 >
< p > Create a playback sink using an ESOUND server as backend. Whenever you can, try to omit this
module since it has many disadvantages including bad latency
and even worse latency measurement. < / p >
< table >
< tr > < td > < tt > server=< / tt > < / td > < td > The server to connect to< / td > < / tr >
< tr > < td > < tt > cookie=< / tt > < / td > < td > The authentication cookie file to use.< / td > < / tr >
< / table >
2004-07-17 14:06:13 +00:00
< h2 > Protocols< / h2 >
< a name = "module-cli" / >
< h3 > module-cli< / h3 >
< p > Provides the user with a simple command line interface on the
controlling TTY of the daemon. This module may not be loaded more than
once.< / p >
< p > For an explanation of the simple command line language used by this
module see < a href = "cli.html" > < tt > cli.html< / tt > < / a > .
< p > This module doesn't accept any arguments.< / p >
< a name = "module-cli-protocol-unix" / >
< a name = "module-cli-protocol-tcp" / >
< a name = "module-cli-protocol" / >
2004-11-14 02:36:35 +00:00
< h3 > module-cli-protocol-{unix,tcp,tcp6}< / h3 >
2004-07-17 14:06:13 +00:00
< p > An implemenation of a simple command line based protocol for
controlling the < tt > polypaudio< / tt > daemon. If loaded, the user may
connect with tools like < tt > netcat< / tt > , < tt > telnet< / tt > or
< a href = "http://0pointer.de/lennart/projects/bidilink/" > < tt > bidilink< / tt > < / a > to the listening sockets and execute commands the
same way as with < tt > module-cli< / tt > .< / p >
< p > < b > Beware!< / b > Users are not authenticated when connecting to this
service.< / p >
< p > This module exists in two versions: with the suffix < tt > -unix< / tt >
the service will listen on an UNIX domain socket in the local file
system. With the suffix < tt > -tcp< / tt > it will listen on a network
transparent TCP/IP socket.< / p >
< p > This module supports the following options:< / p >
< table >
< tr > < td > < tt > port=< / tt > < / td > < td > (only for < tt > -tcp< / tt > ) The port number to listen on (defaults to 4712)< / td > < / tr >
< tr > < td > < tt > loopback=< / tt > < / td > < td > (only for < tt > -tcp< / tt > ) Accepts
a numerical binary value. If 1 the socket is bound to the loopback
device, i.e. not publicly accessible. (defaults to 1)< / td > < / tr >
< tr > < td > < tt > socket=< / tt > < / td > < td > (only for < tt > -unix< / tt > ) The UNIX socket name (defaults to < tt > /tmp/polypaudio/cli< / tt > )< / td > < / tr >
< / table >
2004-11-14 02:36:35 +00:00
< h3 > module-simple-protocol-{unix,tcp,tcp6}< / h3 >
2004-07-17 14:06:13 +00:00
< p > An implementation of a simple protocol which allows playback by using
simple tools like < tt > netcat< / tt > . Just connect to the listening
socket of this module and write the audio data to it, or read it from
it for playback, resp. recording.< / p >
< p > < b > Beware!< / b > Users are not authenticated when connecting to this
service.< / p >
< p > See < tt > module-cli-protocol-{unix,tcp}< / tt > for more information
about the two possible suffixes of this module.< / p >
< p > In addition to the options supported by < a href = "module-cli-protocol" > < tt > module-cli-protocol-*< / tt > < / a > , this module supports:< / p >
< table >
< tr > < td > < tt > rate=< / tt > , < tt > format=< / tt > , < tt > channels=< / tt > < / td > < td > Sample format for streams connecting to this service.< / td > < / tr >
< tr > < td > < tt > playback=< / tt > , < tt > record=< / tt > < / td > < td > Enable/disable playback/recording< / td > < / tr >
< tr > < td > < tt > sink=< / tt > , < tt > source=< / tt > < / td > < td > Specify the sink/source this service connects to< / td > < / tr >
< / table >
< h3 > module-esound-protocol-{unix,tcp}< / h3 >
< p > An implemenation of a protocol compatible with the < a
href="http://www.tux.org/~ricdude/EsounD.html">Enlightened Sound
Daemon< / a > (ESOUND, < tt > esd< / tt > ). When you load this module you may
access the < tt > polypaudio< / tt > daemon with tools like < tt > esdcat< / tt > ,
< tt > esdrec< / tt > or even < tt > esdctl< / tt > . Many applications, such as
XMMS, include support for this protocol.< / p >
< p > See < tt > module-cli-protocol-{unix,tcp}< / tt > for more information
about the two possible suffixes of this module.< / p >
< p > In addition to the options supported by < a href = "module-cli-protocol" > < tt > module-cli-protocol-*< / tt > < / a > , this module supports:< / p >
< table >
< tr > < td > < tt > sink=< / tt > , < tt > source=< / tt > < / td > < td > Specify the sink/source this service connects to< / td > < / tr >
< tr > < td > < tt > public=< / tt > < / td > < td > If set to 0 not authentication is required to connect to the service< / td > < / tr >
< tr > < td > < tt > cookie=< / tt > < / td > < td > Name of the cookie file for authentication purposes< / td > < / tr >
< / table >
< p > This implementation misses some features the original ESOUND has: e.g. there is no sample cache yet. However: XMMS works fine.< / p >
2004-11-14 02:36:35 +00:00
< h3 > module-native-protocol-{unix,tcp,tcp6}< / h3 >
2004-07-17 14:06:13 +00:00
< p > The native protocol of < tt > polypaudio< / tt > .< / p >
< p > See < tt > module-cli-protocol-{unix,tcp}< / tt > for more information
about the two possible suffixes of this module.< / p >
< p > In addition to the options supported by < a href = "module-cli-protocol" > < tt > module-cli-protocol-*< / tt > < / a > , this module supports:< / p >
< table >
< tr > < td > < tt > public=< / tt > < / td > < td > If set to 0 not authentication is required to connect to the service< / td > < / tr >
< tr > < td > < tt > cookie=< / tt > < / td > < td > Name of the cookie file for authentication purposes< / td > < / tr >
< / table >
2004-09-07 22:40:43 +00:00
< h3 > module-native-protocol-fd< / h3 >
2004-09-23 23:26:15 +00:00
< p > This is used internally when auto spawning a new daemon. Don't use it directly.< / p >
2004-09-07 22:40:43 +00:00
< h2 > Miscellaneous< / h2 >
2004-08-20 13:06:55 +00:00
< 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 >
2004-07-17 14:06:13 +00:00
2004-09-07 22:40:43 +00:00
< h3 > module-sine< / h3 >
< p > Creates a sink input and generates a sine waveform stream.< / p >
< table >
< tr > < td > < tt > sink=< / tt > < / td > < td > The sink to connect to. If ommited defaults to the default sink.< / td > < / tr >
< tr > < td > < tt > frequency=< / tt > < / td > < td > The frequency to generate in Hertz. Defaults to 440.< / td > < / tr >
< / table >
2004-09-23 23:26:15 +00:00
< h3 > module-esound-compat-spawnfd< / h3 >
< p > This is a compatibility module for < tt > libesd< / tt > based autospawning of polypaudio. Don't use it directly.< / p >
< h3 > module-esound-compat-spawnpid< / h3 >
< p > This is a compatibility module for < tt > libesd< / tt > based autospawning of polypaudio. Don't use it directly.< / p >
2004-10-27 22:43:36 +00:00
< h3 > module-match< / h3 >
< p > Adjust the volume of a playback stream automatically based on its name.< / p >
< table >
< tr > < td > < tt > table=< / tt > < / td > < td > The regular expression matching table file to use< / td > < / tr >
< / table >
< p > The table file should contain a regexp and volume on each line, seperated by spaces. An example:< / p >
< pre >
^sample: 25
< / pre >
< p > The volumes of all streams with titles starting with < tt > sample:< / tt > are automatically set to 25. (FYI: All sample cache streams start with < tt > sample:< / tt > )< / p >
2004-07-17 14:06:13 +00:00
< hr / >
2004-09-07 22:40:43 +00:00
< address class = "grey" > Lennart Poettering < @PACKAGE_BUGREPORT@> , September 2004< / address >
2004-07-17 14:06:13 +00:00
< div class = "grey" > < i > $Id$< / i > < / div >
< / body > < / html >