Move ggo files to a separate directory.
authorAndre Noll <maan@systemlinux.org>
Sat, 17 Jan 2009 18:22:14 +0000 (19:22 +0100)
committerAndre Noll <maan@systemlinux.org>
Sat, 17 Jan 2009 18:22:14 +0000 (19:22 +0100)
45 files changed:
Makefile.in
afh.ggo [deleted file]
alsa_write.ggo [deleted file]
amp_filter.ggo [deleted file]
audioc.ggo [deleted file]
audiod.ggo [deleted file]
client.ggo [deleted file]
compress_filter.ggo [deleted file]
dccp_recv.ggo [deleted file]
fade.ggo [deleted file]
file_write.ggo [deleted file]
filter.ggo [deleted file]
fsck.ggo [deleted file]
ggo/afh.ggo [new file with mode: 0644]
ggo/alsa_write.ggo [new file with mode: 0644]
ggo/amp_filter.ggo [new file with mode: 0644]
ggo/audioc.ggo [new file with mode: 0644]
ggo/audiod.ggo [new file with mode: 0644]
ggo/client.ggo [new file with mode: 0644]
ggo/compress_filter.ggo [new file with mode: 0644]
ggo/dccp_recv.ggo [new file with mode: 0644]
ggo/fade.ggo [new file with mode: 0644]
ggo/file_write.ggo [new file with mode: 0644]
ggo/filter.ggo [new file with mode: 0644]
ggo/fsck.ggo [new file with mode: 0644]
ggo/grab_client.ggo [new file with mode: 0644]
ggo/gui.ggo [new file with mode: 0644]
ggo/http_recv.ggo [new file with mode: 0644]
ggo/mp3dec_filter.ggo [new file with mode: 0644]
ggo/oggdec_filter.ggo [new file with mode: 0644]
ggo/osx_write.ggo [new file with mode: 0644]
ggo/recv.ggo [new file with mode: 0644]
ggo/server.ggo [new file with mode: 0644]
ggo/udp_recv.ggo [new file with mode: 0644]
ggo/write.ggo [new file with mode: 0644]
grab_client.ggo [deleted file]
gui.ggo [deleted file]
http_recv.ggo [deleted file]
mp3dec_filter.ggo [deleted file]
oggdec_filter.ggo [deleted file]
osx_write.ggo [deleted file]
recv.ggo [deleted file]
server.ggo [deleted file]
udp_recv.ggo [deleted file]
write.ggo [deleted file]

index 30bc63f..baae37b 100644 (file)
@@ -59,9 +59,10 @@ BINARIES = para_server para_client para_audioc para_recv \
 man_binaries := $(BINARIES)
 man_pages := $(patsubst %, man/man1/%.1, $(man_binaries))
 man_pages_in := $(patsubst %, web/%.man.in.html, $(man_binaries))
