volume setting only works on OSS systems (including ALSA, via emulation).
.TP
.B collection \fIMODULE\fR \fIENCODING\fR \fIROOT\fR
+.TP
+.B collection \fIMODULE\fR \fIROOT\fR
+.TP
+.B collection \fIROOT\fR
Define a collection of tracks.
.IP
\fIMODULE\fR defines which plugin module should be used for this
-collection. Use the supplied \fBfs\fR module for tracks that exists
-as ordinary files in the filesystem.
+collection. Use the supplied \fBfs\fR module for tracks that exist
+as ordinary files in the filesystem. If no \fIMODULE\fR is specified
+then \fBfs\fR is assumed.
+.IP
+\fIENCODING\fR defines the encoding of filenames in this collection. For
+\fBfs\fR this would be the encoding you use for filenames. Examples might be
+\fBiso-8859-1\fR or \fButf-8\fR. If no encoding is specified then the current
+locale's character encoding is used.
.IP
-\fIENCODING\fR defines the encoding of filenames in this collection.
-For \fBfs\fR this would be the encoding you use for filenames.
-Examples might be \fBiso-8859-1\fR or \fButf-8\fR.
+NB that this default depends on the locale the server runs in, which is not
+necessarily the same as that of ordinary users, depending how the system is
+configured. It's best to explicitly specify it to be certain.
.IP
\fIROOT\fR is the root in the filesystem of the filenames and is
-passed to the plugin module.
+passed to the plugin module. It must be an absolute path and should not
+end with a "/".
.TP
.B default_rights \fIRIGHTS\fR
Defines the set of rights given to new users. The argument is a
.TP
.B gap \fISECONDS\fR
Specifies the number of seconds to leave between tracks. The default
-is 2.
+is 0.
.TP
.B history \fIINTEGER\fR
Specifies the number of recently played tracks to remember (including
.IP
If \fBstopword\fR is used without arguments then the list of stopwords is
cleared.
+.IP
+There is a default set of stopwords built in, but this option can be used to
+augment or replace that list.
.TP
.B tracklength \fIPATTERN\fR \fIMODULE\fR
Specifies the module used to calculate the length of files matching
\fISERVICE\fR.
.SS "Web Interface Configuration"
.TP
+.B mail_sender \fIADDRESS\fR
+The email address that appears in the From: field of any mail messages sent by
+the web interface. This must be set if you have online registration enabled.
+.TP
.B refresh \fISECONDS\fR
Specifies the maximum refresh period in seconds. Default 15.
.TP
Defines the maximum number of characters to include in a \fBshort\fR name
part. Default 30.
.TP
+.B smtp_server \fIHOSTNAME\fR
+The hostname (or address) of the SMTP server to use for sending mail. The
+default is 127.0.0.1.
+.TP
.B templates \fIPATH\fR ...
Specifies the directory containing templates used by the web
interface. If a template appears in more than one template directory
.TP
.B url \fIURL\fR
Specifies the URL of the web interface. This URL will be used in
-generated web pages.
+generated web pages. The default is inferred at runtime, so this option no
+longer needs to be specified.
.IP
This must be the full URL, e.g. \fBhttp://myhost/cgi-bin/jukebox\fR and not
\fB/cgi-bin/jukebox\fR.
Included at the end of the main content \fB<DIV>\fR element.
.TP
.B topbar.html
-Included at the start of the \fB<BODY>\fR element. (This supplants
-\fBsidebar.html\fR, though the latter is still available; override label
-\fBmenu\fR to choose between them.)
+Included at the start of the \fB<BODY>\fR element.
+.TP
+.B topbarend.html
+Included at the end of the \fB<BODY>\fR element.
.TP
.B stdhead.html
Included in the \fB<HEAD>\fR element.
.B @length@
Expands to the length of the current track.
.TP
+.B @movable@
+Expands to \fBtrue\fR if the current track is movable, otherwise to
+\fBfalse\fR.
+.TP
.B @navigate{\fIDIRECTORY\fB}{\fITEMPLATE\fB}
Expands \fITEMPLATE\fR for each component of \fIDIRECTORY\fR in turn.
Use \fB@dirname\fR and \fB@basename@\fR to get the components of the path to
Expands \fITEMPLATE\fR repeatedly using the each recently played track in turn
as the current track. The most recently played track comes first.
.TP
+.B @removable@
+Expands to \fBtrue\fR if the current track is removable, otherwise to
+\fBfalse\fR.
+.TP
.B @resolve{\fITRACK\fB}@
Resolve aliases for \fITRACK\fR and expands to the result.
.TP
+.B @right{\fIRIGHT\fB}@
+Exapnds to \fBtrue\fR if the user has right \fIRIGHT\fR, otherwise to
+\fBfalse\fR.
+.TP
+.B @right{\fIRIGHT\fB}{\fITRUEPART\fB}{\fIFALSEPART\fB}@
+Expands to \fITRUEPART\fR if the user right \fIRIGHT\fR, otherwise to
+\fIFALSEPART\fR (which may be omitted).
+.TP
+.B @scratchable@
+Expands to \fBtrue\fR if the currently playing track is scratchable, otherwise
+to \fBfalse\fR.
+.TP
.B @search{\fIPART\fB}\fR[\fB{\fICONTEXT\fB}\fR]\fB{\fITEMPLATE\fB}@
Expands \fITEMPLATE\fR once for each group of search results that have
a common value of track part \fIPART\fR.
.B @urlquote{\fISTRING\fB}@
URL-quote \fISTRING\fR.
.TP
+.B @user@
+The current username. This will be "guest" if nobody is logged in.
+.TP
.B @version@
Expands to \fBdisorder.cgi\fR's version string.
.TP