Add command line options --mood and --playlist.
[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 option "selector" S
128 #~~~~~~~~~~~~~~~~~~
129
130 "(default=random)"
131
132 string typestr="name"
133 optional
134
135 #############################
136 section "audio file selector"
137 #############################
138
139 option "afs_database_dir" D
140 #~~~~~~~~~~~~~~~~~~~~~~~~~~
141
142 "Directory containing the osl database of the
143 audio file selector.
144 (default='~/.paraslash/afs_database'"
145
146 string typestr="path"
147 optional
148
149
150 option "afs_socket" s
151 #~~~~~~~~~~~~~~~~~~~~
152
153 "Command socket for the audio file selector"
154
155 string typestr="path"
156 default="/var/paraslash/afs_command_socket"
157 optional
158
159 option "mood" m
160 #~~~~~~~~~~~~~~
161
162 "Mood to load on startup."
163
164 string typestr="mood_name"
165 optional
166
167 option "playlist" P
168 #~~~~~~~~~~~~~~
169
170 "Playlist to load on startup. Ignored if
171 --mood is given as well."
172
173 string typestr="playlist_name"
174 optional
175
176 section "mysql selector"
177 #~~~~~~~~~~~~~~~~~~~~~~~
178
179
180 option "mysql_host" -
181 #~~~~~~~~~~~~~~~~~~~~
182
183 "mysql server"
184
185 string typestr="ip or hostname"
186 default="localhost"
187 optional
188
189 option "mysql_port" -
190 #~~~~~~~~~~~~~~~~~~~~
191
192 "where mysql is listening"
193
194 int typestr="portnumber"
195 default="3306"
196 optional
197
198
199 option "mysql_user" -
200 #~~~~~~~~~~~~~~~~~~~~
201
202 "default value: username from /etc/passwd"
203
204 string typestr="username"
205 optional
206
207 option "mysql_passwd" -
208 #~~~~~~~~~~~~~~~~~~~~~~
209
210 "(required)"
211
212 string
213 optional
214
215 option "mysql_database" -
216 #~~~~~~~~~~~~~~~~~~~~~~~~
217
218 "name of mysql database"
219
220 string
221 default="paraslash"
222 optional
223
224 option "mysql_audio_file_dir" -
225 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226
227 "dir to search for audio files (required)"
228
229 string typestr="dirname"
230 optional
231
232 option "mysql_default_score" -
233 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234
235 "scoring rule to use if stream definition
236 does not contain explicit score definition"
237
238 string
239 default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))"
240 optional
241
242
243
244
245 section "random selector"
246 #~~~~~~~~~~~~~~~~~~~~~~~~
247
248
249 option "random_dir" -
250 #~~~~~~~~~~~~~~~~~~~~
251
252 "dir to search for audio files"
253 string typestr="dirname"
254 default="/home/music"
255 optional
256
257
258
259
260 section "http sender"
261 #~~~~~~~~~~~~~~~~~~~~
262
263
264 option "http_port" -
265 #~~~~~~~~~~~~~~~~~~~
266
267 "tcp port for http streaming"
268
269 int typestr="portnumber"
270 default="8000"
271 optional
272
273 option "http_default_deny" -
274 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
275
276 "deny connections from hosts which are not
277 explicitly allowed"
278
279 flag off
280
281 option "http_access" -
282 #~~~~~~~~~~~~~~~~~~~~~
283
284 "Add given host/network to access control
285 list (whitelist if http_default_deny was
286 given, blacklist otherwise) before opening
287 the tcp port. This option can be given
288 multiple times. Example: '192.168.0.0/24'
289 whitelists/blacklists the 256 hosts
290 192.168.0.x"
291
292 string typestr="a.b.c.d/n"
293 optional
294 multiple
295
296 option "http_no_autostart" -
297 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
298
299 "do not open tcp port on server startup"
300
301 flag off
302
303 option "http_max_clients" -
304 #~~~~~~~~~~~~~~~~~~~~~~~~~~
305
306 "maximal simultaneous connections,
307 non-positive value means unlimited"
308
309 int typestr="number"
310 default="-1"
311 optional
312
313
314
315
316 section "dccp sender"
317 #~~~~~~~~~~~~~~~~~~~~
318
319
320 option "dccp_port" -
321 #~~~~~~~~~~~~~~~~~~~
322
323 "port for dccp streaming"
324
325 int typestr="portnumber"
326 default="5001"
327 optional
328
329
330
331
332 section "ortp sender"
333 #~~~~~~~~~~~~~~~~~~~~
334
335 option "ortp_target" -
336 #~~~~~~~~~~~~~~~~~~~~~
337
338 "Add given host/port to the list of targets.
339 This option can be given multiple times.
340 Example: '224.0.1.38:1500' instructs the ortp
341 sender to send to udp port 1500 on host
342 224.0.1.38 (unassigned ip in the Local
343 Network Control Block 224.0.0/24). This is
344 useful for LAN-streaming."
345
346 string typestr="a.b.c.d:p"
347 optional
348 multiple
349
350 option "ortp_no_autostart" -
351 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
352
353 "do not start to send automatically"
354
355 flag off
356
357 option "ortp_default_port" -
358 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
359
360 "default udp port if not specified"
361
362 int typestr="portnumber"
363 default="1500"
364 optional
365
366 option "ortp_header_interval" H
367 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368
369 "time between extra header sends"
370
371 int typestr="milliseconds"
372 default="2000"
373 optional
374
375 option "ortp_jitter_compensation" j
376 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
377
378 "non-zero values enable ortp's adaptive
379 jitter compensation"
380
381 int typestr="milliseconds"
382 default="400"
383 optional