-gengetopts := $(wildcard *.ggo)
-gengetopts_c := $(gengetopts:.ggo=.cmdline.c)
-gengetopts_h := $(gengetopts:.ggo=.cmdline.h)
+ggo_dir := ggo
+gengetopts := $(wildcard $(ggo_dir)/*.ggo)
+gengetopts_c := $(patsubst %/,, $(gengetopts:.ggo=.cmdline.c))
+gengetopts_h := $(patsubst %/,, $(gengetopts:.ggo=.cmdline.h))
 autocrap := config.h.in configure
 tarball_pfx := @PACKAGE_TARNAME@-@PACKAGE_VERSION@
 tarball_delete = web versions pics .changelog_before_cvs .changelog_cvs .gitignore
@@ -80,7 +81,7 @@ include Makefile.deps
 
 module_ggo_opts := --set-version="(@PACKAGE_STRING@, $(codename))"
 
-grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo
+grab_client.cmdline.h grab_client.cmdline.c: $(ggo_dir)/grab_client.ggo
        gengetopt $(module_ggo_opts) \
                -S \
                --set-package=grab \
@@ -88,31 +89,31 @@ grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo
                --no-handle-error \
                --no-handle-version \
                --arg-struct-name=grab_client_args_info \
-               --file-name=$(subst .ggo,,$<).cmdline \
-               --func-name $(subst .ggo,,$<)_cmdline_parser < $<
+               --file-name=$(subst .ggo,,$(<F)).cmdline \
+               --func-name $(subst .ggo,,$(<F))_cmdline_parser < $<
 
-%_recv.cmdline.h %_recv.cmdline.c: %_recv.ggo
+%_recv.cmdline.h %_recv.cmdline.c: $(ggo_dir)/%_recv.ggo
        gengetopt $(module_ggo_opts) \
-               --set-package=$(subst .ggo,,$<) \
-               --arg-struct-name=$(subst .ggo,,$<)_args_info \
-               --file-name=$(subst .ggo,,$<).cmdline \
-               --func-name $(subst .ggo,,$<)_cmdline_parser < $<
+               --set-package=$(subst .ggo,,$(<F)) \
+               --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
+               --file-name=$(subst .ggo,,$(<F)).cmdline \
+               --func-name $(subst .ggo,,$(<F))_cmdline_parser < $<
 
-%_filter.cmdline.h %_filter.cmdline.c: %_filter.ggo
+%_filter.cmdline.h %_filter.cmdline.c: $(ggo_dir)/%_filter.ggo
        gengetopt $(module_ggo_opts) \
-               --set-package=$(subst .ggo,,$<) \
-               --arg-struct-name=$(subst .ggo,,$<)_args_info \
-               --file-name=$(subst .ggo,,$<).cmdline \
-               --func-name $(subst _filter.ggo,,$<)_cmdline_parser < $<
-%_write.cmdline.h %_write.cmdline.c: %_write.ggo
+               --set-package=$(subst .ggo,,$(<F)) \
+               --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
+               --file-name=$(subst .ggo,,$(<F)).cmdline \
+               --func-name $(subst _filter.ggo,,$(<F))_cmdline_parser < $<
+%_write.cmdline.h %_write.cmdline.c: $(ggo_dir)/%_write.ggo
        gengetopt -S $(module_ggo_opts) \
-               --set-package=$(subst .ggo,,$<) \
-               --arg-struct-name=$(subst .ggo,,$<)_args_info \
-               --file-name=$(subst .ggo,,$<).cmdline \
-               --func-name $(subst _write.ggo,,$<)_cmdline_parser < $<
+               --set-package=$(subst .ggo,,$(<F)) \
+               --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
+               --file-name=$(subst .ggo,,$(<F)).cmdline \
+               --func-name $(subst _write.ggo,,$(<F))_cmdline_parser < $<
 
-%.cmdline.h %.cmdline.c: %.ggo
-       case $< in client.ggo) O="--unamed-opts=command";; \
+%.cmdline.h %.cmdline.c: $(ggo_dir)/%.ggo
+       case $(<F) in client.ggo) O="--unamed-opts=command";; \
                audioc.ggo) O="--unamed-opts=command";; \
                fsck.ggo) O="--unamed-opts=table";; \
                afh.ggo) O="--unamed-opts=audio_file";; \
@@ -121,7 +122,7 @@ grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo
                write.ggo) O="--no-handle-help";; \
                audiod.ggo) O="--no-handle-help";; \
        esac; \
-       if test $< != fsck.ggo; then O="$$O --conf-parser "; fi; \
+       if test $(<F) != fsck.ggo; then O="$$O --conf-parser "; fi; \
        gengetopt $$O \
                --no-handle-version \
                --file-name=$(*F).cmdline \
diff --git a/afh.ggo b/afh.ggo
deleted file mode 100644 (file)
index 056a34d..0000000
--- a/afh.ggo
+++ /dev/null
@@ -1,122 +0,0 @@
-text "
-para_afh, the audio format handler tool, is a stand-alone program
-contained in the paraslash package for analyzing and streaming audio
-files. It can be used to
-
-       - print tech info about the given audio file to stdout.
-       In particular, the 'chunk table' of the audio file, an array
-       of offsets within the audio file, may be printed. This table
-       can be used by other programs unaware of the particular audio
-       format to stream the audio file.
-
-       - write selected parts of the given audio file in complete
-       chunks without decoding. Thus para_afh can be used to 'cut'
-       an audio file.
-
-       - write selected parts of the given audio files 'just in time'
-       to sdout.  This may be useful for third-party software that
-       is capable of reading from stdin.
-"
-
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-int typestr="level"
-default="4"
-optional
-
-defgroup "mode"
-#--------------
-groupdesc="
-       There are two modes of operation: Info mode and stream mode,
-       one of which must be selected by the corresponding option.
-       See below.
-"
-required
-
-groupoption "info" i
-#~~~~~~~~~~~~~~~~~~~
-"select info mode"
-group="mode"
-details="
-       In this mode, the program prints technical information about
-       the given audio file to stdout.
-"
-
-groupoption "stream" s
-#~~~~~~~~~~~~~~~~~~~~~
-"select stream mode"
-group="mode"
-details="
-       If this mode is selected, the selected parts of the content
-       of the audio file are written to stdout. Only complete chunks
-       with respect of the underlying audio format are written.
-       For example, only complete frames in case of mp3 files.
-"
-
-section "Options for info mode"
-#==============================
-
-option "chunk_table" c
-#~~~~~~~~~~~~~~~~~~~~~
-"print also the chunk table"
-flag off
-dependon="info"
-
-section "Options for stream mode"
-#================================
-
-
-option "begin_chunk" b
-#~~~~~~~~~~~~~~~~~~~~~
-"skip a number of chunks"
-int typestr="chunk_num"
-default="0"
-dependon="stream"
-optional
-details="
-       The chunk_num argument must be between -num_chunks and
-       num_chunks - 1 inclusively where num_chunks is the total number
-       of chunks which is printed when using the --info option. If
-       chunk_num is negative, the given number of chunks are counted
-       backwards from the end of the file. For example --begin_chunk
-       -100 instructs para_afh to start output at chunk num_chunks
-       - 100. This is mainly useful for cutting off the end of an
-       audio file.
-"
-
-option "end_chunk" e
-#~~~~~~~~~~~~~~~~~~~
-"only write up to chunk chunk_num"
-int typestr="chunk_num"
-dependon="stream"
-optional
-details="
-       For the chunk_num argument the same rules as for --begin_chunk
-       apply.  The default is to write up to the last chunk.
-"
-
-option "just_in_time" j
-#~~~~~~~~~~~~~~~~~~~~~~
-"use timed writes"
-flag off
-dependon="stream"
-details="
-       Write the specified chunks of data 'just in time', i.e. the
-       write of each chunk is delayed until the time it is needed
-       by the decoder/player in order to guarantee an uninterupted
-       audio stream.
-"
-
-option "no_header" H
-#~~~~~~~~~~~~~~~~~~~
-"do not write an audio file header"
-flag off
-dependon="stream"
-details="
-       If an audio format needs information about the audio file
-       in a format-specific header in order to be understood by
-       the decoding software, a suitable header is automatically
-       send. This option changes the default behaviour, i.e. no
-       header is written.
-"
diff --git a/alsa_write.ggo b/alsa_write.ggo
deleted file mode 100644 (file)
index 84f49d5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-option "device" d
-#~~~~~~~~~~~~~~~~
-"set PCM device"
-string typestr="device"
-default="default"
-optional
-details="
-       On systems with dmix, a better choice than the default
-       value might be to use \"plug:swmix\".
-"
-
-option "channels" c
-#~~~~~~~~~~~~~~~~~~
-"specify number of channels"
-int typestr="num"
-default="2"
-optional
-details="
-       This option is only necessary for playing raw audio with
-       para_write.  In all other cases (plaing wav files with
-       para_write or using this writer with para_audiod), the number
-       of channels will be obtained from other resources.
-"
-
-option "samplerate" s
-#~~~~~~~~~~~~~~~~~~~~~
-"force given sample rate"
-int typestr="num"
-default="44100"
-optional
-details="
-       Again, it is only necessary to specify this when playing raw
-       audio with para_write.
-"
diff --git a/amp_filter.ggo b/amp_filter.ggo
deleted file mode 100644 (file)
index 865df3a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-option "amp" a
-#~~~~~~~~~~~~~
-"amplification value"
-int typestr="number"
-default="32"
-optional
-details="
-       The amplification value determines the scaling factor by
-       which the amplitude of the audio stream is multiplied. The
-       formula for the scaling factor is
-
-               factor = 1 + amp / 64.
-
-       For example, an amplifiction value of zero results in a
-       scaling factor of one while an amplification value of 64
-       means to double the volume.
-"
diff --git a/audioc.ggo b/audioc.ggo
deleted file mode 100644 (file)
index 87ef71e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-       int typestr="level"
-       default="4"
-       optional
-
-
-option "socket" s
-#~~~~~~~~~~~~~~~~
-"well-known socket (default=/var/paraslash/audiod.socket.$HOSTNAME)"
-       string typestr="filename"
-       optional
-
-
-option "bufsize" b
-#~~~~~~~~~~~~~~~~~
-"size of internal buffer"
-       int typestr="bytes"
-       default="8192"
-       optional
diff --git a/audiod.ggo b/audiod.ggo
deleted file mode 100644 (file)
index 6048b87..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-#########################
-section "General options"
-#########################
-
-text "
-       These options are identical to their counterparts in para_server
-       and are discussed in detail there.
-"
-
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-int typestr="level"
-default="3"
-optional
-
-option "color" C
-#~~~~~~~~~~~~~~~
-"activate color output"
-enum typestr="when"
-values = "yes","no","auto"
-default = "auto"
-optional
-
-option "log_color" -
-#~~~~~~~~~~~~~~~~~~~
-"select a color for one type of log message"
-string typestr="color_spec"
-multiple
-optional
-details="
-       Example: --log_color \"INFO:yellow black bold\"
-"
-
-option "config_file" c
-#~~~~~~~~~~~~~~~~~~~~~
-"(default='~/.paraslash/audiod.conf'"
-string typestr="filename"
-optional
-
-option "logfile" L
-#~~~~~~~~~~~~~~~~~
-"where to write log output"
-string typestr="filename"
-optional
-
-option "daemon" d
-#~~~~~~~~~~~~~~~~
-"run as background daemon"
-flag off
-dependon="logfile"
-
-option "user" u
-#~~~~~~~~~~~~~~
-"run as the given user"
-string typestr="name"
-optional
-
-option "group" g
-#~~~~~~~~~~~~~~~
-"set group id"
-string typestr="group"
-optional
-
-########################
-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 syncronized
-       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, once for each
-       supported audio format. The \"receiver_spec\" consists of
-       an audio format and the receiver name, separated by a colon,
-       and any options for that receiver, seperated by whitespace.
-       If any receiver options are present, the whole receiver
-       argument must be quoted.
-
-       Example:
-
-               -r 'mp3:http -i my.host.org -p 8009'
-"
-
-
-option "no_default_filters" D
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"Configure filters manually"
-flag off
-details="
-       If (and only if) this option is set, the --filter options
-       (see below) take effect.  Otherwise, the compiled-in default
-       filters mp3dec, oggdec and aacdec are activated for mp3, ogg,
-       aac streams respectively.
-"
-
-option "filter" f
-#~~~~~~~~~~~~~~~~
-"Use non-default filters"
-string typestr="filter_spec"
-optional
-multiple
-dependon="no_default_filters"
-details="
-       This option may be given multiple times. The \"filter_spec\"
-       consists of an audio format, the name of the filter, and any
-       options for that filter. Mote that order matters.
-
-       Examples:
-
-               --filter 'mp3:mp3dec'
-
-               --filter 'mp3:compress --inertia 5 --damp 2'
-
-"
-
-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:osx'
-
-"
-
-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 syncronizing the audio output of
-       different clients.
-"
diff --git a/client.ggo b/client.ggo
deleted file mode 100644 (file)
index 1d6b410..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# file client.conf
-args "--no-handle-error"
-option "hostname" i "ip or host to connect" string typestr="host" default="localhost" optional
-option "user" u "paraslash username" string typestr="username" default="<current user>" optional
-option "server_port" p "port to connect" int typestr="port" default="2990" optional
-option "key_file" k "(default='~/.paraslash/key.<user>')" string typestr="filename" optional
-option "loglevel" l "set loglevel (0-6)" int typestr="number" default="5" optional
-option "config_file" c "(default='~/.paraslash/client.conf')" string typestr="filename" optional
-option "plain" - "request an uncrypted session" flag off
diff --git a/compress_filter.ggo b/compress_filter.ggo
deleted file mode 100644 (file)
index 74dcbc0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-option "blocksize" b
-#~~~~~~~~~~~~~~~~~~~
-"adjust block size"
-int typestr="number"
-default="15"
-optional
-details = "
-       Larger blocksize means fewer volume adjustments per time unit.
-"
-
-option "aggressiveness" a
-#~~~~~~~~~~~~~~~~~~~~~~~~
- "controls the maximum amount to amplify by"
-int typestr="number"
-default="4"
-optional
-
-option "inertia" i
-#~~~~~~~~~~~~~~~~~
- "how much inertia ramping has"
- int typestr="number"
-default="6"
-optional
-
-option "target_level" t
-#~~~~~~~~~~~~~~~~~~~~~~
-"target signal level (0-32768)"
-int typestr="number"
-default="20000"
-optional
-
-option "damp" d
-#~~~~~~~~~~~~~~
-"if non-zero, scale down after normalizing"
-int typestr="number"
-default="0"
-optional
diff --git a/dccp_recv.ggo b/dccp_recv.ggo
deleted file mode 100644 (file)
index 9717329..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-option "host" i
-"ip or host"
-string default="localhost"
-optional
-details="
-       Both IPv4 and IPv6 addresses are supported.
-"
-
-option "port" p
-"port to connect to"
-int
-default="8000"
-optional
diff --git a/fade.ggo b/fade.ggo
deleted file mode 100644 (file)
index 388642e..0000000
--- a/fade.ggo
+++ /dev/null
@@ -1,178 +0,0 @@
-section "general options"
-#########################
-
-option "mode" o
-#~~~~~~~~~~~~~~
-"{sleep|fade|snooze}"
-string default="sleep"
-optional
-details="
-       para_fade knows these three different modes.
-
-       sleep mode: Change to the initial volume and an initial afs
-       mode, then fade the volume down until the fade out volume is
-       reached. Switch to the afs sleep mode until the wake time is
-       reached. Then switch to the afs wake mode and and fade in to
-       the wake volume.
-
-       fade: Fade the volume to the given value in the given time.
-
-       snooze: Fade out, sleep a bit and fade in.
-"
-
-option "config_file" c
-#~~~~~~~~~~~~~~~~~~~~~
- "(default='~/.paraslash/fade.conf')"
-       string typestr="filename"
-       optional
-
-option "mixer_device" m
-#~~~~~~~~~~~~~~~~~~~~~~
- "mixer device file"
-       string typestr="device"
-       default="/dev/mixer"
-       optional
-
-section "sleep options (only relevant in sleep mode)"
-#####################################################
-
-option "sleep_ivol" -
-#~~~~~~~~~~~~~~~~~~~~
-"set initial volume"
-int typestr="volume"
-default="60"
-optional
-details="
-       Used as the start volume, before fading out to the fade out volume.
-"
-
-option "fa_mode" -
-#~~~~~~~~~~~~~~~~~
-"fall asleep afs mode."
-string typestr="afs_mode"
-default="m/fade"
-optional
-details="
-       Select this mode right after setting the volume. Example:
-       --fa_mode m/sleep
-"
-
-option "fa_fade" -
-#~~~~~~~~~~~~~~~~~
- "fall asleep fading time"
-int typestr="seconds"
-default="1800"
-optional
-details="
-       No fading if set to 0.
-"
-
-option "fa_vol" -
-#~~~~~~~~~~~~~~~~
- "volume to fade to"
-       int typestr="volume"
-       default="20"
-       optional
-
-option "sleep_mode" -
-#~~~~~~~~~~~~~~~~~~~~~~
-"sleep time afs mode"
-details = "
-       Select the given afs mode after the fade out is complete. If
-       unset, the \"stop\" command is sent to para_server.
-"
-string typestr="afs_mode"
-default="m/sleep"
-optional
-
-option "wake_hour" H
-#~~~~~~~~~~~~~~~~~~~
- "(0-23) (default: now + 9 hours)"
-       int typestr="hour"
-       optional
-
-option "wake_min" M
-#~~~~~~~~~~~~~~~~~~
-"(0-59)"
-       int typestr="minutes"
-       default="0"
-       optional
-
-option "wake_mode" -
-#~~~~~~~~~~~~~~~~~~~
-"wake time afs mode"
-string typestr="afs_mode"
-default="m/wake"
-optional
-details="
-       Change to this afs mode on waketime.
-"
-
-option "wake_fade" -
-#~~~~~~~~~~~~~~~~~~~
- "no fading in if set to 0"
-       int typestr="seconds"
-       default="1200"
-       optional
-
-option "wake_vol" -
-#~~~~~~~~~~~~~~~~~~
- "vol to fade to at waketime"
-       int typestr="volume"
-       default="80"
-       optional
-
-section "snooze options"
-########################
-
-option "snooze_out_fade" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~
- "fade out time"
-       int typestr="seconds"
-       default="30"
-       optional
-
-option "snooze_out_vol" -
-#~~~~~~~~~~~~~~~~~~~~~~~~
- "vol to fade to before snooze"
-       int typestr="volume"
-       default="20"
-       optional
-
-option "snooze_time" -
-#~~~~~~~~~~~~~~~~~~~~~
- "delay"
-       int typestr="seconds"
-       default="600"
-       optional
-
-option "snooze_in_fade" -
-#~~~~~~~~~~~~~~~~~~~~~~~~
- "fade in time"
-       int typestr="seconds"
-       default="180"
-       optional
-
-option "snooze_in_vol" -
-#~~~~~~~~~~~~~~~~~~~~~~~
- "vol to fade to after snooze"
-       int typestr="volume"
-       default="80"
-       optional
-
-section "fade options"
-######################
-
-option "fade_vol" f
-#~~~~~~~~~~~~~~~~~~
- "volume to fade to"
-       int typestr="volume"
-       default="50"
-       optional
-
-option "fade_time" t
-#~~~~~~~~~~~~~~~~~~~
- "time to fade in"
-       int typestr="seconds"
-       default="5"
-       optional
diff --git a/file_write.ggo b/file_write.ggo
deleted file mode 100644 (file)
index 56c44f7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-option "filename" f
-#~~~~~~~~~~~~~~~~~~
-"specify output file name"
-string typestr="filename"
-optional
-details="
-       Defaults to a random filename in ~/.paraslash.
-"
-
diff --git a/filter.ggo b/filter.ggo
deleted file mode 100644 (file)
index e3ac59a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
- "set loglevel (0-6)"
-int typestr="level"
-default="3"
-optional
-
-option "filter" f
-#~~~~~~~~~~~~~~~~
-"Specify filter."
-string typestr="filter_spec"
-optional
-multiple
-details="
-       May be given multiple times to 'pipe' the stream through
-       arbitrary many filters in an efficient way.  The same filter
-       may appear more than once, order matters.
-
-       Filter options may be specified for each '-f' option
-       separately. Note that you will have to quote these options
-       like this:
-
-               -f 'compress --inertia 5 --damp 2'
-"
diff --git a/fsck.ggo b/fsck.ggo
deleted file mode 100644 (file)
index eb7c627..0000000
--- a/fsck.ggo
+++ /dev/null
@@ -1,47 +0,0 @@
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-
-"set loglevel (0-6)"
-
-       int typestr="level"
-       default="2"
-       optional
-
-option "base_dir" b
-#~~~~~~~~~~~~~~~~~~
-"Full path to the database directory
-containing the table(s) to be checked.
-(default='~/.paraslash/afs_database'"
-
-       string typestr="path"
-       optional
-
-option "dump_dir" d
-#~~~~~~~~~~~~~~~~~~
-"If path is non-empty, para_fsck will write a
-dump of all given tables to the specified
-path."
-
-       string typestr="path"
-       optional
-       default=""
-
-option "no_fsck" n
-#~~~~~~~~~~~~~~~~~
-"Disable fsck mode."
-
-       flag off
-
-option "force" f
-#~~~~~~~~~~~~~~~
-"Force fsck even if the table is dirty.
-Ignored if -n is given."
-
-       flag off
-
-option "dry_run" -
-#~~~~~~~~~~~~~~~~~
-"Only report problems, don't try to fix them."
-
-       flag off
-
diff --git a/ggo/afh.ggo b/ggo/afh.ggo
new file mode 100644 (file)
index 0000000..056a34d
--- /dev/null
@@ -0,0 +1,122 @@
+text "
+para_afh, the audio format handler tool, is a stand-alone program
+contained in the paraslash package for analyzing and streaming audio
+files. It can be used to
+
+       - print tech info about the given audio file to stdout.
+       In particular, the 'chunk table' of the audio file, an array
+       of offsets within the audio file, may be printed. This table
+       can be used by other programs unaware of the particular audio
+       format to stream the audio file.
+
+       - write selected parts of the given audio file in complete
+       chunks without decoding. Thus para_afh can be used to 'cut'
+       an audio file.
+
+       - write selected parts of the given audio files 'just in time'
+       to sdout.  This may be useful for third-party software that
+       is capable of reading from stdin.
+"
+
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+int typestr="level"
+default="4"
+optional
+
+defgroup "mode"
+#--------------
+groupdesc="
+       There are two modes of operation: Info mode and stream mode,
+       one of which must be selected by the corresponding option.
+       See below.
+"
+required
+
+groupoption "info" i
+#~~~~~~~~~~~~~~~~~~~
+"select info mode"
+group="mode"
+details="
+       In this mode, the program prints technical information about
+       the given audio file to stdout.
+"
+
+groupoption "stream" s
+#~~~~~~~~~~~~~~~~~~~~~
+"select stream mode"
+group="mode"
+details="
+       If this mode is selected, the selected parts of the content
+       of the audio file are written to stdout. Only complete chunks
+       with respect of the underlying audio format are written.
+       For example, only complete frames in case of mp3 files.
+"
+
+section "Options for info mode"
+#==============================
+
+option "chunk_table" c
+#~~~~~~~~~~~~~~~~~~~~~
+"print also the chunk table"
+flag off
+dependon="info"
+
+section "Options for stream mode"
+#================================
+
+
+option "begin_chunk" b
+#~~~~~~~~~~~~~~~~~~~~~
+"skip a number of chunks"
+int typestr="chunk_num"
+default="0"
+dependon="stream"
+optional
+details="
+       The chunk_num argument must be between -num_chunks and
+       num_chunks - 1 inclusively where num_chunks is the total number
+       of chunks which is printed when using the --info option. If
+       chunk_num is negative, the given number of chunks are counted
+       backwards from the end of the file. For example --begin_chunk
+       -100 instructs para_afh to start output at chunk num_chunks
+       - 100. This is mainly useful for cutting off the end of an
+       audio file.
+"
+
+option "end_chunk" e
+#~~~~~~~~~~~~~~~~~~~
+"only write up to chunk chunk_num"
+int typestr="chunk_num"
+dependon="stream"
+optional
+details="
+       For the chunk_num argument the same rules as for --begin_chunk
+       apply.  The default is to write up to the last chunk.
+"
+
+option "just_in_time" j
+#~~~~~~~~~~~~~~~~~~~~~~
+"use timed writes"
+flag off
+dependon="stream"
+details="
+       Write the specified chunks of data 'just in time', i.e. the
+       write of each chunk is delayed until the time it is needed
+       by the decoder/player in order to guarantee an uninterupted
+       audio stream.
+"
+
+option "no_header" H
+#~~~~~~~~~~~~~~~~~~~
+"do not write an audio file header"
+flag off
+dependon="stream"
+details="
+       If an audio format needs information about the audio file
+       in a format-specific header in order to be understood by
+       the decoding software, a suitable header is automatically
+       send. This option changes the default behaviour, i.e. no
+       header is written.
+"
diff --git a/ggo/alsa_write.ggo b/ggo/alsa_write.ggo
new file mode 100644 (file)
index 0000000..84f49d5
--- /dev/null
@@ -0,0 +1,34 @@
+option "device" d
+#~~~~~~~~~~~~~~~~
+"set PCM device"
+string typestr="device"
+default="default"
+optional
+details="
+       On systems with dmix, a better choice than the default
+       value might be to use \"plug:swmix\".
+"
+
+option "channels" c
+#~~~~~~~~~~~~~~~~~~
+"specify number of channels"
+int typestr="num"
+default="2"
+optional
+details="
+       This option is only necessary for playing raw audio with
+       para_write.  In all other cases (plaing wav files with
+       para_write or using this writer with para_audiod), the number
+       of channels will be obtained from other resources.
+"
+
+option "samplerate" s
+#~~~~~~~~~~~~~~~~~~~~~
+"force given sample rate"
+int typestr="num"
+default="44100"
+optional
+details="
+       Again, it is only necessary to specify this when playing raw
+       audio with para_write.
+"
diff --git a/ggo/amp_filter.ggo b/ggo/amp_filter.ggo
new file mode 100644 (file)
index 0000000..865df3a
--- /dev/null
@@ -0,0 +1,17 @@
+option "amp" a
+#~~~~~~~~~~~~~
+"amplification value"
+int typestr="number"
+default="32"
+optional
+details="
+       The amplification value determines the scaling factor by
+       which the amplitude of the audio stream is multiplied. The
+       formula for the scaling factor is
+
+               factor = 1 + amp / 64.
+
+       For example, an amplifiction value of zero results in a
+       scaling factor of one while an amplification value of 64
+       means to double the volume.
+"
diff --git a/ggo/audioc.ggo b/ggo/audioc.ggo
new file mode 100644 (file)
index 0000000..87ef71e
--- /dev/null
@@ -0,0 +1,21 @@
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+       int typestr="level"
+       default="4"
+       optional
+
+
+option "socket" s
+#~~~~~~~~~~~~~~~~
+"well-known socket (default=/var/paraslash/audiod.socket.$HOSTNAME)"
+       string typestr="filename"
+       optional
+
+
+option "bufsize" b
+#~~~~~~~~~~~~~~~~~
+"size of internal buffer"
+       int typestr="bytes"
+       default="8192"
+       optional
diff --git a/ggo/audiod.ggo b/ggo/audiod.ggo
new file mode 100644 (file)
index 0000000..6048b87
--- /dev/null
@@ -0,0 +1,239 @@
+#########################
+section "General options"
+#########################
+
+text "
+       These options are identical to their counterparts in para_server
+       and are discussed in detail there.
+"
+
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+int typestr="level"
+default="3"
+optional
+
+option "color" C
+#~~~~~~~~~~~~~~~
+"activate color output"
+enum typestr="when"
+values = "yes","no","auto"
+default = "auto"
+optional
+
+option "log_color" -
+#~~~~~~~~~~~~~~~~~~~
+"select a color for one type of log message"
+string typestr="color_spec"
+multiple
+optional
+details="
+       Example: --log_color \"INFO:yellow black bold\"
+"
+
+option "config_file" c
+#~~~~~~~~~~~~~~~~~~~~~
+"(default='~/.paraslash/audiod.conf'"
+string typestr="filename"
+optional
+
+option "logfile" L
+#~~~~~~~~~~~~~~~~~
+"where to write log output"
+string typestr="filename"
+optional
+
+option "daemon" d
+#~~~~~~~~~~~~~~~~
+"run as background daemon"
+flag off
+dependon="logfile"
+
+option "user" u
+#~~~~~~~~~~~~~~
+"run as the given user"
+string typestr="name"
+optional
+
+option "group" g
+#~~~~~~~~~~~~~~~
+"set group id"
+string typestr="group"
+optional
+
+########################
+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 syncronized
+       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, once for each
+       supported audio format. The \"receiver_spec\" consists of
+       an audio format and the receiver name, separated by a colon,
+       and any options for that receiver, seperated by whitespace.
+       If any receiver options are present, the whole receiver
+       argument must be quoted.
+
+       Example:
+
+               -r 'mp3:http -i my.host.org -p 8009'
+"
+
+
+option "no_default_filters" D
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"Configure filters manually"
+flag off
+details="
+       If (and only if) this option is set, the --filter options
+       (see below) take effect.  Otherwise, the compiled-in default
+       filters mp3dec, oggdec and aacdec are activated for mp3, ogg,
+       aac streams respectively.
+"
+
+option "filter" f
+#~~~~~~~~~~~~~~~~
+"Use non-default filters"
+string typestr="filter_spec"
+optional
+multiple
+dependon="no_default_filters"
+details="
+       This option may be given multiple times. The \"filter_spec\"
+       consists of an audio format, the name of the filter, and any
+       options for that filter. Mote that order matters.
+
+       Examples:
+
+               --filter 'mp3:mp3dec'
+
+               --filter 'mp3:compress --inertia 5 --damp 2'
+
+"
+
+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:osx'
+
+"
+
+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 syncronizing the audio output of
+       different clients.
+"
diff --git a/ggo/client.ggo b/ggo/client.ggo
new file mode 100644 (file)
index 0000000..1d6b410
--- /dev/null
@@ -0,0 +1,9 @@
+# file client.conf
+args "--no-handle-error"
+option "hostname" i "ip or host to connect" string typestr="host" default="localhost" optional
+option "user" u "paraslash username" string typestr="username" default="<current user>" optional
+option "server_port" p "port to connect" int typestr="port" default="2990" optional
+option "key_file" k "(default='~/.paraslash/key.<user>')" string typestr="filename" optional
+option "loglevel" l "set loglevel (0-6)" int typestr="number" default="5" optional
+option "config_file" c "(default='~/.paraslash/client.conf')" string typestr="filename" optional
+option "plain" - "request an uncrypted session" flag off
diff --git a/ggo/compress_filter.ggo b/ggo/compress_filter.ggo
new file mode 100644 (file)
index 0000000..74dcbc0
--- /dev/null
@@ -0,0 +1,37 @@
+option "blocksize" b
+#~~~~~~~~~~~~~~~~~~~
+"adjust block size"
+int typestr="number"
+default="15"
+optional
+details = "
+       Larger blocksize means fewer volume adjustments per time unit.
+"
+
+option "aggressiveness" a
+#~~~~~~~~~~~~~~~~~~~~~~~~
+ "controls the maximum amount to amplify by"
+int typestr="number"
+default="4"
+optional
+
+option "inertia" i
+#~~~~~~~~~~~~~~~~~
+ "how much inertia ramping has"
+ int typestr="number"
+default="6"
+optional
+
+option "target_level" t
+#~~~~~~~~~~~~~~~~~~~~~~
+"target signal level (0-32768)"
+int typestr="number"
+default="20000"
+optional
+
+option "damp" d
+#~~~~~~~~~~~~~~
+"if non-zero, scale down after normalizing"
+int typestr="number"
+default="0"
+optional
diff --git a/ggo/dccp_recv.ggo b/ggo/dccp_recv.ggo
new file mode 100644 (file)
index 0000000..9717329
--- /dev/null
@@ -0,0 +1,13 @@
+option "host" i
+"ip or host"
+string default="localhost"
+optional
+details="
+       Both IPv4 and IPv6 addresses are supported.
+"
+
+option "port" p
+"port to connect to"
+int
+default="8000"
+optional
diff --git a/ggo/fade.ggo b/ggo/fade.ggo
new file mode 100644 (file)
index 0000000..388642e
--- /dev/null
@@ -0,0 +1,178 @@
+section "general options"
+#########################
+
+option "mode" o
+#~~~~~~~~~~~~~~
+"{sleep|fade|snooze}"
+string default="sleep"
+optional
+details="
+       para_fade knows these three different modes.
+
+       sleep mode: Change to the initial volume and an initial afs
+       mode, then fade the volume down until the fade out volume is
+       reached. Switch to the afs sleep mode until the wake time is
+       reached. Then switch to the afs wake mode and and fade in to
+       the wake volume.
+
+       fade: Fade the volume to the given value in the given time.
+
+       snooze: Fade out, sleep a bit and fade in.
+"
+
+option "config_file" c
+#~~~~~~~~~~~~~~~~~~~~~
+ "(default='~/.paraslash/fade.conf')"
+       string typestr="filename"
+       optional
+
+option "mixer_device" m
+#~~~~~~~~~~~~~~~~~~~~~~
+ "mixer device file"
+       string typestr="device"
+       default="/dev/mixer"
+       optional
+
+section "sleep options (only relevant in sleep mode)"
+#####################################################
+
+option "sleep_ivol" -
+#~~~~~~~~~~~~~~~~~~~~
+"set initial volume"
+int typestr="volume"
+default="60"
+optional
+details="
+       Used as the start volume, before fading out to the fade out volume.
+"
+
+option "fa_mode" -
+#~~~~~~~~~~~~~~~~~
+"fall asleep afs mode."
+string typestr="afs_mode"
+default="m/fade"
+optional
+details="
+       Select this mode right after setting the volume. Example:
+       --fa_mode m/sleep
+"
+
+option "fa_fade" -
+#~~~~~~~~~~~~~~~~~
+ "fall asleep fading time"
+int typestr="seconds"
+default="1800"
+optional
+details="
+       No fading if set to 0.
+"
+
+option "fa_vol" -
+#~~~~~~~~~~~~~~~~
+ "volume to fade to"
+       int typestr="volume"
+       default="20"
+       optional
+
+option "sleep_mode" -
+#~~~~~~~~~~~~~~~~~~~~~~
+"sleep time afs mode"
+details = "
+       Select the given afs mode after the fade out is complete. If
+       unset, the \"stop\" command is sent to para_server.
+"
+string typestr="afs_mode"
+default="m/sleep"
+optional
+
+option "wake_hour" H
+#~~~~~~~~~~~~~~~~~~~
+ "(0-23) (default: now + 9 hours)"
+       int typestr="hour"
+       optional
+
+option "wake_min" M
+#~~~~~~~~~~~~~~~~~~
+"(0-59)"
+       int typestr="minutes"
+       default="0"
+       optional
+
+option "wake_mode" -
+#~~~~~~~~~~~~~~~~~~~
+"wake time afs mode"
+string typestr="afs_mode"
+default="m/wake"
+optional
+details="
+       Change to this afs mode on waketime.
+"
+
+option "wake_fade" -
+#~~~~~~~~~~~~~~~~~~~
+ "no fading in if set to 0"
+       int typestr="seconds"
+       default="1200"
+       optional
+
+option "wake_vol" -
+#~~~~~~~~~~~~~~~~~~
+ "vol to fade to at waketime"
+       int typestr="volume"
+       default="80"
+       optional
+
+section "snooze options"
+########################
+
+option "snooze_out_fade" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+ "fade out time"
+       int typestr="seconds"
+       default="30"
+       optional
+
+option "snooze_out_vol" -
+#~~~~~~~~~~~~~~~~~~~~~~~~
+ "vol to fade to before snooze"
+       int typestr="volume"
+       default="20"
+       optional
+
+option "snooze_time" -
+#~~~~~~~~~~~~~~~~~~~~~
+ "delay"
+       int typestr="seconds"
+       default="600"
+       optional
+
+option "snooze_in_fade" -
+#~~~~~~~~~~~~~~~~~~~~~~~~
+ "fade in time"
+       int typestr="seconds"
+       default="180"
+       optional
+
+option "snooze_in_vol" -
+#~~~~~~~~~~~~~~~~~~~~~~~
+ "vol to fade to after snooze"
+       int typestr="volume"
+       default="80"
+       optional
+
+section "fade options"
+######################
+
+option "fade_vol" f
+#~~~~~~~~~~~~~~~~~~
+ "volume to fade to"
+       int typestr="volume"
+       default="50"
+       optional
+
+option "fade_time" t
+#~~~~~~~~~~~~~~~~~~~
+ "time to fade in"
+       int typestr="seconds"
+       default="5"
+       optional
diff --git a/ggo/file_write.ggo b/ggo/file_write.ggo
new file mode 100644 (file)
index 0000000..56c44f7
--- /dev/null
@@ -0,0 +1,9 @@
+option "filename" f
+#~~~~~~~~~~~~~~~~~~
+"specify output file name"
+string typestr="filename"
+optional
+details="
+       Defaults to a random filename in ~/.paraslash.
+"
+
diff --git a/ggo/filter.ggo b/ggo/filter.ggo
new file mode 100644 (file)
index 0000000..e3ac59a
--- /dev/null
@@ -0,0 +1,24 @@
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+ "set loglevel (0-6)"
+int typestr="level"
+default="3"
+optional
+
+option "filter" f
+#~~~~~~~~~~~~~~~~
+"Specify filter."
+string typestr="filter_spec"
+optional
+multiple
+details="
+       May be given multiple times to 'pipe' the stream through
+       arbitrary many filters in an efficient way.  The same filter
+       may appear more than once, order matters.
+
+       Filter options may be specified for each '-f' option
+       separately. Note that you will have to quote these options
+       like this:
+
+               -f 'compress --inertia 5 --damp 2'
+"
diff --git a/ggo/fsck.ggo b/ggo/fsck.ggo
new file mode 100644 (file)
index 0000000..eb7c627
--- /dev/null
@@ -0,0 +1,47 @@
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+
+"set loglevel (0-6)"
+
+       int typestr="level"
+       default="2"
+       optional
+
+option "base_dir" b
+#~~~~~~~~~~~~~~~~~~
+"Full path to the database directory
+containing the table(s) to be checked.
+(default='~/.paraslash/afs_database'"
+
+       string typestr="path"
+       optional
+
+option "dump_dir" d
+#~~~~~~~~~~~~~~~~~~
+"If path is non-empty, para_fsck will write a
+dump of all given tables to the specified
+path."
+
+       string typestr="path"
+       optional
+       default=""
+
+option "no_fsck" n
+#~~~~~~~~~~~~~~~~~
+"Disable fsck mode."
+
+       flag off
+
+option "force" f
+#~~~~~~~~~~~~~~~
+"Force fsck even if the table is dirty.
+Ignored if -n is given."
+
+       flag off
+
+option "dry_run" -
+#~~~~~~~~~~~~~~~~~
+"Only report problems, don't try to fix them."
+
+       flag off
+
diff --git a/ggo/grab_client.ggo b/ggo/grab_client.ggo
new file mode 100644 (file)
index 0000000..5527143
--- /dev/null
@@ -0,0 +1,33 @@
+option "filter_num" f
+       "point of filter chain to grab"
+       int typestr="num"
+       default="0"
+       optional
+
+option "slot" s
+       "only grab this slot; grab any slot if negative"
+       int typestr="num"
+       default="-1"
+       optional
+
+option "audio_format" a
+       "only grab this type of input stream;
+       grab any if empty"
+       string typestr="name"
+       default=""
+       optional
+
+option "input_grab" i
+       "grab the filter input instead of its output"
+       flag off
+
+option "one_shot" o
+       "stop grabbing if audio file changes"
+       flag off
+
+option "mode" m
+       "select grab mode"
+       typestr="grab_mode"
+       values="sloppy","aggressive","pedantic"
+       default="sloppy"
+       optional
diff --git a/ggo/gui.ggo b/ggo/gui.ggo
new file mode 100644 (file)
index 0000000..a90d1b4
--- /dev/null
@@ -0,0 +1,55 @@
+#------------------------
+section "general options"
+#------------------------
+
+option "config_file" c
+#~~~~~~~~~~~~~~~~~~~~~~
+"(default='~/.paraslash/gui.conf')"
+
+       string typestr="filename"
+       optional
+
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+ "set loglevel (0-6)"
+int typestr="level"
+default="3"
+optional
+details="
+       See \"para_server --detailed-help\" for the discussion of
+       loglevels.
+"
+
+option "timeout" t
+#~~~~~~~~~~~~~~~~~
+"set timeout"
+
+       int typestr="milliseconds"
+       default="30"
+       optional
+
+option "stat_cmd" s
+#~~~~~~~~~~~~~~~~~~
+"command to read server and audiod status
+data from"
+
+       string typestr="command"
+       default="para_audioc stat"
+       optional
+
+#---------------------------------
+section "mapping keys to commands"
+#---------------------------------
+
+option "key_map" k
+#~~~~~~~~~~~~~~~~~
+
+"Map key k to command c using mode m. Mode
+may be d, x or p for display, external and
+paraslash commands, respectively. Of course,
+this option may be given multiple times, one
+for each key mapping."
+
+       string typestr="k:m:c"
+       optional
+       multiple
diff --git a/ggo/http_recv.ggo b/ggo/http_recv.ggo
new file mode 100644 (file)
index 0000000..2f1b4d6
--- /dev/null
@@ -0,0 +1,15 @@
+option "host" i
+#~~~~~~~~~~~~~~
+"ip or host"
+string
+default="localhost"
+optional
+details="
+       Both IPv4 and IPv6 addresses are supported.
+"
+
+option "port" p
+#~~~~~~~~~~~~~~
+"tcp port to connect to"
+int default="8000"
+optional
diff --git a/ggo/mp3dec_filter.ggo b/ggo/mp3dec_filter.ggo
new file mode 100644 (file)
index 0000000..a34c30a
--- /dev/null
@@ -0,0 +1,22 @@
+option "bufsize" b
+#~~~~~~~~~~~~~~~~~
+"size of output buffer"
+int typestr="kilobyte"
+default="128"
+optional
+details="
+       Increase this if you encounter output buffer overrun
+       errors. Smaller values make the mp3dec filter use less
+       memory. The minimal size is 32K.
+"
+
+option "ignore-crc" i
+#~~~~~~~~~~~~~~~~~~~~
+"ignore CRC information in the audio stream."
+flag off
+details="
+       This causes frames with CRC errors to be decoded and played
+       anyway. This option is not recommended, but since some encoders
+       have been known to generate bad CRC information, this option
+       is a work-around to play streams from such encoders.
+"
diff --git a/ggo/oggdec_filter.ggo b/ggo/oggdec_filter.ggo
new file mode 100644 (file)
index 0000000..e2d653d
--- /dev/null
@@ -0,0 +1,21 @@
+option "bufsize" b
+#~~~~~~~~~~~~~~~~~
+"size of output buffer"
+int typestr="kilobyte"
+default="128"
+optional
+details="
+       Increase this if you encounter output buffer overrun errors. Smaller
+       values make the oggdec filter use less memory.
+"
+
+option "initial_buffer" i
+#~~~~~~~~~~~~~~~~~~~~~~~~
+"size of initial input buffer"
+int typestr="kilobyte"
+default="16"
+optional
+details="
+       On startup, defer decoding until that many kilobytes are
+       available in the input buffer.
+"
diff --git a/ggo/osx_write.ggo b/ggo/osx_write.ggo
new file mode 100644 (file)
index 0000000..ce2792e
--- /dev/null
@@ -0,0 +1,31 @@
+section "osx options"
+#####################
+
+option "channels" c
+#~~~~~~~~~~~~~~~~~~
+"number of channels (only neccessary for raw
+audio)"
+
+       int typestr="num"
+       default="2"
+       optional
+
+option "samplerate" s
+#~~~~~~~~~~~~~~~~~~~~~
+
+"force given sample rate (only neccessary for
+raw audio)"
+
+       int typestr="num"
+       default="44100"
+       optional
+
+option "numbuffers" n
+#~~~~~~~~~~~~~~~~~~~~~
+
+"number of audio buffers to allocate (increase if
+you get buffer underruns)"
+
+       int typestr="num"
+       default="5"
+       optional
diff --git a/ggo/recv.ggo b/ggo/recv.ggo
new file mode 100644 (file)
index 0000000..2f64761
--- /dev/null
@@ -0,0 +1,19 @@
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+int typestr="level"
+default="3"
+optional
+
+option "receiver" r
+"Select receiver"
+string typestr="receiver_spec"
+default="http"
+optional
+details="
+       Any options for the selected receiver must
+       be quoted. Example:
+
+               -r 'http -i www.paraslash.org -p 8009'
+"
+
diff --git a/ggo/server.ggo b/ggo/server.ggo
new file mode 100644 (file)
index 0000000..055dbc1
--- /dev/null
@@ -0,0 +1,398 @@
+#########################
+section "General options"
+#########################
+
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+int typestr="level"
+default="3"
+optional
+details="
+       Larger values mean less verbose output. Loglevel 0 (debug) gets
+       really noisy; a value of 1 (info) produces still noisy output,
+       but this won't fill up the disk quicky. Messaged logged with
+       loglevel 2 (notice) indicate normal but significant events
+       while level 3 (warning) logs unexpected events that can be
+       handled. Unhandled error conditions are logged with loglevel
+       4 (error) and crititcal errors are logged using loglevel 5
+       (crit). Finally, loglevel 6 (emerg) is reserved for messages
+       that cause para_server to terminate immediately.
+"
+
+option "color" C
+#~~~~~~~~~~~~~~~
+"activate color output"
+enum typestr="when"
+values = "yes","no","auto"
+default = "auto"
+optional
+
+option "log_color" -
+#~~~~~~~~~~~~~~~~~~~
+"select a color for one type of log message"
+string typestr="color_spec"
+multiple
+optional
+details="
+       The format of \"color_spec\" is [fg [bg]] [attr].
+
+       Valid colors for \"fg\" and \"bg\" are \"normal\", \"black\",
+       \"red\", \"green\", \"yellow\", \"blue\", \"magenta\",
+       \"cyan\", and \"white\".
+
+       The \"attr\" value must be one of \"bold\", \"dim\", \"ul\",
+       \"blink\", \"reverse\".
+
+       Examples:
+
+               --log_color \"debug:green\"
+               --log_color \"info:yellow bold\"
+               --log_color \"notice:white red bold\"
+"
+
+option "port" p
+#~~~~~~~~~~~~~~
+"listening port"
+int typestr="portnumber"
+default="2990"
+optional
+details="
+       para_server listens on this tcp port for incoming connections
+       from clients such as para_client. If the default port is
+       changed, the corresponding option of para_client must be used
+       to connect to para_server.
+"
+
+option "daemon" d
+#~~~~~~~~~~~~~~~~
+"run as background daemon"
+flag off
+dependon="logfile"
+details="
+       Note that para_server refuses to start in daemon mode if no
+       logfile was specified.
+"
+
+option "user" u
+#~~~~~~~~~~~~~~
+"run as the given user"
+string typestr="name"
+optional
+details="
+       para_server does not need any special privileges. If started
+       as root (EUID == 0) this option must be given at the command
+       line (not in the configuration file) so that para_server
+       can drop the root privileges right after parsing the command
+       line options, but before parsing the configuration file. In
+       this case, real/effective/saved UID are all set to the UID
+       of 'name'. As the configuration file is read afterwards,
+       those options that have a default value depending on the UID
+       (e.g. the directory for the configuration file) are computed
+       by using the uid of 'name'. This option has no effect if
+       para_server is started as a non-root user (i.e.  EUID != 0)
+"
+
+
+option "group" g
+#~~~~~~~~~~~~~~~
+"set group id"
+string typestr="group"
+optional
+details="
+       This option sets the group id according to 'group'. This option
+       is silently ignored if EUID != 0. Otherwise, real/effective
+       GID and the saved set-group ID are all set to the GID given by
+       'group'. Must not be given in the config file.
+"
+
+#############################
+section "Configuration files"
+#############################
+
+
+option "logfile" L
+#~~~~~~~~~~~~~~~~~
+"where to write log output"
+string typestr="filename"
+optional
+details="
+       If this option is not given, para_server writes the log
+       messages to to stderr
+"
+
+option "config_file" c
+#~~~~~~~~~~~~~~~~~~~~~
+"(default='~/.paraslash/server.conf'"
+string typestr="filename"
+optional
+details="
+       para_server reads its config file right after parsing
+       the options that were given at the command line. If an
+       option is given both at the command line and in the
+       config file, the value that was specified at the command line
+       takes precedence.
+"
+
+option "user_list" -
+#~~~~~~~~~~~~~~~~~~~
+"(default='~/.paraslash/server.users')"
+
+string typestr="filename"
+optional
+
+
+##################################
+section "virtual streaming system"
+##################################
+
+
+option "autoplay" a
+#~~~~~~~~~~~~~~~~~~
+"start playing on startup"
+flag off
+
+option "autoplay_delay" -
+#~~~~~~~~~~~~~~~~~~~~~~~~
+"time to wait before streaming"
+int typestr="ms"
+default="0"
+optional
+dependon="autoplay"
+details="
+       If para_server is started with the autoplay option, this option
+       may be used to set up a delay before para_server streams its
+       first audio file. This is useful for example if para_server
+       and para_audiod are started during system startup. The delay
+       time should be choosen large enough so that para_audiod is
+       already up when para_server starts to stream. Of course, this
+       option depends on the autoplay option.
+"
+option "announce_time" A
+#~~~~~~~~~~~~~~~~~~~~~~~
+"grace time for clients"
+
+int typestr="ms"
+default="300"
+optional
+details="
+       Clients such as para_audiod connect to para_server and execute
+       the stat command to find out whether an audio stream is
+       currently available. This sets the delay betweeen announcing
+       the stream via the output of the stat command and sending
+       the first chunk of data.
+"
+
+#############################
+section "audio file selector"
+#############################
+
+option "afs_database_dir" D
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"location of the database"
+string typestr="path"
+optional
+details="
+       Where para_server should look for the osl database of the audio
+       file selector. The default is '~/.paraslash/afs_database'.
+"
+
+option "afs_socket" s
+#~~~~~~~~~~~~~~~~~~~~
+"Command socket for afs"
+string typestr="path"
+default="/var/paraslash/afs_command_socket"
+optional
+details="
+       For each server command that is handled by the audio file
+       selector, the child process of para_server connects to the
+       audio file selector via a local socket. This option specifies
+       the location of that socket in the file system.
+"
+option "afs_initial_mode" i
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+"Mood or playlist to load on startup."
+string typestr="<specifier>/<name>"
+optional
+
+details="
+       The argument of this option must be prefixed with either 'p/'
+       or 'm/' to indicate whether a playlist or a mood should be
+       loaded. Example:
+               --afs_initial_mode p/foo
+       loads the playlist named 'foo'.
+"
+
+#####################
+section "http sender"
+#####################
+
+
+option "http_port" -
+#~~~~~~~~~~~~~~~~~~~
+"tcp port for http streaming"
+int typestr="portnumber"
+default="8000"
+optional
+details="
+       The http sender of para_server listens on this port for
+       incoming connections. Clients are expected to send the usual
+       http request message such as 'GET / HTTP/'.
+"
+
+option "http_default_deny" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"make the http ACL a whitelist"
+flag off
+details="
+       The default is to use blacklists instead, i.e. connections
+       to the http sender are allowed unless the connecting host
+       matches a pattern given by a http_access option. This allows
+       to use access control the other way round: Connections are
+       denied from hosts which are not explicitly allowed by one or
+       more http_access options.
+"
+
+option "http_access" -
+#~~~~~~~~~~~~~~~~~~~~~
+"add an entry to the http ACL"
+string typestr="a.b.c.d/n"
+optional
+multiple
+details="
+       Add given host/network to access control list (whitelist if
+       http_default_deny was given, blacklist otherwise) before
+       opening the tcp port. This option can be given multiple
+       times. Example: '192.168.0.0/24' whitelists/blacklists the
+       256 hosts 192.168.0.x
+"
+
+option "http_no_autostart" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"do not open tcp port on startup"
+flag off
+details="
+       If this option is given, the http sender does not listen on
+       its tcp port. It may be instructed to open this port at a
+       later time by using the sender command.
+"
+
+option "http_max_clients" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"maximal number of connections"
+int typestr="number"
+default="-1"
+optional
+details="
+       The http sender will refuse connections if already that number
+       of clients are currently connected. A non-positive value
+       (the default) allows an unlimited number of simultaneous
+       connections.
+"
+
+#####################
+section "dccp sender"
+#####################
+
+
+option "dccp_port" -
+#~~~~~~~~~~~~~~~~~~~
+"port for dccp streaming"
+int typestr="portnumber"
+default="8000"
+optional
+details="
+       See http_port for details.
+"
+
+option "dccp_default_deny" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"make the dccp ACL a whitelist"
+flag off
+details="
+       See http_default_deny for details.
+"
+
+option "dccp_access" -
+#~~~~~~~~~~~~~~~~~~~~~
+"add an entry to the dccp ACL"
+string typestr="a.b.c.d/n"
+optional
+multiple
+details="
+       See http_access for details.
+"
+
+option "dccp_max_clients" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"maximal number of connections"
+int typestr="number"
+default="-1"
+optional
+details="
+       See http_max_clients for details.
+"
+
+####################
+section "udp sender"
+####################
+
+option "udp_target" -
+#~~~~~~~~~~~~~~~~~~~~
+"add udp target"
+string typestr="a.b.c.d:p"
+optional
+multiple
+details="
+       Add given host/port to the list of targets.  This option
+       can be given multiple times. Example: '224.0.1.38:1500'
+       instructs the udp sender to send to udp port 1500 on host
+       224.0.1.38 (unassigned ip in the Local Network Control Block
+       224.0.0/24). This is useful for multicast streaming.
+"
+
+option "udp_no_autostart" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"do not start sending"
+flag off
+details="
+       If this option is given, udp streaming may be activated at
+       a later time by using the sender command.
+"
+
+option "udp_default_port" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"udp port to send to"
+int typestr="port"
+default="8000"
+optional
+
+option "udp_header_interval" H
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"duration for sending header"
+int typestr="ms"
+default="2000"
+optional
+details="
+       As the udp sender has no idea about connected clients it
+       sends the audio file header periodically if necessary. This
+       option is used to specify the duration of the interval between
+       sending the header. Shorter values decrease the average time
+       clients have to wait before being able to start playback,
+       but this also increases the amount network traffic. Note
+       that this affects only ogg vorbis streams as this is the only
+       audio format that needs an audio file header.
+"
+
+option "udp_ttl" t
+#~~~~~~~~~~~~~~~~~
+"set time to live value"
+int typestr="num"
+default="10"
+optional
+details="
+       This option instructs the udp sender to set the time to live to
+       \"num\" for the sending udp socket. Only useful for multicast
+       udp streaming.
+"
diff --git a/ggo/udp_recv.ggo b/ggo/udp_recv.ggo
new file mode 100644 (file)
index 0000000..6ad09f4
--- /dev/null
@@ -0,0 +1,13 @@
+option "host" i
+"ip or host to receive udp packets from"
+string default="224.0.1.38"
+optional
+details="
+       The default address resoves to DANTZ.MCAST.NET and activates
+       multicast.
+"
+
+option "port" p "udp port"
+int typestr="portnumber"
+default="8000"
+optional
diff --git a/ggo/write.ggo b/ggo/write.ggo
new file mode 100644 (file)
index 0000000..8f557bb
--- /dev/null
@@ -0,0 +1,35 @@
+option "loglevel" l
+#~~~~~~~~~~~~~~~~~~
+"set loglevel (0-6)"
+int typestr="level"
+default="4"
+optional
+
+option "bufsize" b
+#~~~~~~~~~~~~~~~~~
+"input buffer size"
+int typestr="kilobytes"
+default="64"
+optional
+
+option "writer" w
+#~~~~~~~~~~~~~~~~
+"select stream writer"
+string typestr="name"
+default="alsa (file if alsa is unsupported)"
+optional
+multiple
+details="
+       May be give multiple times. The same writer may be specified
+       more than once.
+"
+
+option "start_time" t
+#~~~~~~~~~~~~~~~~~~~~
+"defer playback"
+string typestr="timeval"
+optional
+details="
+       Start playback at given time which must be in a:b format where
+       a denotes seconds and b denotes microseconds since the epoch.
+"
diff --git a/grab_client.ggo b/grab_client.ggo
deleted file mode 100644 (file)
index 5527143..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-option "filter_num" f
-       "point of filter chain to grab"
-       int typestr="num"
-       default="0"
-       optional
-
-option "slot" s
-       "only grab this slot; grab any slot if negative"
-       int typestr="num"
-       default="-1"
-       optional
-
-option "audio_format" a
-       "only grab this type of input stream;
-       grab any if empty"
-       string typestr="name"
-       default=""
-       optional
-
-option "input_grab" i
-       "grab the filter input instead of its output"
-       flag off
-
-option "one_shot" o
-       "stop grabbing if audio file changes"
-       flag off
-
-option "mode" m
-       "select grab mode"
-       typestr="grab_mode"
-       values="sloppy","aggressive","pedantic"
-       default="sloppy"
-       optional
diff --git a/gui.ggo b/gui.ggo
deleted file mode 100644 (file)
index a90d1b4..0000000
--- a/gui.ggo
+++ /dev/null
@@ -1,55 +0,0 @@
-#------------------------
-section "general options"
-#------------------------
-
-option "config_file" c
-#~~~~~~~~~~~~~~~~~~~~~~
-"(default='~/.paraslash/gui.conf')"
-
-       string typestr="filename"
-       optional
-
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
- "set loglevel (0-6)"
-int typestr="level"
-default="3"
-optional
-details="
-       See \"para_server --detailed-help\" for the discussion of
-       loglevels.
-"
-
-option "timeout" t
-#~~~~~~~~~~~~~~~~~
-"set timeout"
-
-       int typestr="milliseconds"
-       default="30"
-       optional
-
-option "stat_cmd" s
-#~~~~~~~~~~~~~~~~~~
-"command to read server and audiod status
-data from"
-
-       string typestr="command"
-       default="para_audioc stat"
-       optional
-
-#---------------------------------
-section "mapping keys to commands"
-#---------------------------------
-
-option "key_map" k
-#~~~~~~~~~~~~~~~~~
-
-"Map key k to command c using mode m. Mode
-may be d, x or p for display, external and
-paraslash commands, respectively. Of course,
-this option may be given multiple times, one
-for each key mapping."
-
-       string typestr="k:m:c"
-       optional
-       multiple
diff --git a/http_recv.ggo b/http_recv.ggo
deleted file mode 100644 (file)
index 2f1b4d6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-option "host" i
-#~~~~~~~~~~~~~~
-"ip or host"
-string
-default="localhost"
-optional
-details="
-       Both IPv4 and IPv6 addresses are supported.
-"
-
-option "port" p
-#~~~~~~~~~~~~~~
-"tcp port to connect to"
-int default="8000"
-optional
diff --git a/mp3dec_filter.ggo b/mp3dec_filter.ggo
deleted file mode 100644 (file)
index a34c30a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-option "bufsize" b
-#~~~~~~~~~~~~~~~~~
-"size of output buffer"
-int typestr="kilobyte"
-default="128"
-optional
-details="
-       Increase this if you encounter output buffer overrun
-       errors. Smaller values make the mp3dec filter use less
-       memory. The minimal size is 32K.
-"
-
-option "ignore-crc" i
-#~~~~~~~~~~~~~~~~~~~~
-"ignore CRC information in the audio stream."
-flag off
-details="
-       This causes frames with CRC errors to be decoded and played
-       anyway. This option is not recommended, but since some encoders
-       have been known to generate bad CRC information, this option
-       is a work-around to play streams from such encoders.
-"
diff --git a/oggdec_filter.ggo b/oggdec_filter.ggo
deleted file mode 100644 (file)
index e2d653d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-option "bufsize" b
-#~~~~~~~~~~~~~~~~~
-"size of output buffer"
-int typestr="kilobyte"
-default="128"
-optional
-details="
-       Increase this if you encounter output buffer overrun errors. Smaller
-       values make the oggdec filter use less memory.
-"
-
-option "initial_buffer" i
-#~~~~~~~~~~~~~~~~~~~~~~~~
-"size of initial input buffer"
-int typestr="kilobyte"
-default="16"
-optional
-details="
-       On startup, defer decoding until that many kilobytes are
-       available in the input buffer.
-"
diff --git a/osx_write.ggo b/osx_write.ggo
deleted file mode 100644 (file)
index ce2792e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-section "osx options"
-#####################
-
-option "channels" c
-#~~~~~~~~~~~~~~~~~~
-"number of channels (only neccessary for raw
-audio)"
-
-       int typestr="num"
-       default="2"
-       optional
-
-option "samplerate" s
-#~~~~~~~~~~~~~~~~~~~~~
-
-"force given sample rate (only neccessary for
-raw audio)"
-
-       int typestr="num"
-       default="44100"
-       optional
-
-option "numbuffers" n
-#~~~~~~~~~~~~~~~~~~~~~
-
-"number of audio buffers to allocate (increase if
-you get buffer underruns)"
-
-       int typestr="num"
-       default="5"
-       optional
diff --git a/recv.ggo b/recv.ggo
deleted file mode 100644 (file)
index 2f64761..0000000
--- a/recv.ggo
+++ /dev/null
@@ -1,19 +0,0 @@
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-int typestr="level"
-default="3"
-optional
-
-option "receiver" r
-"Select receiver"
-string typestr="receiver_spec"
-default="http"
-optional
-details="
-       Any options for the selected receiver must
-       be quoted. Example:
-
-               -r 'http -i www.paraslash.org -p 8009'
-"
-
diff --git a/server.ggo b/server.ggo
deleted file mode 100644 (file)
index 055dbc1..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-#########################
-section "General options"
-#########################
-
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-int typestr="level"
-default="3"
-optional
-details="
-       Larger values mean less verbose output. Loglevel 0 (debug) gets
-       really noisy; a value of 1 (info) produces still noisy output,
-       but this won't fill up the disk quicky. Messaged logged with
-       loglevel 2 (notice) indicate normal but significant events
-       while level 3 (warning) logs unexpected events that can be
-       handled. Unhandled error conditions are logged with loglevel
-       4 (error) and crititcal errors are logged using loglevel 5
-       (crit). Finally, loglevel 6 (emerg) is reserved for messages
-       that cause para_server to terminate immediately.
-"
-
-option "color" C
-#~~~~~~~~~~~~~~~
-"activate color output"
-enum typestr="when"
-values = "yes","no","auto"
-default = "auto"
-optional
-
-option "log_color" -
-#~~~~~~~~~~~~~~~~~~~
-"select a color for one type of log message"
-string typestr="color_spec"
-multiple
-optional
-details="
-       The format of \"color_spec\" is [fg [bg]] [attr].
-
-       Valid colors for \"fg\" and \"bg\" are \"normal\", \"black\",
-       \"red\", \"green\", \"yellow\", \"blue\", \"magenta\",
-       \"cyan\", and \"white\".
-
-       The \"attr\" value must be one of \"bold\", \"dim\", \"ul\",
-       \"blink\", \"reverse\".
-
-       Examples:
-
-               --log_color \"debug:green\"
-               --log_color \"info:yellow bold\"
-               --log_color \"notice:white red bold\"
-"
-
-option "port" p
-#~~~~~~~~~~~~~~
-"listening port"
-int typestr="portnumber"
-default="2990"
-optional
-details="
-       para_server listens on this tcp port for incoming connections
-       from clients such as para_client. If the default port is
-       changed, the corresponding option of para_client must be used
-       to connect to para_server.
-"
-
-option "daemon" d
-#~~~~~~~~~~~~~~~~
-"run as background daemon"
-flag off
-dependon="logfile"
-details="
-       Note that para_server refuses to start in daemon mode if no
-       logfile was specified.
-"
-
-option "user" u
-#~~~~~~~~~~~~~~
-"run as the given user"
-string typestr="name"
-optional
-details="
-       para_server does not need any special privileges. If started
-       as root (EUID == 0) this option must be given at the command
-       line (not in the configuration file) so that para_server
-       can drop the root privileges right after parsing the command
-       line options, but before parsing the configuration file. In
-       this case, real/effective/saved UID are all set to the UID
-       of 'name'. As the configuration file is read afterwards,
-       those options that have a default value depending on the UID
-       (e.g. the directory for the configuration file) are computed
-       by using the uid of 'name'. This option has no effect if
-       para_server is started as a non-root user (i.e.  EUID != 0)
-"
-
-
-option "group" g
-#~~~~~~~~~~~~~~~
-"set group id"
-string typestr="group"
-optional
-details="
-       This option sets the group id according to 'group'. This option
-       is silently ignored if EUID != 0. Otherwise, real/effective
-       GID and the saved set-group ID are all set to the GID given by
-       'group'. Must not be given in the config file.
-"
-
-#############################
-section "Configuration files"
-#############################
-
-
-option "logfile" L
-#~~~~~~~~~~~~~~~~~
-"where to write log output"
-string typestr="filename"
-optional
-details="
-       If this option is not given, para_server writes the log
-       messages to to stderr
-"
-
-option "config_file" c
-#~~~~~~~~~~~~~~~~~~~~~
-"(default='~/.paraslash/server.conf'"
-string typestr="filename"
-optional
-details="
-       para_server reads its config file right after parsing
-       the options that were given at the command line. If an
-       option is given both at the command line and in the
-       config file, the value that was specified at the command line
-       takes precedence.
-"
-
-option "user_list" -
-#~~~~~~~~~~~~~~~~~~~
-"(default='~/.paraslash/server.users')"
-
-string typestr="filename"
-optional
-
-
-##################################
-section "virtual streaming system"
-##################################
-
-
-option "autoplay" a
-#~~~~~~~~~~~~~~~~~~
-"start playing on startup"
-flag off
-
-option "autoplay_delay" -
-#~~~~~~~~~~~~~~~~~~~~~~~~
-"time to wait before streaming"
-int typestr="ms"
-default="0"
-optional
-dependon="autoplay"
-details="
-       If para_server is started with the autoplay option, this option
-       may be used to set up a delay before para_server streams its
-       first audio file. This is useful for example if para_server
-       and para_audiod are started during system startup. The delay
-       time should be choosen large enough so that para_audiod is
-       already up when para_server starts to stream. Of course, this
-       option depends on the autoplay option.
-"
-option "announce_time" A
-#~~~~~~~~~~~~~~~~~~~~~~~
-"grace time for clients"
-
-int typestr="ms"
-default="300"
-optional
-details="
-       Clients such as para_audiod connect to para_server and execute
-       the stat command to find out whether an audio stream is
-       currently available. This sets the delay betweeen announcing
-       the stream via the output of the stat command and sending
-       the first chunk of data.
-"
-
-#############################
-section "audio file selector"
-#############################
-
-option "afs_database_dir" D
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"location of the database"
-string typestr="path"
-optional
-details="
-       Where para_server should look for the osl database of the audio
-       file selector. The default is '~/.paraslash/afs_database'.
-"
-
-option "afs_socket" s
-#~~~~~~~~~~~~~~~~~~~~
-"Command socket for afs"
-string typestr="path"
-default="/var/paraslash/afs_command_socket"
-optional
-details="
-       For each server command that is handled by the audio file
-       selector, the child process of para_server connects to the
-       audio file selector via a local socket. This option specifies
-       the location of that socket in the file system.
-"
-option "afs_initial_mode" i
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-"Mood or playlist to load on startup."
-string typestr="<specifier>/<name>"
-optional
-
-details="
-       The argument of this option must be prefixed with either 'p/'
-       or 'm/' to indicate whether a playlist or a mood should be
-       loaded. Example:
-               --afs_initial_mode p/foo
-       loads the playlist named 'foo'.
-"
-
-#####################
-section "http sender"
-#####################
-
-
-option "http_port" -
-#~~~~~~~~~~~~~~~~~~~
-"tcp port for http streaming"
-int typestr="portnumber"
-default="8000"
-optional
-details="
-       The http sender of para_server listens on this port for
-       incoming connections. Clients are expected to send the usual
-       http request message such as 'GET / HTTP/'.
-"
-
-option "http_default_deny" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"make the http ACL a whitelist"
-flag off
-details="
-       The default is to use blacklists instead, i.e. connections
-       to the http sender are allowed unless the connecting host
-       matches a pattern given by a http_access option. This allows
-       to use access control the other way round: Connections are
-       denied from hosts which are not explicitly allowed by one or
-       more http_access options.
-"
-
-option "http_access" -
-#~~~~~~~~~~~~~~~~~~~~~
-"add an entry to the http ACL"
-string typestr="a.b.c.d/n"
-optional
-multiple
-details="
-       Add given host/network to access control list (whitelist if
-       http_default_deny was given, blacklist otherwise) before
-       opening the tcp port. This option can be given multiple
-       times. Example: '192.168.0.0/24' whitelists/blacklists the
-       256 hosts 192.168.0.x
-"
-
-option "http_no_autostart" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"do not open tcp port on startup"
-flag off
-details="
-       If this option is given, the http sender does not listen on
-       its tcp port. It may be instructed to open this port at a
-       later time by using the sender command.
-"
-
-option "http_max_clients" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"maximal number of connections"
-int typestr="number"
-default="-1"
-optional
-details="
-       The http sender will refuse connections if already that number
-       of clients are currently connected. A non-positive value
-       (the default) allows an unlimited number of simultaneous
-       connections.
-"
-
-#####################
-section "dccp sender"
-#####################
-
-
-option "dccp_port" -
-#~~~~~~~~~~~~~~~~~~~
-"port for dccp streaming"
-int typestr="portnumber"
-default="8000"
-optional
-details="
-       See http_port for details.
-"
-
-option "dccp_default_deny" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"make the dccp ACL a whitelist"
-flag off
-details="
-       See http_default_deny for details.
-"
-
-option "dccp_access" -
-#~~~~~~~~~~~~~~~~~~~~~
-"add an entry to the dccp ACL"
-string typestr="a.b.c.d/n"
-optional
-multiple
-details="
-       See http_access for details.
-"
-
-option "dccp_max_clients" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"maximal number of connections"
-int typestr="number"
-default="-1"
-optional
-details="
-       See http_max_clients for details.
-"
-
-####################
-section "udp sender"
-####################
-
-option "udp_target" -
-#~~~~~~~~~~~~~~~~~~~~
-"add udp target"
-string typestr="a.b.c.d:p"
-optional
-multiple
-details="
-       Add given host/port to the list of targets.  This option
-       can be given multiple times. Example: '224.0.1.38:1500'
-       instructs the udp sender to send to udp port 1500 on host
-       224.0.1.38 (unassigned ip in the Local Network Control Block
-       224.0.0/24). This is useful for multicast streaming.
-"
-
-option "udp_no_autostart" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"do not start sending"
-flag off
-details="
-       If this option is given, udp streaming may be activated at
-       a later time by using the sender command.
-"
-
-option "udp_default_port" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"udp port to send to"
-int typestr="port"
-default="8000"
-optional
-
-option "udp_header_interval" H
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"duration for sending header"
-int typestr="ms"
-default="2000"
-optional
-details="
-       As the udp sender has no idea about connected clients it
-       sends the audio file header periodically if necessary. This
-       option is used to specify the duration of the interval between
-       sending the header. Shorter values decrease the average time
-       clients have to wait before being able to start playback,
-       but this also increases the amount network traffic. Note
-       that this affects only ogg vorbis streams as this is the only
-       audio format that needs an audio file header.
-"
-
-option "udp_ttl" t
-#~~~~~~~~~~~~~~~~~
-"set time to live value"
-int typestr="num"
-default="10"
-optional
-details="
-       This option instructs the udp sender to set the time to live to
-       \"num\" for the sending udp socket. Only useful for multicast
-       udp streaming.
-"
diff --git a/udp_recv.ggo b/udp_recv.ggo
deleted file mode 100644 (file)
index 6ad09f4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-option "host" i
-"ip or host to receive udp packets from"
-string default="224.0.1.38"
-optional
-details="
-       The default address resoves to DANTZ.MCAST.NET and activates
-       multicast.
-"
-
-option "port" p "udp port"
-int typestr="portnumber"
-default="8000"
-optional
diff --git a/write.ggo b/write.ggo
deleted file mode 100644 (file)
index 8f557bb..0000000
--- a/write.ggo
+++ /dev/null
@@ -1,35 +0,0 @@
-option "loglevel" l
-#~~~~~~~~~~~~~~~~~~
-"set loglevel (0-6)"
-int typestr="level"
-default="4"
-optional
-
-option "bufsize" b
-#~~~~~~~~~~~~~~~~~
-"input buffer size"
-int typestr="kilobytes"
-default="64"
-optional
-
-option "writer" w
-#~~~~~~~~~~~~~~~~
-"select stream writer"
-string typestr="name"
-default="alsa (file if alsa is unsupported)"
-optional
-multiple
-details="
-       May be give multiple times. The same writer may be specified
-       more than once.
-"
-
-option "start_time" t
-#~~~~~~~~~~~~~~~~~~~~
-"defer playback"
-string typestr="timeval"
-optional
-details="
-       Start playback at given time which must be in a:b format where
-       a denotes seconds and b denotes microseconds since the epoch.
-"