From: Andre Noll Date: Sat, 17 Jan 2009 18:22:14 +0000 (+0100) Subject: Move ggo files to a separate directory. X-Git-Tag: v0.3.4~75^2~3 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=35993f0cd49206666262cfdd2be89af41ec28a1d Move ggo files to a separate directory. --- diff --git a/Makefile.in b/Makefile.in index 30bc63fb..baae37b2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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,,$(. - - 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 index 1d6b410d..00000000 --- a/client.ggo +++ /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="" optional -option "server_port" p "port to connect" int typestr="port" default="2990" optional -option "key_file" k "(default='~/.paraslash/key.')" 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 index 74dcbc03..00000000 --- a/compress_filter.ggo +++ /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 index 9717329d..00000000 --- a/dccp_recv.ggo +++ /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 index 388642e5..00000000 --- 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 index 56c44f7a..00000000 --- a/file_write.ggo +++ /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 index e3ac59a2..00000000 --- a/filter.ggo +++ /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 index eb7c6275..00000000 --- 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 index 00000000..056a34da --- /dev/null +++ b/ggo/afh.ggo @@ -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 index 00000000..84f49d58 --- /dev/null +++ b/ggo/alsa_write.ggo @@ -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 index 00000000..865df3ac --- /dev/null +++ b/ggo/amp_filter.ggo @@ -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 index 00000000..87ef71e3 --- /dev/null +++ b/ggo/audioc.ggo @@ -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 index 00000000..6048b874 --- /dev/null +++ b/ggo/audiod.ggo @@ -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.. + + 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 index 00000000..1d6b410d --- /dev/null +++ b/ggo/client.ggo @@ -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="" optional +option "server_port" p "port to connect" int typestr="port" default="2990" optional +option "key_file" k "(default='~/.paraslash/key.')" 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 index 00000000..74dcbc03 --- /dev/null +++ b/ggo/compress_filter.ggo @@ -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 index 00000000..9717329d --- /dev/null +++ b/ggo/dccp_recv.ggo @@ -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 index 00000000..388642e5 --- /dev/null +++ b/ggo/fade.ggo @@ -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 index 00000000..56c44f7a --- /dev/null +++ b/ggo/file_write.ggo @@ -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 index 00000000..e3ac59a2 --- /dev/null +++ b/ggo/filter.ggo @@ -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 index 00000000..eb7c6275 --- /dev/null +++ b/ggo/fsck.ggo @@ -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 index 00000000..5527143b --- /dev/null +++ b/ggo/grab_client.ggo @@ -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 index 00000000..a90d1b4f --- /dev/null +++ b/ggo/gui.ggo @@ -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 index 00000000..2f1b4d61 --- /dev/null +++ b/ggo/http_recv.ggo @@ -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 index 00000000..a34c30ae --- /dev/null +++ b/ggo/mp3dec_filter.ggo @@ -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 index 00000000..e2d653d7 --- /dev/null +++ b/ggo/oggdec_filter.ggo @@ -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 index 00000000..ce2792e5 --- /dev/null +++ b/ggo/osx_write.ggo @@ -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 index 00000000..2f647613 --- /dev/null +++ b/ggo/recv.ggo @@ -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 index 00000000..055dbc10 --- /dev/null +++ b/ggo/server.ggo @@ -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="/" +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 index 00000000..6ad09f47 --- /dev/null +++ b/ggo/udp_recv.ggo @@ -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 index 00000000..8f557bb9 --- /dev/null +++ b/ggo/write.ggo @@ -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 index 5527143b..00000000 --- a/grab_client.ggo +++ /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 index a90d1b4f..00000000 --- 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 index 2f1b4d61..00000000 --- a/http_recv.ggo +++ /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 index a34c30ae..00000000 --- a/mp3dec_filter.ggo +++ /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 index e2d653d7..00000000 --- a/oggdec_filter.ggo +++ /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 index ce2792e5..00000000 --- a/osx_write.ggo +++ /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 index 2f647613..00000000 --- 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 index 055dbc10..00000000 --- a/server.ggo +++ /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="/" -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 index 6ad09f47..00000000 --- a/udp_recv.ggo +++ /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 index 8f557bb9..00000000 --- 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. -"