2 caption = list of server commands
3 aux_info_prefix = Permissions:
6 The server process listens on a network socket and accepts connections
7 from para_client or para_audiod. For the connection to succeed the
8 connecting peer must authenticate as one of the users stored in the
9 user table of para_server. Each entry of the user table contains the
10 set of permission bits that are granted to the user. Authenticated
11 users may execute one of the commands below if the set of permission
12 bits of the command is a subset of the permission bits that are
17 purpose = add or update audio files
18 non-opts-name = path...
19 aux_info = AFS_READ | AFS_WRITE
21 Each path must be absolute and refer to either an audio file or a
22 directory. In case of a directory, all audio files in that directory
23 are added recursively. Note that the given paths refer to files or
24 directories on the host on which para_server is running.
28 summary = add all files
30 The default is to add only files ending in a known suffix for a
31 supported audio format.
35 summary = add files lazily
37 If the path already exists in the database, skip this file. This
38 operation is really cheap. Useful to update large directories after
39 some files have been added.
43 summary = force adding/updating
45 Recompute the audio format handler data even if a file with the same
46 path and the same hash value exists.
50 summary = enable verbose mode
52 Print what is being done.
56 purpose = run integrity checks on database tables
59 If no options are given, all checks are run.
63 summary = run audio file table checks
65 Report stale paths and invalid image and lyrics ids of the audio
70 summary = check for invalid attributes
72 Report audio files whose attribute bitmask is invalid, i.e., has a bit
73 set which does not correspond to any attribute of the attribute table.
77 summary = check for invalid mood definitions
79 Run syntax checks on all moods of the mood table.
83 summary = find invalid paths in playlists
85 Check all playlists for paths not contained in the audio file table.
89 purpose = copy selected parts of the audio file selector info
90 non-opts-name = source pattern...
91 aux_info = AFS_READ | AFS_WRITE
93 If no option, or only --verbose is given, all fields of the audio
94 file selector info structure are copied to each row of the audio file
95 table whose path matches at least one of the given patterns. Otherwise,
96 only those fields which correspond to the given options are copied.
98 [option attribute-bitmap]
100 summary = copy the attribute bitmap
103 summary = copy the image id
106 summary = copy the lyrics id
109 summary = copy the lastplayed timestamp
112 summary = copy the numplayed counter
115 summary = enable verbose mode
118 purpose = jump N seconds forward or backward
120 aux_info = VSS_READ | VSS_WRITE
122 This sets the 'R' (reposition request) bit of the vss status flags
123 which enqueues a request to jump n seconds forwards or backwards.
129 jumps 30 seconds backwards.
134 purpose = list available commands or print command-specific help
135 non-opts-name = [command]
136 aux_info = NO_PERMISSION_REQUIRED
138 Without any arguments, help prints a list of available commands. When
139 called with a command name as first argument, it prints the description
144 purpose = reload config file, log file and user list
147 Reread the config file and the user list file, close and reopen the log
148 file, and ask the afs process to do the same. Sending the HUP signal
149 to the server process has the same effect as running this command.
153 purpose = initialize the database tables for the audio file selector
154 synopsis = [table_name...]
155 aux_info = AFS_READ | AFS_WRITE
157 When invoked without arguments, this command creates all
158 tables: audio_files, attributes, scores, moods, lyrics, images,
159 playlists. Otherwise only the given tables are created.
163 purpose = reposition the current stream
165 aux_info = VSS_READ | VSS_WRITE
167 Set the 'R' (reposition request) bit of the vss status flags and
168 enqueue a request to jump to n% of the current audio file, where 0 <=
173 purpose = list attributes
176 Print the list of all defined attributes which match the given
177 pattern. If no pattern is given, the full list is printed.
182 summary = sort attributes by id
184 The default is to sort alphabetically by name.
186 Attributes are internally represented as an 64 bit array. The attribute
187 id is the bit number in this array.
191 summary = print long listing
193 The long listing prints the attribute id in addition to the name of
194 the attribute. The id is printed as a decimal number and is separated
195 from the name by a tab character.
199 summary = reverse sort order
202 purpose = rename an attribute
203 synopsis = source dest
204 aux_info = AFS_READ | AFS_WRITE
206 Rename the attribute given by the first argument to the destination
207 given by the second argument. It is an error if the destination
212 purpose = close the stream and start to stream the next audio file
213 aux_info = VSS_READ | VSS_WRITE
215 Set the 'N' (next audio file) bit of the vss status flags. This
216 instructs the server to close the current stream, if any. The 'P'
217 (playing) bit is not modified by this command. If it is on, playing
218 continues with the next audio file.
220 This command is equivalent to stop if paused, and has no effect
225 purpose = stop playing after current audio file
226 aux_info = VSS_READ | VSS_WRITE
228 Set the 'O' (no more) bit of the vss status flags which asks
229 para_server to clear the 'P' (playing) bit after the 'N' (next audio
230 file) bit transitions from off to on (because the end of the current
231 audio file is reached). Use this command instead of stop if you don't
236 purpose = suspend the current stream
237 aux_info = VSS_READ | VSS_WRITE
239 Clear the 'P' (playing) bit of the vss status flags.
243 purpose = start or resume playback
244 aux_info = VSS_READ | VSS_WRITE
246 Set the 'P' (playing) bit of the vss status flags.
250 purpose = remove rows from the audio file table
251 non-opts-name = pattern...
252 aux_info = AFS_READ | AFS_WRITE
254 Remove all rows of the audio file table which match any of the given
255 patterns. Note that this affects only the database table; the command
256 won't touch your audio files on disk.
260 summary = print paths of deleted rows
263 summary = don't complain if nothing was removed
264 [option pathname-match]
266 summary = modify matching behaviour
268 Match a slash in the path only with a slash in pattern and not by an
269 asterisk (*) or a question mark (?) metacharacter, nor by a bracket
270 expression ([]) containing a slash (see fnmatch(3)).
274 purpose = remove attribute(s)
275 non-opts-name = pattern...
276 aux_info = AFS_READ | AFS_WRITE
278 Remove all attributes which match any given pattern. All information
279 about the removed attributes in the audio file table is lost.
283 purpose = control paraslash senders
284 synopsis = [sender cmd [arguments]]
285 aux_info = VSS_READ | VSS_WRITE
287 Send a command to a specific sender. The following commands are
288 available, but not all senders support every command.
290 help, on, off, add, delete, allow, deny, status.
292 The help command prints the help text of the given sender. If no
293 command is given the list of available senders is shown.
297 para_client sender http help
302 purpose = set or unset attributes
303 synopsis = attribute{+|-}... pattern...
304 aux_info = AFS_READ | AFS_WRITE
306 Set ('+') or unset ('-') the given attributes for all audio files
307 matching the given pattern. Example:
309 setatt rock+ punk+ pop- '*foo.mp3'
311 sets the 'rock' and the 'punk' attribute and unsets the 'pop' attribute
312 of all files ending with 'foo.mp3'.
316 purpose = print server info
317 aux_info = NO_PERMISSION_REQUIRED
319 Show server and afs PID, number of connections, uptime and more.
323 purpose = print information about the current audio file
327 summary = number of times to show the status info
328 arg_info = required_arg
332 Exit after the status information has been shown num times. If this
333 option is not given, the command runs in an endless loop.
335 [option parser-friendly]
337 summary = enable parser-friendly output
339 Show status item identifiers as numerical values and prefix each
340 status item with its size in bytes.
344 purpose = stop playback
345 aux_info = VSS_READ | VSS_WRITE
347 Clear the 'P' (playing) bit and set the 'N' (next audio file) bit of
348 the vss status flags, effectively stopping playback.
352 purpose = list active server tasks
353 aux_info = NO_PERMISSION_REQUIRED
355 For each task, print ID, status and name. This is mostly useful
360 purpose = ask the server to terminate
361 aux_info = VSS_READ | VSS_WRITE
363 Shut down the server. Instead of this command, you can also send
364 SIGINT or SIGTERM to the para_server process. It should never be
365 necessary to send SIGKILL.
369 purpose = print the git version string of para_server
370 aux_info = NO_PERMISSION_REQUIRED
373 summary = print detailed (multi-line) version text