Implement para_afh: The stand-alone audio file handler.
[paraslash.git] / server.ggo
1 section "General options"
2 #~~~~~~~~~~~~~~~~~~~~~~~~
3
4 option "loglevel" l
5 #~~~~~~~~~~~~~~~~~~
6
7 "set loglevel (0-6)"
8
9         int typestr="level"
10         default="4"
11         optional
12
13 option "port" p
14 #~~~~~~~~~~~~~~
15
16 "listening port"
17
18         int typestr="portnumber"
19         default="2990"
20         optional
21
22 option "daemon" d
23 #~~~~~~~~~~~~~~~~
24
25 "run as background daemon"
26
27         flag off
28
29 option "user" u
30 #~~~~~~~~~~~~~~
31
32 "run as user 'name'. para_server does not
33 need any special privileges. If started as
34 root (EUID == 0) this option must be given at
35 the command line (not in the configuration
36 file) so that para_server can drop the root
37 privileges right after parsing the command
38 line options, but before parsing the
39 configuration file. In this case,
40 real/effective/saved UID are all set to the
41 UID of 'name'. As the configuration file
42 is read afterwards, those options that have a
43 default value depending on the UID (e.g. the
44 directory for the configuration file) are
45 computed by using the uid of 'name'.
46 This option has no effect if para_server is
47 started as a non-root user (i.e.  EUID != 0)"
48
49         string typestr="name"
50         optional
51
52
53 option "group" g
54 #~~~~~~~~~~~~~~~
55
56 "set group id to according to 'group'. This
57 option is silently ignored if EUID != 0.
58 Otherwise, real/effective GID and the saved
59 set-group ID are all set to the GID given by
60 'group'. Must not be given in the config file."
61
62         string typestr="group"
63         optional
64
65
66
67 section "Configuration files"
68 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69
70
71 option "logfile" L
72 #~~~~~~~~~~~~~~~~~
73
74 "(default=stdout/stderr)"
75
76         string typestr="filename"
77         optional
78
79 option "config_file" c
80 #~~~~~~~~~~~~~~~~~~~~~
81
82 "(default='~/.paraslash/server.conf'"
83
84         string typestr="filename"
85         optional
86
87 option "user_list" -
88 #~~~~~~~~~~~~~~~~~~~
89
90 "(default='~/.paraslash/server.users')"
91
92         string typestr="filename"
93         optional
94
95
96
97 section "virtual streaming system"
98 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100
101 option "autoplay" a
102 #~~~~~~~~~~~~~~~~~~
103
104 "start playing on startup"
105
106         flag off
107
108 option "autoplay_delay" -
109 #~~~~~~~~~~~~~~~~~~~~~~~~
110 "Time to wait before autoplay starts. Ignored if
111 autoplay is off."
112         int typestr="milliseconds"
113         default="0"
114         optional
115
116
117 option "announce_time" A
118 #~~~~~~~~~~~~~~~~~~~~~~~
119
120 "Delay betweeen announcing the stream and sending data"
121
122         int typestr="milliseconds"
123         default="300"
124         optional
125
126
127 #############################
128 section "audio file selector"
129 #############################
130
131 option "afs_database_dir" D
132 #~~~~~~~~~~~~~~~~~~~~~~~~~~
133
134 "Directory containing the osl database of the
135 audio file selector.
136 (default='~/.paraslash/afs_database'"
137
138         string typestr="path"
139         optional
140
141
142 option "afs_socket" s
143 #~~~~~~~~~~~~~~~~~~~~
144
145 "Command socket for the audio file selector"
146
147         string typestr="path"
148         default="/var/paraslash/afs_command_socket"
149         optional
150
151 option "afs_initial_mode" i
152 #~~~~~~~~~~~~~~~~~~~~~~~~~~
153
154 "Mood or playlist to load on startup. Must be
155 prefixed with either 'p/' or 'm/' to indicate
156 whether a playlist or a mood should be
157 loaded. Example:
158         --afs_initial_mode p/foo
159 loads the playlist named 'foo'."
160
161         string typestr="<specifier>/<name>"
162         optional
163
164
165 section "http sender"
166 #~~~~~~~~~~~~~~~~~~~~
167
168
169 option "http_port" -
170 #~~~~~~~~~~~~~~~~~~~
171
172 "tcp port for http streaming"
173
174         int typestr="portnumber"
175         default="8000"
176         optional
177
178 option "http_default_deny" -
179 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
180
181 "deny connections from hosts which are not
182 explicitly allowed"
183
184         flag off
185
186 option "http_access" -
187 #~~~~~~~~~~~~~~~~~~~~~
188
189 "Add given host/network to access control
190 list (whitelist if http_default_deny was
191 given, blacklist otherwise) before opening
192 the tcp port. This option can be given
193 multiple times. Example: '192.168.0.0/24'
194 whitelists/blacklists the 256 hosts
195 192.168.0.x"
196
197         string typestr="a.b.c.d/n"
198         optional
199         multiple
200
201 option "http_no_autostart" -
202 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
203
204 "do not open tcp port on server startup"
205
206         flag off
207
208 option "http_max_clients" -
209 #~~~~~~~~~~~~~~~~~~~~~~~~~~
210
211 "maximal simultaneous connections,
212 non-positive value means unlimited"
213
214         int typestr="number"
215         default="-1"
216         optional
217
218
219
220
221 section "dccp sender"
222 #~~~~~~~~~~~~~~~~~~~~
223
224
225 option "dccp_port" -
226 #~~~~~~~~~~~~~~~~~~~
227
228 "port for dccp streaming"
229
230         int typestr="portnumber"
231         default="8000"
232         optional
233
234 option "dccp_default_deny" -
235 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
236 "See http_default_deny"
237
238         flag off
239
240 option "dccp_access" -
241 #~~~~~~~~~~~~~~~~~~~~~
242 "See http_access"
243
244         string typestr="a.b.c.d/n"
245         optional
246         multiple
247
248 option "dccp_max_clients" -
249 #~~~~~~~~~~~~~~~~~~~~~~~~~~
250
251 "see http_max_clients"
252
253         int typestr="number"
254         default="-1"
255         optional
256
257
258 section "ortp sender"
259 #~~~~~~~~~~~~~~~~~~~~
260
261 option "ortp_target" -
262 #~~~~~~~~~~~~~~~~~~~~~
263
264 "Add given host/port to the list of targets.
265 This option can be given multiple times.
266 Example: '224.0.1.38:1500' instructs the ortp
267 sender to send to udp port 1500 on host
268 224.0.1.38 (unassigned ip in the Local
269 Network Control Block 224.0.0/24). This is
270 useful for LAN-streaming."
271
272         string typestr="a.b.c.d:p"
273         optional
274         multiple
275
276 option "ortp_no_autostart" -
277 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
278
279 "do not start to send automatically"
280
281         flag off
282
283 option "ortp_default_port" -
284 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
285
286 "default udp port if not specified"
287
288         int typestr="portnumber"
289         default="1500"
290         optional
291
292 option "ortp_header_interval" H
293 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
294
295 "time between extra header sends"
296
297         int typestr="milliseconds"
298         default="2000"
299         optional
300
301 option "ortp_jitter_compensation" j
302 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
303
304 "non-zero values enable ortp's adaptive
305 jitter compensation"
306
307         int typestr="milliseconds"
308         default="400"
309         optional