Move color logging code to daemon.c and use it also for para_audiod.
[paraslash.git] / audiod.ggo
1 #########################
2 section "General options"
3 #########################
4
5 text "
6 These options are identical to their counterparts in para_server
7 and are discussed in detail there.
8 "
9
10 option "loglevel" l
11 #~~~~~~~~~~~~~~~~~~
12 "set loglevel (0-6)"
13 int typestr="level"
14 default="3"
15 optional
16
17 option "color" C
18 #~~~~~~~~~~~~~~~
19 "activate color output"
20 enum typestr="when"
21 values = "yes","no","auto"
22 default = "auto"
23 optional
24
25 option "log_color" -
26 #~~~~~~~~~~~~~~~~~~~
27 "select a color for one type of log message"
28 string typestr="color_spec"
29 multiple
30 optional
31 details="
32 Example: --log_color \"INFO:yellow black bold\"
33 "
34
35 option "config_file" c
36 #~~~~~~~~~~~~~~~~~~~~~
37 "(default='~/.paraslash/audiod.conf'"
38 string typestr="filename"
39 optional
40
41 option "logfile" L
42 #~~~~~~~~~~~~~~~~~
43 "where to write log output"
44 string typestr="filename"
45 optional
46
47 option "daemon" d
48 #~~~~~~~~~~~~~~~~
49 "run as background daemon"
50 flag off
51 dependon="logfile"
52
53 option "user" u
54 #~~~~~~~~~~~~~~
55 "run as the given user"
56 string typestr="name"
57 optional
58
59 option "group" g
60 #~~~~~~~~~~~~~~~
61 "set group id"
62 string typestr="group"
63 optional
64
65 ########################
66 section "Audiod options"
67 ########################
68
69 option "force" F
70 #~~~~~~~~~~~~~~~
71 "force startup"
72 flag off
73 details="
74 If this flag is not given, para_audiod refuses to start if the
75 well-known socket file (see the --socket option) already exists
76 because this usually means that para_audiod is already running
77 and listening on that socket. After a crash or if para_audiod
78 received a SIGKILL signal, a stale socket file might remain and
79 you have to use --force once to force startup of para_audiod.
80 "
81
82 option "mode" m
83 #~~~~~~~~~~~~~~
84 "startup mode"
85 string typestr="mode"
86 default="on"
87 optional
88 details="
89 Para_audiod supports three modes of operation: On, off and
90 standby (sb). This option selects the mode that should be
91 used on startup. If para_audiod operates in \"on\" mode, it
92 will connect to para_server in order to receive its status
93 information. If para_server announces the availability of an
94 audio stream, para_audiod will automatically download, decode
95 and play the audio stream according to the given stream I/O
96 options, see below.
97
98 In \"standby\" mode, para_audiod will only receive the
99 status information from para_server but will not download
100 the audio stream.
101
102 In \"off\" mode, para_audiod does not connect para_server at
103 all, but still listens on the local socket for connections.
104 "
105
106 option "socket" s
107 #~~~~~~~~~~~~~~~~
108 "well-known socket"
109 string typestr="filename"
110 optional
111 details="
112 Para_audiod uses a \"well-known\" socket to listen
113 on for connections from para_audioc. This socket is a
114 special file in the file system; its location defaults to
115 /var/paraslash/audiod_sock.<host_name>.
116
117 para_audioc, the client program used to connect to para_audiod,
118 opens this socket in order to talk to para_audiod. If the
119 default value for para_audiod is changed, para_audioc must be
120 instructed to use also \"filename\" for connecting para_audiod.
121 "
122
123 option "user_allow" -
124 #~~~~~~~~~~~~~~~~~~~~
125 "allow this uid"
126 int typestr="uid"
127 default="-1"
128 optional
129 multiple
130 details="
131 Allow the user identified by \"uid\" to connect to para_audiod.
132 May be specified multiple times. If not specified at all,
133 all users are allowed to connect.
134
135 This feature requires unix socket credentials and is currently
136 only supported on Linux systems. On other operating systems,
137 the option is silently ignored and all local users are allowed
138 to connect to para_audiod.
139 "
140
141 option "clock_diff_count" -
142 #~~~~~~~~~~~~~~~~~~~~~~~~~~
143 "sync clock on startup"
144 int typestr="count"
145 default="0"
146 optional
147 details="
148 Check the clock difference between the host running para_server
149 and the local host running para_audiod that many times before
150 starting any stream I/0. Set this to non-zero for non-local
151 setups if the clocks of these two hosts are not syncronized
152 by ntp or similar.
153 "
154
155 #############################
156 section "Stream I/O options"
157 #############################
158
159 option "receiver" r
160 #~~~~~~~~~~~~~~~~~~
161 "select receiver"
162 string typestr="receiver_spec"
163 default="http"
164 optional
165 multiple
166 details="
167 This option may be given multiple times, once for each
168 supported audio format. The \"receiver_spec\" consists of
169 an audio format and the receiver name, separated by a colon,
170 and any options for that receiver, seperated by whitespace.
171 If any receiver options are present, the whole receiver
172 argument must be quoted.
173
174 Example:
175
176 -r 'mp3:http -i my.host.org -p 8009'
177 "
178
179
180 option "no_default_filters" D
181 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182 "Configure filters manually"
183 flag off
184 details="
185 If (and only if) this option is set, the --filter options
186 (see below) take effect. Otherwise, the compiled-in default
187 filters mp3dec, oggdec and aacdec are activated for mp3, ogg,
188 aac streams respectively.
189 "
190
191 option "filter" f
192 #~~~~~~~~~~~~~~~~
193 "Use non-default filters"
194 string typestr="filter_spec"
195 optional
196 multiple
197 dependon="no_default_filters"
198 details="
199 This option may be given multiple times. The \"filter_spec\"
200 consists of an audio format, the name of the filter, and any
201 options for that filter. Mote that order matters.
202
203 Examples:
204
205 --filter 'mp3:mp3dec'
206
207 --filter 'mp3:compress --inertia 5 --damp 2'
208
209 "
210
211 option "writer" w
212 #~~~~~~~~~~~~~~~~
213 "Specify stream writer."
214 string typestr="writer_spec"
215 optional
216 multiple
217 details="
218 May be given multiple times, even multiple times for the same
219 audio format. Default value is \"alsa\" for all supported
220 audio formats. Example:
221
222 --writer 'aac:osx'
223
224 "
225
226 option "stream_delay" -
227 #~~~~~~~~~~~~~~~~~~~~~~
228 "time for client sync"
229 int typestr="milliseconds"
230 default="200"
231 optional
232 details="
233 Add the given amount of milliseconds to the stream start time
234 announced by para_server and do not send data to the writer
235 before that time (modulo clock difference).
236
237 This is useful mainly for syncronizing the audio output of
238 different clients.
239 "