]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - m4/gengetopt/audiod.m4
Move gengetopt input files to m4 directory.
[paraslash.git] / m4 / gengetopt / audiod.m4
diff --git a/m4/gengetopt/audiod.m4 b/m4/gengetopt/audiod.m4
new file mode 100644 (file)
index 0000000..9aabd57
--- /dev/null
@@ -0,0 +1,208 @@
+include(header.m4)
+define(CURRENT_PROGRAM,para_audiod)
+define(DEFAULT_CONFIG_FILE,~/.paraslash/audiod.conf)
+
+<qu>
+#########################
+section "General options"
+#########################
+</qu>
+
+include(loglevel.m4)
+include(color.m4)
+include(config_file.m4)
+include(logfile.m4)
+include(log_timing.m4)
+include(daemon.m4)
+include(user.m4)
+include(group.m4)
+
+<qu>
+########################
+section "Audiod options"
+########################
+
+option "force" F
+#~~~~~~~~~~~~~~~
+"force startup"
+flag off
+details="
+       If this flag is not given, para_audiod refuses to start if the
+       well-known socket file (see the --socket option) already exists
+       because this usually means that para_audiod is already running
+       and listening on that socket. After a crash or if para_audiod
+       received a SIGKILL signal, a stale socket file might remain and
+       you have to use --force once to force startup of para_audiod.
+"
+
+option "mode" m
+#~~~~~~~~~~~~~~
+"startup mode"
+string typestr="mode"
+default="on"
+optional
+details="
+       Para_audiod supports three modes of operation: On, off and
+       standby (sb).  This option selects the mode that should be
+       used on startup. If para_audiod operates in \"on\" mode, it
+       will connect to para_server in order to receive its status
+       information. If para_server announces the availability of an
+       audio stream, para_audiod will automatically download, decode
+       and play the audio stream according to the given stream I/O
+       options, see below.
+
+       In \"standby\" mode, para_audiod will only receive the
+       status information from para_server but will not download
+       the audio stream.
+
+       In \"off\" mode, para_audiod does not connect para_server at
+       all, but still listens on the local socket for connections.
+"
+
+option "socket" s
+#~~~~~~~~~~~~~~~~
+"well-known socket"
+string typestr="filename"
+optional
+details="
+       Para_audiod uses a \"well-known\" socket to listen
+       on for connections from para_audioc. This socket is a
+       special file in the file system; its location defaults to
+       /var/paraslash/audiod_sock.<host_name>.
+
+       para_audioc, the client program used to connect to para_audiod,
+       opens this socket in order to talk to para_audiod.  If the
+       default value for para_audiod is changed, para_audioc must be
+       instructed to use also \"filename\" for connecting para_audiod.
+"
+
+option "user_allow" -
+#~~~~~~~~~~~~~~~~~~~~
+"allow this uid"
+int typestr="uid"
+default="-1"
+optional
+multiple
+details="
+       Allow the user identified by \"uid\" to connect to para_audiod.
+       May be specified multiple times. If not specified at all,
+       all users are allowed to connect.
+
+       This feature requires unix socket credentials and is currently
+       only supported on Linux systems. On other operating systems,
+       the option is silently ignored and all local users are allowed
+       to connect to para_audiod.
+"
+
+option "clock_diff_count" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"sync clock on startup"
+int typestr="count"
+default="0"
+optional
+details="
+       Check the clock difference between the host running para_server
+       and the local host running para_audiod that many times before
+       starting any stream I/0. Set this to non-zero for non-local
+       setups if the clocks of these two hosts are not synchronized
+       by ntp or similar.
+"
+
+#############################
+section "Stream I/O options"
+#############################
+
+option "receiver" r
+#~~~~~~~~~~~~~~~~~~
+"select receiver"
+string typestr="receiver_spec"
+default="http"
+optional
+multiple
+details="
+       This option may be given multiple times, for each audio format
+       separately. If multiple definitions for an audio format are
+       given, the first one is selected.
+
+       The \"receiver_spec\" consists of an audio format specifier
+       and one or more receiver arguments, separated by a colon.
+
+       The audio format specifier is a regular expression which
+       specifies the set of audio formats for which this option
+       should apply.
+
+       If any receiver options are present, the whole receiver
+       argument must be quoted:
+
+               -r 'mp3:http -i my.host.org -p 8009'
+
+       Since a single dot '.' matches the name of any audio format,
+       specifying '.' instead of 'mp3' above activates the http
+       receiver for all audio formats.
+
+"
+
+option "filter" f
+#~~~~~~~~~~~~~~~~
+"Specify the filter configuration."
+string typestr = "filter_spec"
+optional
+multiple
+details = "
+       This option may be given multiple times. The \"filter_spec\"
+       consists of an audio format specifier (see above), the name
+       of the filter, and any options for that filter. Note that
+       order matters.
+
+       The compiled-in defaults apply to all audio formats for which
+       no --filter option was given. These defaults depend on the
+       receiver being used.
+
+       For HTTP streams, only the decoder for the current audio
+       format is activated. UDP and DCCP streams, on the other
+       hand, are sent FEC-encoded by para_server. In order to play
+       such streams, the receiver output must be FEC-decoded first,
+       i.e. fed to the fecdec filter. Therefore the default for UDP
+       and DCCP streams is to activate the fecdec filter, followed
+       by the decoding filter for the audio format.
+
+       Examples:
+
+               --filter 'mp3:mp3dec'
+
+               --filter 'mp3|aac:compress --inertia 5 --damp 2'
+
+               --filter '.:fecdec'
+
+"
+
+option "writer" w
+#~~~~~~~~~~~~~~~~
+"Specify stream writer."
+string typestr="writer_spec"
+optional
+multiple
+details="
+       May be given multiple times, even multiple times for the same
+       audio format.  Default value is \"alsa\" for all supported
+       audio formats. Example:
+
+               --writer 'aac|wma:oss'
+
+"
+
+option "stream_delay" -
+#~~~~~~~~~~~~~~~~~~~~~~
+"time for client sync"
+int typestr="milliseconds"
+default="200"
+optional
+details="
+       Add the given amount of milliseconds to the stream start time
+       announced by para_server and do not send data to the writer
+       before that time (modulo clock difference).
+
+       This is useful mainly for synchronizing the audio output of
+       different clients.
+"
+</qu>