Get help
Liquidsoap is a self-documented application, which means that it can
provide help about several of its aspects. You will learn here how to
get help by yourself, by asking liquidsoap. If you do not succeed in
asking the tool, you can of course get help from humans, preferably on
the mailing list savonet-users@lists.sf.net
.
Scripting API
When scripting in liquidsoap, one uses functions that are either
builtin (e.g. fallback
or
output.icecast
) or defined in the script library (e.g
out
). All these functions come with a documentation, that
you can access by executing liquidsoap -h FUNCTION
on the
command-line. For example:
$ liquidsoap -h sine
*** One entry in scripting values:
Generate a sine wave.
Category: Source / Input
Type: (?id:string, ?duration:float, ?float)->source
Parameters:
* id :: string (default "")
Force the value of the source ID.
* duration :: float (default 0.)
* (unlabeled) :: float (default 440.)
Frequency of the sine.
Of course if you do not know what function you need, you’d better go through the API reference.
Server commands
The server (cf. the server
tutorial) offers some help about its commands. Once connected (either
via a TCP or UNIX socket) the help
command gives you a list
of available commands together with a short usage line. You can then get
more detailed information about a specific command by typing
help COMMAND
:
$ telnet localhost 1234
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
help
Available commands:
[...]
| queue.ignore <rid>
| queue.push <uri>
| queue.queue
[...]
Type "help <command>" for more information.
END
help queue.push
Help for command queue.push.
Usage: queue.push <uri>
Push a new request in the queue.
END
Settings
Liquidsoap scripts contain expression like
set("log.stdout",true)
. These are settings, global
variables affecting the behaviour of the application. Here, the first
parameter identifies a setting its path, and the second one specifies
its new value.
You can have a list of available settings, with their documentation,
by running liquidsoap --conf-descr
. If you are interested
in a particular settings section, for example server-related stuff, use
liquidsoap --conf-descr-key server
.
The output of these commands is a valid liquidsoap script, which you can edit to set the values that you want, and load it (implicitly or not) before you other scripts.
You can browse online the list of available settings.
All plugins
Several aspects of liquidsoap work with a notion of plugin: builtin scripting functions, audio decoders for files and streams, metadata decoders, protocols, etc. The list of plugins can be used to check that your build of liquidsoap has such or such feature, or simply to browse available functions – actually, the reference is built from that output.
You can get the pretty hairy list of all available plugins from the
command liquidsoap --list-plugins
, or
liquidsoap --list-plugins-xml
for a more parsable XML
output.